Skip to content

Integrations

Doable can talk to dozens of third-party SaaS products on your behalf. The agent uses these connections as tools β€” read your Notion docs to inform a build, post a Slack notification when a project is published, create a Linear ticket from a chat, etc.

Browsing the catalog

Workspace Settings β†’ Integrations β†’ Browse.

Categories (source):

Category Examples
AI / ML OpenAI, Anthropic, Together, Replicate, Hugging Face, Cohere, Perplexity
Communication Slack, Discord, Telegram, Microsoft Teams, Zoom
CRM / Marketing / Social HubSpot, Mailchimp, ConvertKit, Twitter/X, LinkedIn, Buffer
Developer tools GitHub, GitLab, Bitbucket, Linear, Jira, Sentry, Vercel, Netlify, Cloudflare
Finance / E-commerce Stripe, PayPal, Shopify, Square, QuickBooks, Plaid
Productivity Notion, Google Workspace (Drive, Docs, Sheets, Calendar), Airtable, Asana, Trello, Monday

The catalog is data-driven β€” to add a new one, see Contributing β†’ Add an Integration.

Connecting

  1. Click an integration.
  2. Click Connect. You'll be redirected through OAuth.
  3. Approve the requested scopes.
  4. You're returned to Doable with the connection saved.

The OAuth credentials are encrypted with your Doable instance's ENCRYPTION_KEY and stored in the database. The platform admins can see that you connected, never the raw token.

Per-workspace vs per-user

By default, integrations are workspace-scoped β€” once an admin connects Slack, every workspace member can use the Slack tools.

Some integrations support per-user mode (each member connects their own account). The integration's metadata (scope: 'user' vs scope: 'workspace') decides this.

Using integrations in chat

Once connected, the integration's tools appear in the agent's tool list automatically. You don't need to "switch on" anything β€” just ask the agent to do the thing:

  • β€œPost a message in #releases on Slack: 'v0.4 is live'”
  • β€œRead my Notion page titled 'Brand guidelines' and use it for the colors here”
  • β€œOpen a Linear ticket assigned to me when this build fails”

The agent picks the right tool based on the integration's exposed schema. Tool calls are policy-gated like any other β€” see Sandboxing.

Disconnecting

Workspace Settings β†’ Integrations β†’ Connected β†’ Disconnect. Tokens are revoked (where the provider supports it) and removed from the DB.

Webhooks from integrations

Some integrations register webhooks back into Doable when you connect them, so the agent can react to events (new Stripe customer, new Linear comment, GitHub push). See Webhooks API.

Audit & limits

Every integration tool call is logged in Workspace Settings β†’ Audit. You can:

  • Filter by integration.
  • Revoke specific tools without disconnecting the whole integration.
  • See the response payloads (truncated) for every call.

Your own integration

Two paths:

  1. MCP connector β€” if you already have an MCP server, just register it under Connectors. No code changes needed in Doable.
  2. First-class integration β€” add a definition under services/api/src/integrations/registry/. See Contributing β†’ Add an Integration.