Skip to main content
The CLI exposes two integration commands: outlit integrations setup and outlit integrations status. Both use the public tool gateway. Supported actor-owned setup uses an API key with integrations:connect_own; workspace or admin setup uses integrations:manage. Core determines which authorization route applies to each provider and request.

Integration setup

Setup begins with a secretless capabilities request. When Core advertises preferredSetupVersion: 1, the CLI continues through outlit_setup_integration. Older Core deployments retain the browser-handoff compatibility flow; the CLI never sends credentials or provider configuration to that fallback. Interactive setup can:
  • Prompt for a provider credential only after Core returns CREDENTIAL_REQUIRED. Secret prompts disable terminal echo.
  • Open a validated browser handoff on the configured Outlit origin. Authentication handoffs are polled for at most five minutes; recovery and external-setup handoffs are terminal.
  • Display a CRM recommendation and submit that exact mapping after confirmation.
  • Display a Mixpanel preview and submit the exact mapping selected by the user.
The state machine makes at most three setup calls. Repeated credential, authentication, or mapping transitions stop with SETUP_STALLED instead of prompting indefinitely. If a validated URL cannot be opened, the CLI prints it for the user without treating the setup response as a failure.
Setup has no provider-secret flags. Never place provider credentials directly in command-line arguments, where process listings and shell history can expose them.

Automation and JSON mode

Use --config-stdin to opt into reading exactly one strict JSON object from stdin. Its shape is provider-specific. For example, a Fireflies API key is supplied only through stdin:
An explicit HubSpot CRM mapping is likewise supplied as the generated CRM mapping shape:
The provider remains the positional CLI argument and is rejected inside the stdin document. Unknown top-level fields are also rejected. --config-stdin is explicit; ordinary piped stdin is not read. JSON mode never prompts, opens a browser, or polls. It returns the raw setup result for handoffs and configuration previews. If credentials are required but were not supplied through --config-stdin, the command exits nonzero with Core’s stable CREDENTIAL_REQUIRED error. For a CRM recommendation, --accept-recommended submits the exact recommendation from the current response. It conflicts with a custom CRM mapping supplied through stdin. A Mixpanel mapping must be supplied as an exact, confirmed configuration in headless mode. Expected provider credentials are never returned in command output. Handoff URLs must match the configured Outlit origin, use HTTPS except for loopback development, and contain no URL credentials, fragments, or secret-bearing query parameters.

Integration status

status calls outlit_get_integration_status and returns one of five configuration-readiness states: ready describes configuration readiness only. It does not promise that a sync or backfill has finished, that customer data is present, or that provider data is current. The status command does not expose browser-session, raw provider-state, sync, or action metadata. gmail is accepted as a CLI alias for google-mail.

Release dependency

Deploy the matching Core public-tool contract before publishing this SDK release. Until then, keep the SDK release on hold; the browser compatibility path is for older Core deployments, not a reason to publish the new generated contract early.