@continual/integrations v0.0.1-rc.8
@continual/integrations
This package provides integration modules for the Continual Agent Platform, allowing you to connect your agents with various third-party services and APIs.
Installation
As a Dependency
npm install @continual/integrations
# or
yarn add @continual/integrations
# or
pnpm add @continual/integrationsFor CLI Access (Global Installation)
npm install -g @continual/integrations
# or
yarn global add @continual/integrations
# or
pnpm add -g @continual/integrationsAfter installing globally, you can use the continual-apps command anywhere in your terminal.
Available Integrations
The package includes integrations with various services including:
- Coding
- Slack
- Linear
- GitHub
- Notion
- Google APIs
- Google Drive
- Gmail
- Calendar
- Meet transcripts
- Postgres
- SendGrid
- HubSpot
- And more...
Usage
Import and use app builder functions from the integrations package:
import {
createLinearWorkspaceApp,
createNotionMarkdownApp,
createGithubWorkspaceApp,
createGmailApp,
} from "@continual/integrations";
// Create a Linear app
const linearApp = createLinearWorkspaceApp();
// Create a Notion app
const notionApp = createNotionMarkdownApp();
// Create apps with configuration
const gmailApp = createGmailApp();Each integration exports app builder functions and configuration schemas that can be used with the Continual Agent SDK.
CLI Commands
The continual-apps command line tool provides utilities for working with Continual integrations
and apps.
continual-apps [options] <command>Global Options
-c, --cwd <directory>: Set the working directory
Note: When using integrations that require OAuth (like Google, Linear, GitHub), you'll need to set up the appropriate OAuth credentials. You may see "No credentials provided" warnings if these are missing. See the OAuth Credentials section below for details.
Available Commands
serve: Run an appserver with selected appslist: List all available apps that can be used with the serve command
Serve Command
The serve command allows you to run a Continual appserver with selected integrations apps.
continual-apps serve [options]Options
-p, --port <port>: The port to run the server on (default: "3456")-a, --apps <apps>: Comma-separated list of apps to include (default: "computerUse")-n, --networkproxy: Enable a network proxy to expose your local server to the internet-r, --register: Enable self-registration of apps (requires CONTINUAL_API_KEY environment variable)
Examples
Run with default apps (computerUse):
continual-apps serveRun with only the computerUse app:
continual-apps serve --apps computerUseRun with a custom port:
continual-apps serve --port 4000Run with network proxy (requires ngrok):
continual-apps serve --networkproxyRun with auto-registration enabled:
export CONTINUAL_API_KEY=your_api_key
continual-apps serve --registerApp Registration
When using the --register flag, the appserver will automatically register the running apps with
the Continual platform. This requires:
- Setting the
CONTINUAL_API_KEYenvironment variable with your Continual API key - The server must be accessible from the internet (consider using
--networkproxyfor local development)
If the CONTINUAL_API_KEY is not set when using --register, the command will exit with an error.
Using the Network Proxy
When you use the --networkproxy flag, the server uses ngrok to create a secure tunnel and expose
your local server to the internet. This is useful for:
- Testing webhooks that need to reach your local machine
- Sharing your development environment with remote collaborators
- Testing integrations that require a publicly accessible URL
- Enabling app registration in production workspace
To use this feature:
- Make sure you have an ngrok account and authtoken
- Set your ngrok authtoken as an environment variable:
export NGROK_AUTHTOKEN=your_ngrok_authtoken - Start the server with the proxy enabled:
continual-apps serve --networkproxy
The console will output the public URL that you can use to access your local server.
App Installation
When running the appserver without the --register flag:
- For built-in apps (like
computerUse), the server will display an installation URL that you can use to install the app in your Continual workspace - For custom apps, you'll need to manually register them through the Continual console or use the
--registerflag for automatic registration
The server will display clear instructions in the console for installing each app, including the server URL and installation URL where applicable.
List Command
The list command allows you to see all available apps that can be used with the serve command.
continual-apps list [options]Options
-j, --json: Output as JSON (useful for programmatic use)
Examples
List all available apps:
continual-apps listGet apps in JSON format:
continual-apps list --jsonDocumentation
For more detailed documentation on each integration, see the Continual documentation.
OAuth Credentials
When using the continual-apps CLI or any of the integration apps that require OAuth
authentication, you'll need to provide OAuth credentials for the respective services. The "No
credentials provided" messages you're seeing indicate that the necessary environment variables are
missing.
Required Environment Variables
Below are the environment variables needed for each OAuth-based integration:
Linear
# Option 1: Provide credentials as JSON data
LINEAR_OAUTH_CREDENTIALS_DATA={"clientId":"your-client-id","clientSecret":"your-client-secret"}
# Option 2: Provide path to a credentials file
LINEAR_OAUTH_CREDENTIALS_PATH=path/to/linear-credentials.json
# Required for webhook functionality
LINEAR_WEBHOOK_SECRET=your-webhook-secretGitHub
# Option 1: Provide credentials as JSON data
GITHUB_OAUTH_CREDENTIALS_DATA={"clientId":"your-client-id","clientSecret":"your-client-secret"}
# Option 2: Provide path to a credentials file
GITHUB_OAUTH_CREDENTIALS_PATH=path/to/github-credentials.json
# Required for GitHub App installation
GITHUB_APP_ID=your-app-id
GITHUB_APP_PRIVATE_KEY=your-private-key
GITHUB_WEBHOOK_SECRET=your-webhook-secretGoogle (Gmail, Calendar, Drive, etc.)
# Option 1: Provide credentials as JSON data
GOOGLE_OAUTH_CREDENTIALS_DATA={"web":{"client_id":"your-client-id","client_secret":"your-client-secret","redirect_uris":["your-redirect-uri"]}}
# Option 2: Provide path to a credentials file
GOOGLE_OAUTH_CREDENTIALS_PATH=path/to/google-credentials.jsonNotion
# Option 1: Provide credentials as JSON data
NOTION_OAUTH_CREDENTIALS_DATA={"clientId":"your-client-id","clientSecret":"your-client-secret"}
# Option 2: Provide path to a credentials file
NOTION_OAUTH_CREDENTIALS_PATH=path/to/notion-credentials.jsonHubSpot
# Option 1: Provide credentials as JSON data
HUBSPOT_OAUTH_CREDENTIALS_DATA={"clientId":"your-client-id","clientSecret":"your-client-secret"}
# Option 2: Provide path to a credentials file
HUBSPOT_OAUTH_CREDENTIALS_PATH=path/to/hubspot-credentials.jsonHow to Set Up
- Create a
.envfile in your project root or the location where you're running the CLI - Add the relevant environment variables from the list above
- Make sure to load the environment variables before running the CLI, for example:
source .env && continual-apps list
For Development Testing
When testing locally without real credentials, you can:
- Create stub/mock credentials for development
- Use the
dotenvpackage to load credentials from a.envfile - Pass credentials directly via command line or configuration files
Getting OAuth Credentials
Each service has its own process for obtaining OAuth credentials:
- Linear: Create an OAuth app in your Linear Developer Settings
- GitHub: Register an OAuth App in your GitHub Developer Settings
- Google: Create OAuth credentials in the Google Cloud Console
- Notion: Create an integration in the Notion Integrations dashboard
- HubSpot: Create an app in the HubSpot Developer Portal
License
See license file in the root of the project.
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago