curl -X POST https://app.outlit.ai/api/tools/call \
-H "Authorization: Bearer ${OUTLIT_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"tool": "outlit_get_integration_capabilities",
"input": { "provider": "hubspot" }
}'
Integration tools
Negotiate setup, configure providers, and read canonical integration readiness.
curl -X POST https://app.outlit.ai/api/tools/call \
-H "Authorization: Bearer ${OUTLIT_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"tool": "outlit_get_integration_capabilities",
"input": { "provider": "hubspot" }
}'
Integration setup and status calls use
Older clients can continue using their existing integration reads. New clients should use
POST /api/tools/call. There are no public provider-credential or
disconnect REST routes. Send an Outlit bearer API key in the Authorization header; setup calls
for supported personal integrations use integrations:connect_own, while workspace or admin
setup uses integrations:manage. The Outlit server determines which authorization route applies to the setup
request.
Available tools
| Tool | Purpose |
|---|---|
outlit_get_integration_capabilities | Negotiate setup without sending credentials; preferredSetupVersion: 1 selects the preferred flow. |
outlit_setup_integration | Perform one bounded credential, configuration, or safe-handoff setup transition. |
outlit_get_integration_status | Return canonical configuration readiness for all providers or one provider. |
outlit_begin_integration_setup | Compatibility tool for starting an older browser handoff. |
outlit_get_integration_setup_status | Compatibility tool for polling an authentication session owned by the current actor. |
outlit_get_integration_status and outlit_setup_integration.
The generated OpenAPI specification and @outlit/tools
publicToolContracts contain the exact input and output schemas.
Preferred setup negotiation
Calloutlit_get_integration_capabilities with the provider first. Do not include credentials in
this request. When the result contains preferredSetupVersion: 1, call
outlit_setup_integration with the provider and, when requested, its generated
connectionMode, credentials, or configuration shape.
curl -X POST https://app.outlit.ai/api/tools/call \
-H "Authorization: Bearer ${OUTLIT_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"tool": "outlit_get_integration_capabilities",
"input": { "provider": "hubspot" }
}'
outlit_setup_integration returns the provider, its canonical status, an optional next
transition, and an optional stable error. Supported next transitions are:
browser_handofffor authentication, recovery, or provider-controlled external setupcrm_mappingwith the exact recommendation that can be confirmed and returnedmixpanel_mappingwith a preview used to choose and confirm an exact mapping
CREDENTIAL_REQUIRED, collect the provider’s declared credential shape through a secret-safe
channel and retry once. Never log, serialize into errors, or return submitted credentials. Browser
handoffs must remain on the configured Outlit origin and must not carry credential material in the
URL. Only authentication handoffs with a session ID use the compatibility status poll; recovery and
external-setup handoffs are terminal responses.
If preferredSetupVersion is absent or not 1, use the browser compatibility tools without sending
credentials or provider configuration.
Canonical readiness
outlit_get_integration_status returns exactly these configuration-readiness states:
| State | Meaning |
|---|---|
not_connected | No usable provider connection exists. |
awaiting_auth | Authentication must be completed. |
setup_required | Provider configuration or mapping remains. |
ready | Required authentication and configuration are complete. |
requires_intervention | Setup needs human attention or repair. |
ready is not evidence that sync, backfill, or data ingestion is complete. Consumers must not
compose the compatibility session status, raw provider state, or sync metadata into a different
readiness contract.Was this page helpful?
