- Direct messages and channel messages
- Thread replies (replies stay in the originating thread)
- App mentions (
@YourBotin a channel) - Slash commands
- File uploads (images, documents) sent by users
- Sending files back to users via
SendMedia 👀reaction on inbound messages while the agent is thinking, replaced with✅when the reply is sent
Setup
Create a Slack App
Go to api.slack.com/apps and click Create New App → From scratch. Give it a name and pick your workspace.
Enable Socket Mode
In the left sidebar, go to Settings → Socket Mode and toggle it on. Slack will generate an App-Level Token (starts with
xapp-). Copy it — this is your app_token.Add bot scopes
Go to OAuth & Permissions → Scopes → Bot Token Scopes and add:
| Scope | Purpose |
|---|---|
chat:write | Send messages |
im:history | Read DMs |
channels:history | Read channel messages |
groups:history | Read private channel messages |
app_mentions:read | Receive @mention events |
reactions:write | Add/remove emoji reactions |
files:read | Download files shared by users |
files:write | Upload files to Slack |
commands | Register slash commands (optional) |
Subscribe to events
Go to Event Subscriptions and enable it. Under Subscribe to bot events, add:
message.im— DMsmessage.channels— public channel messagesmessage.groups— private channel messagesapp_mention— @mentions in channels
Install the app
Go to OAuth & Permissions and click Install to Workspace. After authorizing, copy the Bot User OAuth Token (starts with
xoxb-). This is your bot_token.Configuration reference
Set to
true to activate the Slack channel.The Bot User OAuth Token for your Slack app. Starts with
xoxb-. Found under OAuth & Permissions after installing the app to your workspace.The App-Level Token used for Socket Mode. Starts with
xapp-. Generated under Settings → Socket Mode. Must have the connections:write scope.Slack user IDs (e.g.
"U01234ABCDE") allowed to message the agent. Find your user ID in your Slack profile under More → Profile → three-dot menu → Copy member ID.Leave empty to allow all workspace members. See Common configuration fields for format options.A Slack channel ID (e.g.
"C0987ZYXWVU") where agent reasoning traces are sent. Leave empty to disable. See Messaging channels for details.Messaging the agent
Direct message: Open the app’s DM and type your message. In a channel: Either@mention the bot (@YourBot what is the weather?) or, if mention_only is disabled in group_trigger, send any message in a channel the bot is a member of.
Threads: Replies in threads are routed back to the same thread automatically. The chatID used internally is channelID/threadTimestamp.
The Slack channel sends a
👀 reaction to the inbound message as soon as the agent starts processing. When the reply is sent, the reaction is replaced with ✅. This gives users instant feedback that their message was received.