standards
SlackIntegrations

Slack

Connect a Slack workspace, start routines from events, and continue conversations in threads.


Connect Slack to let agents read and write through a workspace bot, and to run routines from mentions, messages and other Slack events. The bot's credential stays on the server; it is never added to an agent's environment.

Connect a workspace

In Settings → Workspace integrations, choose Slack and Install for workspace, then approve the Slack workspace. The install requests the bot permissions needed by the integration. Each agent's Tools controls which of those capabilities it may use.

Connections and workspace pickers show the Slack workspace name when Slack makes it available. Existing connections pick up the name without reinstalling. If Slack cannot return the name, the workspace ID remains available as a fallback.

AccessAvailable tools
Read Slackslack_read reads recent messages or a thread; slack_find finds people and channels; slack_download_file imports an accessible Slack file.
Write to Slackslack_send sends messages, thread replies and files; slack_react adds reactions; slack_set_status updates the agent's activity below a thread.

slack_find searches people by name or email and channels by name; it is not full-text message search. Files sent through slack_send come from the conversation's sandbox or authorized Drive files. Downloaded files go into its sandbox when one is available. Slack access also works with Claude Code and Codex environments.

Start a routine from Slack

Add a Slack trigger in the routine's Triggers section. Select the workspace, event, channels, sender and conditions. Events cover mentions, channel messages, direct messages, reactions and people joining a channel. Same conversation is on by default, so related replies can continue the same work.

Adding a trigger adds Read Slack and Write to Slack to the routine's tools. Grant changes for unattended runs require permission to manage agents. The routine uses its author's Standards permissions; a Slack sender does not acquire that authority.

Selecting a public channel joins the bot when you save. For a private channel, invite it with /invite @Standards, then choose Refresh in the picker. A private channel the bot cannot access cannot be made accessible by reconnecting OAuth. Channel and member choices are read from Slack, so a newly invited channel or renamed person can be refreshed without reinstalling.

See GitHub and Slack triggers for sender filters, conditions and continuation limits.

Continue a conversation from either place

A trigger's final answer is posted into its Slack thread. A top-level Slack message sent from an app conversation can also link that thread to the existing conversation. Human replies return there; the posting turn's authority stays pinned. Bot messages are ignored to avoid response loops.

You can continue in Standards and have the final answer mirrored to linked Slack threads. A turn that already sent its answer there is not posted a second time. The first mirrored answer includes Open in Standards when the deployment provides an app URL. This bridge delivers the final answer even without a separate Write to Slack grant; that grant controls the agent's explicit write tools. Details are in Agent conversations.

Messages the agent posts to Slack are written in Markdown and converted to Slack's own formatting: bold, strikethrough, links and bullets keep their meaning, a heading becomes a bold line, and a table becomes a code block. Slack has a single emphasis marker, so a Markdown *italic* shows as bold.

Limits and reconnection

Slack sets the rate limits and access rules for each API method. Recent-history reads use pages of up to 15 messages and may return a cursor for more. Some app distributions cannot read all public or private channel-thread replies with a bot token. A provider refusal is surfaced instead of silently using a person's token. Rate-limited mirror deliveries wait for Slack's retry delay; delivery is not necessarily immediate.

Uninstalling the App or revoking its bot token disconnects the installation while retaining its grants and triggers. Revoking only a Slack user token does not disconnect this bot integration. Reconnect from integrations to restore access. Deleting the connection in Standards removes dependent grants and triggers. Existing conversation history follows its normal visibility rules.

Next steps

Configure agents and routines, or connect GitHub for repository work.