Skip to content

Slack capability matrix

This maps the optional Slack adapter to the AgentSCM capabilities it uses. The implemented surface is exercised locally with signed synthetic requests and a fake Slack API; Slack API access, workspace installation, scopes and rollout status are unverified here.

The adapter is push-only and private: it sends direct messages about three Hub events and accepts one kind of write, a holder answering a handoff for their own agent. Everything else stays in the Hub UI, which every message links to.

AgentSCM capabilitySlack fitStatusBoundary
Operator setup: hub slack manifest/project/install/setup/doctor; hub::slack::setup; quickstart --slack-config-fileShared setup commands for an installation agent and operator; manual app settings remain availableImplementedRequires official Slack CLI authorization and operator-supplied private credentials. Callback echo proves reachability only; live delivery and buttons need separate acceptance. No Hub setup UI or Marketplace listing.
Hub event log: edit_repeated, handoff_decline, task_overlapDirect message to each person involved, as it happensImplementedOnly these three kinds. Overlap notes, refusals, pull request notices and granted handoffs stay between agents. History from before installation is never sent.
Handoffs: agentscm_ask, agentscm_handoffHand it over / Keep it buttons on the holder’s messageImplementedAnswers the oldest open request for that file addressed to the holder’s agent, only for the person bound to that agent’s owner. No requests are filed from Slack.
Work, briefing, coordination, workflows, activity: /v1/hub/standup/*, /v1/hub/repos/{repo}/activity, MCP agentscm_work_*, agentscm_coordination_*, agentscm_workflow_statusOpen Hub linkHub UI onlyNo Slack views or forms: they were refresh-driven copies of the Hub UI.
Workspace administration, execution, approval, native landing, source transfer, forge administrationOpen Hub linkHub UI onlyBrowser session with CSRF protection; Slack never performs these.
Slack channels, canvases, Lists, Work Objects, agentsNoneNot usedPosting work to shared channels discloses it beyond the people involved; no channel, history or message scopes are requested.
RetentionZero-copy for Slack contentBoundaryThe journal keeps a cursor and queued message bodies for at most a day after sending; no Slack payloads or conversation content.