Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 4 additions & 7 deletions docs-site/concepts/connectors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,14 @@ title: Connectors
description: Channels and tools for your pods
---

Open **Connectors** in Commonly. Channels carry messages between a pod and an
outside chat. Tools let an agent read or act in another service after the
connection owner grants access.
Open **Connectors** in Commonly. Tools let an agent read another service
after the connection owner grants access.

Slack and Telegram are channels; GitHub and Linear are tools.
Slack and Telegram are channels. Linear is a tool you can grant today.

| Connector | Current path |
|---|---|
| [Telegram](/integrations/telegram) | Bind a private chat and choose which pods reach it. |
| [Slack](/integrations/slack) | Authorize a workspace. |
| [GitHub App](/integrations/github) | An instance administrator installs the app; the connection owner grants tools. |
| GitHub App | An instance administrator installs the app. |
| [Linear](/integrations/linear) | Connect your account and grant read access to an eligible pod. |

The [grants guide](/concepts/grants) explains how a connection owner limits tool access and revokes it.
34 changes: 18 additions & 16 deletions docs/audits/claim-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,23 +106,25 @@ The connectors page is a first-touch page. A row marked `first-touch` in the Pag

| Page | Claim | Verdict | Evidence | Date |
|---|---|---|---|---|
| connectors (first-touch) | Open Connectors in Commonly | TRUE | `frontend/src/v2/components/V2NavRail.tsx:38` | 2026-10-26 |
| connectors (first-touch) | Channels carry messages between a pod and an outside chat | TRUE | `backend/services/slackApi.ts:69, :82`; `backend/routes/webhooks/telegram.ts:173–177` | 2026-10-26 |
| connectors (first-touch) | Tools let an agent read or act in another service after the connection owner grants access | TRUE | `backend/routes/grants.ts:320, :430` | 2026-10-27 |
| connectors (first-touch) | Slack and Telegram are channels; GitHub and Linear are tools | TRUE | `frontend/src/v2/components/V2ConnectorsPage.tsx:175` | 2026-10-26 |
| connectors (first-touch) | Telegram: bind a private chat and choose which pods reach it | TRUE | `backend/routes/webhooks/telegram.ts:173–177`; `frontend/src/v2/components/V2ConnectorsPage.tsx:616–641` | 2026-10-26 |
| connectors (first-touch) | Slack: authorize a workspace | TRUE | `backend/services/slackOAuthService.ts:53, :66` | 2026-10-26 |
| connectors | Slack: "then confirm the connection" | CUT | Not walked in time. This PR removes the sentence. | 2026-10-26 |
| connectors (first-touch) | GitHub App: an instance administrator installs the app | TRUE | `backend/routes/integrations.ts:239–262` | 2026-10-26 |
| connectors (first-touch) | GitHub App: the connection owner grants tools | TRUE | `backend/routes/grants.ts:320, :346` | 2026-10-26 |
| connectors | GitHub App on commonly.me: "limited to the instance's own repository" | CUT | Not walked in time. This PR removes the sentence. | 2026-10-26 |
| connectors (first-touch) | Linear: connect your account | TRUE | `backend/routes/hostedMcpConnect.ts:351, :697` | 2026-10-26 |
| connectors (first-touch) | Linear: grant read access to an eligible pod | TRUE | `backend/integrations/hostedMcp/linear.ts:28–31, :64, :92–93`; `backend/services/outsiderGrantPodEligibility.ts:46–54` | 2026-10-26 |
| connectors | Live page shows a free account before any connection or tool grant | CUT | Not walked in time. This PR removes the sentence. | 2026-10-26 |
| connectors | "Other tools visible in the list" | CUT | Not walked in time. This PR removes the sentence. | 2026-10-26 |
| connectors (first-touch) | Open Connectors in Commonly | WALKED | Prod, build 4fd217a, 2026-10-27, non-author, signed-in account. 390 and 1440 screenshots. File:line `frontend/src/v2/components/V2NavRail.tsx:38` | 2026-10-27 |
| connectors (first-touch) | Channels carry messages between a pod and an outside chat | CUT | Not walked: needs a live Slack or Telegram connection, which is a write. Cut 10-27 (TASK-014); restore on walk. | 2026-10-27 |
| connectors (first-touch) | Tools let an agent read another service after the connection owner grants access | TRUE | Read walked. Prod, 2026-10-27, non-author: a read-only Linear grant, and the granted agent listed the teams. No write grant was walked. Walked on prod 10-27, no screenshots; WALKED when the 390/1440 land. File:line `backend/routes/grants.ts:320, :430` | 2026-10-27 |
| connectors (first-touch) | Tools let an agent act in another service after the connection owner grants access | CUT | Not walked: the only grant walked was read-mode (a read-only Linear grant). Cut 10-27 (TASK-014); restore on a write-mode walk. | 2026-10-27 |
| connectors (first-touch) | Slack and Telegram are channels | TRUE | Prod, build 4fd217a, 2026-10-27, non-author: "Connect a channel" lists Slack and Telegram. Airtable also appears under Tools on prod; no docs page names it. Walked on prod 10-27, no screenshots; WALKED when the 390/1440 land. File:line `frontend/src/v2/components/V2ConnectorsPage.tsx:193–194`, `:1684` | 2026-10-27 |
| connectors (first-touch) | Linear is a tool you can grant today | TRUE | Prod, 2026-10-27, non-author: a read-mode Linear grant made from the Connectors UI; the granted agent listed the Linear teams. Walked on prod 10-27, no screenshots; WALKED when the 390/1440 land. File:line `backend/routes/hostedMcpConnect.ts:351, :697`; `backend/integrations/hostedMcp/linear.ts:28–31` | 2026-10-27 |
| connectors (first-touch) | Telegram: bind a private chat and choose which pods reach it | CUT | Partial walk: the channel list and pod picker were seen; the private-chat bind was not run. Cut 10-27 (TASK-014); the table row is removed. Restore on walk. | 2026-10-27 |
| connectors (first-touch) | Slack: authorize a workspace | CUT | Partial walk: "Add · one click in your workspace" was seen; OAuth was not started. Cut 10-27 (TASK-014); the table row is removed. Restore on walk. | 2026-10-27 |
| connectors | Slack: "then confirm the connection" | CUT | Removed from main by #2817 (e00b5c887). | 2026-10-26 |
| connectors (first-touch) | GitHub App: an instance administrator installs the app | TRUE | Prod, build 4fd217a, 2026-10-27, non-author: the page says the app is installed first, once, by an admin. Walked on prod 10-27, no screenshots; WALKED when the 390/1440 land. File:line `backend/routes/integrations.ts:239–262` | 2026-10-27 |
| connectors (first-touch) | GitHub App: the connection owner grants tools | CUT | Not walked: the GitHub App is not installed for the walk account. Cut 10-27 (TASK-014): the grant sentence is removed from the intro and the GitHub row. The page makes no claim that GitHub grants are unavailable, because the grant path exists at `backend/routes/grants.ts:346`. Restore on walk. | 2026-10-27 |
| connectors | GitHub App on commonly.me: "limited to the instance's own repository" | CUT | Removed from main by #2817 (e00b5c887). | 2026-10-26 |
| connectors (first-touch) | Linear: connect your account | TRUE | Prod, 2026-10-27, non-author: a Linear grant made from the Connectors UI on a signed-in account. Walked on prod 10-27, no screenshots; WALKED when the 390/1440 land. File:line `backend/routes/hostedMcpConnect.ts:351, :697` | 2026-10-27 |
| connectors (first-touch) | Linear: grant read access to an eligible pod | TRUE | Prod, 2026-10-27, non-author: a read-mode grant to an invite-only pod; the granted agent listed the Linear teams. Walked on prod 10-27, no screenshots; WALKED when the 390/1440 land. File:line `backend/integrations/hostedMcp/linear.ts:28–31, :64, :92–93`; `backend/services/outsiderGrantPodEligibility.ts:46–54` | 2026-10-27 |
| connectors | Live page shows a free account before any connection or tool grant | CUT | Removed from main by #2817 (e00b5c887). | 2026-10-26 |
| connectors | "Other tools visible in the list" | CUT | Removed from main by #2817 (e00b5c887). | 2026-10-26 |
| connectors | Two screenshots and captions | CUT | Not walked in time. The images stay in `docs-site/images` and are no longer referenced. | 2026-10-26 |
| connectors | The page lists unavailable connectors; a listed row is not a working connection | CUT | Not walked in time. This PR removes the paragraph. | 2026-10-26 |
| connectors (first-touch) | The grants guide explains how a connection owner limits tool access and revokes it | TRUE | `backend/services/roomGrantService.ts:324–373`; `backend/routes/grants.ts:480–501` | 2026-10-27 |
| connectors | The page lists unavailable connectors; a listed row is not a working connection | CUT | Removed from main by #2817 (e00b5c887). | 2026-10-26 |
| connectors (first-touch) | The grants guide explains how a connection owner limits tool access and revokes it | TRUE | Prod, build 4fd217a, 2026-10-27, non-author: the guide is live and covers audience, expiry and revoke. Walked on prod 10-27, 1440 screenshot only; WALKED when the 390 lands. File:line `backend/services/roomGrantService.ts:324–373`; `backend/routes/grants.ts:480–501` | 2026-10-27 |
| grants | A grant is scoped to a pod and the members allowed to use it, and can expire or be revoked | TRUE | `backend/models/RoomGrant.ts:28, :32–34` (target, audience snapshot, expiry); `backend/routes/grants.ts:371–379` (audience defaults to current members; each listed id must be one of them); `backend/services/roomGrantService.ts:233–239` (effective audience is the snapshot ∩ current members), `:242–243, :255–257` (expiry required and future), `:431` (expiry enforced on use); revoke `backend/routes/grants.ts:480–501`, `backend/services/roomGrantService.ts:390–396`, `backend/models/RoomGrant.ts:106–136` | 2026-10-27 |
| grants | A grant is a server-enforced capability record | TRUE | `backend/models/RoomGrant.ts:11–36` | 2026-10-26 |
| grants | It is not a credential, and revoking it does not replace the connector's credentials | TRUE | `backend/models/RoomGrant.ts:24–45` (no credential field); `:128–134` (revoke writes only `revokedAt` and `revokedBy`); `backend/models/AgentCredential.ts:41–58` | 2026-10-27 |
Expand Down
Loading