Integrations
Connect SpokeDo to GitHub, Slack, Notion, Linear, Trello, and other tools to automate downstream actions.
Integrations are the outbound side of SpokeDo. When an intent finishes analyzing a recording, the resulting insight is delivered through a configured integration connection.
Providers vs. Connections
The platform distinguishes two concepts:
- Provider — A supported third-party service (GitHub, Slack, Notion, Linear, Trello, etc.). Providers are managed centrally and exposed in
/integrations. - Connection — Your authorized link to a provider. You can have multiple connections per provider (e.g. a personal GitHub and a work GitHub) under
/integration-connections.
An intent must reference a specific connection — not just a provider — so the platform knows which credentials and target (repo, channel, database) to use.
Connecting a Provider
From Integrations:
- Browse the list of enabled providers, grouped by tabs
- Click Connect on the provider you want
- Complete the auth flow — most providers use OAuth and redirect back to SpokeDo on success
- Name the connection so you can pick it later when wiring intents
GitHub and Trello have dedicated connect components with provider-specific prompts (repo selection, board picker). All other providers use the generic OAuth flow.
Managing Connections
/integration-connections lists every connection you've authorized:
- Status —
active,expired, orerror - Last used — when an intent last delivered through this connection
- Config — provider-specific defaults (e.g. default repo, default Slack channel)
You can edit a connection's config, re-authorize an expired token, or delete connections you no longer use.
Delivery Logs
Every insight tracks the integration log for its delivery:
pending— queued for deliverysuccess— delivered, with anexternal_urllinking to the created issue/message/pagefailed— delivery threw an error; the message is shown on the insight detail pageskipped— the intent ran but the provider was set tonone
Best Practices
- Create separate connections for separate accounts rather than reconfiguring one
- Test new connections with a
downloadintent first, then switch the intent to the integration - Re-authorize promptly when a connection expires — paused intents won't catch up automatically