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
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/v1/integrations/me | JWT | Get the user's connected integrations and actions |
| PATCH | /api/v1/integrations/accounts/:accountId/sharing | JWT | Update account sharing with teams |
| DELETE | /api/v1/integrations/:integrationSlug/actions/:actionName | JWT | Disconnect 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
Response fields:
| Field | Type | Description |
|---|---|---|
integrations | array | List of connected accounts |
userActions | array | List of available actions across all connected integrations |
Integration (connected account) fields:
| Field | Type | Description |
|---|---|---|
accountIdentifier | string | The account identifier (e.g. email address) |
integrationSlug | string | Integration slug (e.g. "google-workspace", "slack") |
baseUrl | string | null | Custom base URL (for self-hosted services) |
sharedTeamKeys | string[] | Teams this connected account is shared with |
User action fields:
| Field | Type | Description |
|---|---|---|
action.name | string | Action slug (e.g. "send-email") |
action.displayName | string | Human-readable action name |
action.description | string | Action description |
action.documentation | string[] | Documentation links |
action.notes | string | Additional notes |
group.name | string | Integration slug |
group.displayName | string | Integration display name |
group.description | string | Integration description |
group.notes | string | Additional 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
| Parameter | Type | Description |
|---|---|---|
accountId | string (UUID) | Connected account ID |
Request Body (JSON)
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
shareWithTeamKeys | string[] | Yes | [] | Team keys to share with. Pass [] to revoke all sharing. |
Response 200 OK
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
| Parameter | Type | Description |
|---|---|---|
integrationSlug | string | Integration slug (e.g. "google-workspace") |
actionName | string | Action name to disconnect, or "all" to disconnect all actions for this integration |
Response 200 OK
When disconnecting a specific action:
When disconnecting all actions (actionName = "all"):
| Field | Type | Description |
|---|---|---|
success | boolean | Always true on success |
message | string | Status message |
count | number | Number of actions disconnected (only for "all") |
Integration Slugs
Integration slugs are kebab-case identifiers matching the pattern ^[a-z0-9_-]+$. Examples:
google-workspaceslackgithubsalesforcemicrosoft-365
The available integrations are defined in the integration service's configuration files.