Connect communication tools, analytics platforms, billing, and more from the terminal. Browser-auth providers open the browser for authentication; direct credential providers accept credentials through JSON config.
Use the Outlit web app to disconnect integrations. The CLI intentionally does not expose a destructive disconnect command.
Supported Providers
Browser Auth
| Provider | Category | CLI Name |
|---|
| HubSpot | CRM | hubspot |
| Attio | CRM | attio |
| Slack | Communication | slack |
| Gmail | Communication | gmail |
| Google Calendar | Calendar | google-calendar |
Direct Credentials
| Provider | Category | CLI Name | Required Fields |
|---|
| Stripe | Billing | stripe | apiKey |
| Fireflies | Calls | fireflies | apiKey |
| Pylon | Support | pylon | apiToken |
| PostHog | Analytics | posthog | apiKey, region, projectId |
| Supabase | Data | supabase | projectUrl, serviceRoleKey |
| Clerk | Auth | clerk | secretKey |
integrations list
List all available integrations and their connection status.
Examples
# Interactive table
outlit integrations list
# JSON for scripting
outlit integrations list --json
integrations capabilities
Inspect setup mode, required credential fields, supported commands, and follow-up steps before connecting a provider.
outlit integrations capabilities --json
outlit integrations capabilities hubspot --json
Use this first in agent flows. Browser-auth providers return setupMode: "browser_auth" and direct credential providers return setupMode: "direct_api_key" plus requiredFields.
integrations setup
Run the provider-owned setup flow.
outlit integrations setup hubspot --json
outlit integrations setup pylon --config '{"apiToken": "pylon_xxx"}' --json
Browser-auth providers open the browser and wait for authentication in interactive terminals. In JSON mode they return a connectUrl and sessionId instead. Show the URL to the user when browser approval is required, then poll with:
outlit integrations status --session <sessionId> --json
Direct credential providers do not create setup sessions. They validate and store the provider credentials through the platform API.
When --config is omitted, direct credential providers return the required fields as JSON:
{
"status": "config_required",
"provider": "posthog",
"requiredFields": [
{ "key": "apiKey", "label": "API Key", "secret": true },
{ "key": "region", "label": "Region", "secret": false },
{ "key": "projectId", "label": "Project ID", "secret": false }
]
}
The setup command is agent-first: pass --config explicitly rather than relying on interactive credential prompts.
Provider-specific follow-up commands come after the provider name, for example:
outlit integrations setup hubspot mappings --json
outlit integrations setup hubspot mappings --config '{"mappings":[...]}' --json
outlit integrations setup pylon webhooks --json
outlit integrations setup stripe webhooks --config '{"webhookSecret":"whsec_..."}' --json
CRM mapping setup returns config_required with available pipelines when --config is omitted, then saves mappings and starts CRM syncs when mappings are supplied. Webhook setup returns manual provider configuration details such as webhook URL, required headers, signing secret, required events, provider docs, and current status. These follow-up commands do not create sessionId; --session is only for browser-auth setup polling.
When capabilities mark a follow-up as unsupported, use Outlit platform settings for that step.
integrations status
Show sync status for connected integrations.
outlit integrations status [provider]
Examples
# Summary of all connected integrations
outlit integrations status
# Detailed per-model sync status for a provider
outlit integrations status stripe
JSON Response (detailed)
{
"provider": "stripe",
"syncs": [
{
"model": "Customers",
"status": "syncing",
"recordCount": 1250,
"lastSyncedAt": "2026-03-10T12:00:00Z"
}
]
}