Claude Tag deployment
What was executed on 2026-07-12, against the personal claude.ai org (c38224f8-0e34-45c0-abee-739f89331d6a, Max 20x): the Claude for Slack app installed into opencoworkers.slack.com in legacy per-user mode, smoke-tested, and its connector surface inventoried. The boundary in one sentence: everything on this page runs as the legacy per-user Claude-in-Slack bot on a personal account, because Claude Tag itself — channel agent identity, Access bundles, spend limits — requires a Team or Enterprise workspace.
Both halves of that boundary were observed live on 2026-07-12, not assumed:
"Claude Tag is set up from a Claude Team or Enterprise workspace. You may be signed in to a personal account."
— claude.ai/admin-settings/claude-tag, verbatim
"Using the legacy Claude in Slack bot. Ask your Claude workspace owner to enable Claude Tag."
— the prefix on the bot's own smoke-test reply in #subagentjobs, verbatim
Deprecation caveat, per the mirrored migrate-from-earlier doc: the legacy per-user app "is being deprecated; check with your account team for the cutover date." Documented here rather than hidden.
Setup sequence
| step | status | evidence |
|---|---|---|
| Install the Claude for Slack app | done | Installed 2026-07-12 into opencoworkers.slack.com (team T0BF77EFS5C) via api.anthropic.com/integrations/v1/slack/install; bot user U0BF3154YRH. A prior install existed 2026-07-05 (hello message in #subagentjobs). |
| Link a claude.ai account | done legacy per-user mode | The personal claude.ai account (admin@jadecli.com, org c38224f8-0e34-45c0-abee-739f89331d6a, Max 20x) auto-linked. Home tab: Model = Opus; Routing Mode set to "Code + Chat" this pass. |
| Smoke test | done | @Claude summarize this channel in #subagentjobs (C0BF30ESR99) returned a real, accurate summary — prefixed verbatim: "Using the legacy Claude in Slack bot. Ask your Claude workspace owner to enable Claude Tag." |
| Connectors | partial | 7 of 21 rows connected_personal, 3 blocked_on_operator_signin (the Cloudflare MCPs), 11 runbook_only. Full matrix below. |
| GitHub | done code path: no change needed | The Claude GitHub App was already installed on the opencoworkers org (installation 139154836, repository_selection=all; verified via gh api /orgs/opencoworkers/installations). GitHub's Slack notification app subscribed 2026-07-12 — see the two-apps block below. |
| Enable Claude Tag | blocked on team plan | claude.ai/admin-settings/claude-tag, live 2026-07-12: "Claude Tag is set up from a Claude Team or Enterprise workspace. You may be signed in to a personal account." |
Connector matrix
Authored snapshot of plugins/cwc-operations/skills/claude-tag-slack-runbook/claude-tag-connectors.toml, as of 2026-07-12 — not a live read of claude.ai admin settings; this repo cannot observe that state. connected_personal means connected on the personal org — the legacy path's access mechanism ("Personal connectors keep working in DMs", per the mirrored add-connections doc), not a Claude Tag workspace connection.
| connector | status | mirrored guide | evidence |
|---|---|---|---|
google (Gmail, Drive, Calendar) | connected personal | google.md | Pre-existing on the personal org. |
atlassian | connected personal | atlassian.md | "Atlassian Rovo" connector pre-existing; also proven by this session's own Jira MCP. |
slack | connected personal | — | Pre-existing; this session's Slack MCP runs on it. |
notion | connected personal | notion.md | Connected 2026-07-12 via Notion MCP OAuth; workspace "Alex Zhouk's Space". |
stripe | connected personal read-only, test sandbox | stripe.md | Custom connector https://mcp.stripe.com (official, per docs.stripe.com/mcp), OAuth'd read-only (All permissions = Read) against the TEST SANDBOX of account "subagentknowledge.com"; required a one-time "Enable MCP access for this sandbox" toggle. 2026-07-12. |
vercel | connected personal | vercel.md | Custom connector https://mcp.vercel.com (official, per vercel.com/docs), OAuth'd; team "admin-jadecli's projects", All projects. 2026-07-12. |
custom_mcp_family | connected personal zero-secret dogfood | custom.md | Custom connector https://subagentapi.com/mcp — the fleet's own spec-reviewed MCP endpoint, no credential. claude.ai discovered its real tool "Get API Catalog"; permission left at Needs approval. Curl-verified initialize handshake (protocolVersion 2025-06-18); GET /mcp → 405 by design. 2026-07-12. |
mcp__cloudflare_ai_gateway | blocked on operator signin | custom.md | Showed "Reconnect" (access revoked); the reconnect flow reaches a Cloudflare dashboard sign-in page (session expired) — signing in is operator-only. |
mcp__cloudflare_container | blocked on operator signin | custom.md | Same as above. |
mcp__cloudflare_workers_builds | blocked on operator signin | custom.md | Same as above. |
datadog | runbook only | datadog.md | Wiring deferred. The operator has a real Datadog account (us5 site), plus the Datadog Slack app and the datadog-official GitHub app already on the org. |
sentry | runbook only | sentry.md | No claude.ai wiring attempted this pass. |
pagerduty | runbook only | pagerduty.md | No claude.ai wiring attempted this pass. |
linear | runbook only | linear.md | No claude.ai wiring attempted this pass. |
asana | runbook only | asana.md | No claude.ai wiring attempted this pass. |
hubspot | runbook only | hubspot.md | No claude.ai wiring attempted this pass. |
salesforce | runbook only custom, oauth2-jwt-bearer | salesforce.md | No claude.ai wiring attempted this pass. |
gong | runbook only | gong.md | No claude.ai wiring attempted this pass. |
gitlab | runbook only | gitlab.md | No claude.ai wiring attempted this pass. |
snowflake | runbook only custom, bearer | snowflake.md | No claude.ai wiring attempted this pass. |
bigquery | runbook only custom, gcp-service-account-key | bigquery.md | No claude.ai wiring attempted this pass. Guide backfilled 2026-07-12 — fetched live (HTTP 200) and mirrored; see the mirror-drift note below. |
Two GitHub apps — never collapse the two
Two unrelated GitHub apps touch this deployment. They share a vendor and nothing else.
Already installed on the opencoworkers GitHub org — installation id 139154836, repository_selection=all, verified via gh api /orgs/opencoworkers/installations. No change needed 2026-07-12. The claude.ai "GitHub Integration" connector was also already connected.
A01BP7R4KNY)GitHub's own notification app for Slack — not a Claude surface. The Slack-side app was already in the workspace; the GitHub-side "Slack" GitHub App was installed 2026-07-12 scoped to ONLY opencoworkers/subagentjobs (deliberately narrow vs the default all-repos). /github subscribe opencoworkers/subagentjobs in #subagentjobs returned "✅ Success! The app is installed." and "✅ Subscribed to opencoworkers/subagentjobs. This channel will receive notifications for issues, pulls, commits, releases, deployments".
Mirror drift: bigquery — backfilled 2026-07-12
The live docs — and the operator's 2026-07-05 paste in #subagentjobs — listed "BigQuery (custom)" with a guide at /claude-tag/admins/connections/bigquery. This site's local mirror (public/docs/claude-tag/admins/connections/) had no bigquery.md — recorded as a real gap when found, not worked around silently. Closed 2026-07-12: curl https://claude.com/docs/claude-tag/admins/connections/bigquery.md returned 200, the guide was mirrored, and integrity hashes were regenerated. The mirror is now 18 files; the bigquery row above links the live guide.
See also
- subagentidentities.com — the two identity rows added for this deployment: the legacy Claude-in-Slack bot user (
U0BF3154YRH) and the GitHub Slack notification app. - ctr_claude_tag_integration on subagentcontracts.com — the durable contract tracking this integration until it closes.
- Per-service connection guides — the mirrored docs this snapshot's
runbook_onlyrows point into, on this same site.