Integration matrix¶
Reviewed: October 22, 2026, against the connector packages in packages/
and the production deployment (install counts as of October 21, 2026).
Status describes what a deployment can do today, not whether a package exists:
- Live — used on the production deployment (at least one install) and working end to end for the workflow in the table;
- Needs OAuth app — implemented and tested, but connecting requires the operator to register the provider's OAuth app and set its client id and secret in the API environment. There is no production install yet;
- Experimental — implemented and covered by automated tests, but there is no production install and no recorded live run. Do not rely on it in a user workflow yet.
The public site calls everything that is not Live "beta".
Status and authorization¶
| Integration | Status | Authorization | Production installs |
|---|---|---|---|
| GitLab | Live | Token paste: personal or project access token, base URL; Threadory generates the webhook secret when it installs the webhook | 6 |
| tl;dv | Live | Token paste: API key (Business plan required for meetings) | 8 |
| Todoist | Live | OAuth 2.0 per user (each member connects their own account) | 4 |
| Odoo | Live | Credentials paste: URL, database, login, password | 3 |
| Craft | Live | Token paste: API token | 3 |
| Telegram | Live | Bot token paste | 1 |
| Jira | Live | OAuth 2.0 (3LO) with Atlassian, shared project install | 1 |
| GitHub | Live | GitHub App: user authorizes during install, runtime uses short-lived installation tokens (ADR-0028) | 1 |
| Google Drive | Needs OAuth app | OAuth 2.0 (3LO) with Google, read-only scopes | 0 |
| Google Meet | Needs OAuth app | OAuth 2.0 (3LO) with Google, read-only scopes | 0 |
| Slack | Needs OAuth app | OAuth v2 bot token, signed Events API | 0 |
| Linear | Needs OAuth app | OAuth 2.0 with Linear | 0 |
| Zoom | Experimental | Token paste: Server-to-Server OAuth account id, client id and secret | 0 |
An OAuth connector whose client id and secret are not set on the deployment is
still listed on the connectors page, but its Connect action is disabled with
the note "Not available on this deployment", and the API answers 409 instead of
starting the flow. Token-paste connectors have no such prerequisite. The
variables are JIRA_OAUTH_*, GOOGLE_OAUTH_* (shared by Google Drive and
Google Meet), SLACK_OAUTH_*, LINEAR_OAUTH_*, TODOIST_OAUTH_* and
GITHUB_OAUTH_*, each as _CLIENT_ID and _CLIENT_SECRET; see .env.example.
What each connector reads, writes and feeds¶
| Integration | Synced into the knowledge base | Actions it can perform | Skills it feeds |
|---|---|---|---|
| GitLab | Merge requests with diffs and discussions, issues, repository files | Post and resolve MR comments, create issues, create merge requests | skill_pr_review, skill_pr_review_reply (merge requests); skill_jira_ticket_review, skill_jira_ticket_reply, skill_dejavu_detector (issues); skill_create_issue, skill_reconcile_meeting |
| GitHub | Pull requests with diffs, issues, repository files | Post and resolve PR comments, create issues | skill_pr_review, skill_pr_review_reply (pull requests); skill_dejavu_detector (issues); skill_create_issue, skill_reconcile_meeting |
| Jira | Tickets with comments and changelog | Post comments, create issues | skill_jira_ticket_review, skill_jira_ticket_reply, skill_dejavu_detector, skill_create_issue, skill_reconcile_meeting |
| Linear | Issues and comments | Create issues, post comments | skill_jira_ticket_review, skill_jira_ticket_reply, skill_dejavu_detector, skill_create_issue, skill_reconcile_meeting |
| Todoist | Tasks | Create tasks, close tasks | skill_dejavu_detector, skill_create_issue, skill_reconcile_meeting |
| Odoo | Helpdesk tickets, projects, project tasks (polling) | Post ticket messages, create tasks, update task state, sync users | skill_dejavu_detector, skill_create_issue, skill_reconcile_meeting |
| tl;dv | Meetings, transcripts, summaries and action items (polling) | Sync users | skill_meeting_notes, skill_reconcile_meeting |
| Google Meet | Conference records, transcript entries and smart notes (polling, read-only) | None | skill_meeting_notes |
| Zoom | Cloud recordings, VTT transcripts and AI Companion summaries | Sync users | skill_meeting_notes |
| Craft | Documents from selected folders (polling) | Append blocks and post comments, only in read_write permission mode |
Retrieval for skill_ask |
| Google Drive | Docs, Sheets, Slides, PDF, text and Markdown files from selected folders | None | Retrieval for skill_ask |
| Slack | Channel and thread messages | Post messages | Retrieval for skill_ask |
| Telegram | Nothing: chat history is not imported | Send and edit messages, answer callbacks | skill_telegram_qa, notifications and the weekly digest |
Ticket triage (skill_odoo_task_triage) is inactive as of 2026-10-27. Automatic
team, priority, and effort proposals are unavailable; ticket / issue review
continues to work. The implementation is retained for future redesign.
The Odoo connector actions listed above remain available; the inactive triage
skill no longer invokes the ticket-message action.
Skills that work over everything already indexed — skill_ask,
skill_project_summary, skill_decision_drift — use whichever connectors a
project has; they are not tied to one.
Notes¶
jira_ticket_reviewis a production skill: the production deployment ran 558 runs in 28 days across 6 projects. The skill binds to ticket and issue entities, not to a connector, so that run count is not a count of Jira installs (see the install column above).- GitHub is a GitHub App, not a plain OAuth App. The operator creates one App
per deployment and sets
GITHUB_APP_IDand the private key on both the API and the worker; the OAuth client pair only drives the authorization step of the install. Signing in with GitHub is a separate setting (GITHUB_CLIENT_ID/GITHUB_CLIENT_SECRET, read by the web service). - Google Meet code and automated tests were reviewed on October 6, 2026. No live Google Meet verification was performed.
- Slack and Linear OAuth flows are implemented, but no deployment has registered their apps; treat them as unproven against a live workspace.
- Skills act on entity kinds and capabilities, not on connector names, so a second connector that provides the same kind and capability feeds the same skills. This is why the ticket review skills, despite their name, also run on GitLab issues and Linear issues; only the review lens differs (Jira defaults to the business lens, everything else to the technical one).
A connector guide describes setup; it does not make a connector Live. Only a production install and a recorded run do, and the capabilities of a connector that is not Live are not promised until then.