Integrations

Documentation for Integrations

Base path: /api/v1/integrations

Integrations represent connected third-party services (OAuth2-based). Users connect their accounts to these services, and the platform manages access tokens. Each integration has actions (specific operations) that workflows can use.


Endpoints Overview

MethodPathAuthDescription
GET/api/v1/integrations/meJWTGet the user's connected integrations and actions
PATCH/api/v1/integrations/accounts/:accountId/sharingJWTUpdate account sharing with teams
DELETE/api/v1/integrations/:integrationSlug/actions/:actionNameJWTDisconnect an integration action

GET /api/v1/integrations/me

Returns the authenticated user's connected OAuth2 accounts and their available actions.

Authentication

Requires JWT. The x-active-org header is used to determine organization context.

Response 200 OK

json

Response fields:

FieldTypeDescription
integrationsarrayList of connected accounts
userActionsarrayList of available actions across all connected integrations

Integration (connected account) fields:

FieldTypeDescription
accountIdentifierstringThe account identifier (e.g. email address)
integrationSlugstringIntegration slug (e.g. "google-workspace", "slack")
baseUrlstring | nullCustom base URL (for self-hosted services)
sharedTeamKeysstring[]Teams this connected account is shared with

User action fields:

FieldTypeDescription
action.namestringAction slug (e.g. "send-email")
action.displayNamestringHuman-readable action name
action.descriptionstringAction description
action.documentationstring[]Documentation links
action.notesstringAdditional notes
group.namestringIntegration slug
group.displayNamestringIntegration display name
group.descriptionstringIntegration description
group.notesstringAdditional notes

PATCH /api/v1/integrations/accounts/:accountId/sharing

Updates the team sharing configuration for a connected OAuth2 account. Replaces the current sharing list.

Authentication

Requires JWT.

Path Parameters

ParameterTypeDescription
accountIdstring (UUID)Connected account ID

Request Body (JSON)

FieldTypeRequiredDefaultDescription
shareWithTeamKeysstring[]Yes[]Team keys to share with. Pass [] to revoke all sharing.
json

Response 200 OK

json

DELETE /api/v1/integrations/:integrationSlug/actions/:actionName

Disconnects a specific action (or all actions) for an integration. This revokes the stored OAuth2 tokens for that action scope.

Authentication

Requires JWT.

Path Parameters

ParameterTypeDescription
integrationSlugstringIntegration slug (e.g. "google-workspace")
actionNamestringAction name to disconnect, or "all" to disconnect all actions for this integration

Response 200 OK

When disconnecting a specific action:

json

When disconnecting all actions (actionName = "all"):

json
FieldTypeDescription
successbooleanAlways true on success
messagestringStatus message
countnumberNumber of actions disconnected (only for "all")

Integration Slugs

Integration slugs are kebab-case identifiers matching the pattern ^[a-z0-9_-]+$. Examples:

  • google-workspace
  • slack
  • github
  • salesforce
  • microsoft-365

The available integrations are defined in the integration service's configuration files.

api-docs/integrations