Slack Integration
Connect agents to Slack workspaces. Supports DMs, @mentions in channels, multi-agent routing, and thread continuity.
Key Concepts
xapp-...).Platform Setup (Admin)
Go to Settings > Slack section.
Enter your Slack App Token (xapp-...) for Socket Mode.
Click Connect to start the Socket Mode transport.
Click Install to Workspace to perform platform-level OAuth and obtain a bot token.
The connection status badge shows connected or disconnected.
Per-Agent Channel Binding
Open the agent detail page and select the Sharing tab.
In the Slack Channel section, click Create Channel.
A dedicated Slack channel is created and bound to this agent. All messages in that channel are routed to the bound agent.
To disconnect, click Unbind.
Changing the DM-Default Agent
DMs to the Slack bot are routed to the workspace's DM-default agent. By default the first agent bound to a workspace becomes the DM default, but you can reassign it at any time.
To reassign
Open the agent detail page for the agent you want to receive DMs
Go to the Sharing tab → Slack Channel section
Click Set as DM Default
The previous DM-default agent retains its channel binding but no longer receives DMs
Rules
Message Flow
Transport -> Adapter -> Router -> Agent -> Response| Message Type | Routing |
|---|---|
| DM to bot | Default agent |
| @mention in channel | Bound agent for that channel |
| Thread reply (no @mention) | Same agent that was originally mentioned |
Rate Limiting
| Setting | Default |
|---|---|
| Messages per window per Slack user | 30 |
| Window duration | 60 seconds |
| Execution timeout | 120 seconds |
| Allowed tools | WebSearch, WebFetch |
Rate limit and timeout values are configurable via settings (channel_rate_limit_max, channel_rate_limit_window).
Slack API
| Endpoint | Method | Description |
|---|---|---|
| /api/settings/slack/status | GET | Connection state |
| /api/settings/slack/connect | POST | Start Socket Mode |
| /api/settings/slack/disconnect | POST | Stop transport |
| /api/settings/slack/install | POST | OAuth install |
| /api/agents/{name}/slack/channel | GET | Channel binding status |
| /api/agents/{name}/slack/channel | POST | Create and bind channel |
| /api/agents/{name}/slack/channel | DELETE | Unbind channel |
| /api/agents/{name}/slack/channel/dm-default | PUT | Set this agent as the DM default for its workspace |