The Slack toolkit lets agents work in a Slack workspace: list and search channels, send channel or direct messages, read history, look up users, create or join channels, add reactions, and update profile or status. Authentication is per-user OAuth — each user connects their own Slack account. Your organization must complete Slack app / OAuth admin setup first.
Add it on the agent Toolkits tab. The first use prompts the user to connect Slack if they have not already.
Prerequisites
- A Slack workspace the agent should use
- Slack OAuth configured for your organization (admin setup required)
- An agent you can edit
- Users who will chat with the agent must complete the Slack OAuth connect flow when prompted
Setup
- Confirm an admin has configured the Slack OAuth app (Client ID, Client Secret, redirect URI, and scopes).
- Open the agent → Toolkits → add Slack.
- Optionally enable or disable individual tools in toolkit config.
- Save the agent. In Chat, connect Slack when prompted.
@-mention Slack tools in the personality prompt for messaging and channel tasks.
Channels & messaging
| Tool | Description |
|---|
| List Channels | Lists channels the connected user can see. |
| Search Channel | Finds a channel by name or criteria. |
| Create Channel | Creates a channel. |
| Join Channel | Joins a channel. |
| Send Message | Sends a message to a channel. |
| Send Direct Message | Sends a DM to a user. |
| Get Channel History | Reads recent messages in a channel. |
| Search Messages | Searches messages (requires user token scopes). |
| Update Message | Updates an existing message. |
| Add Reaction to Message | Adds an emoji reaction to a message. |
| Get Channel Members | Lists members of a channel. |
| List DMs | Lists direct message conversations. |
Users & profile
| Tool | Description |
|---|
| List Users | Lists users in the workspace. |
| Find User by Email | Looks up a user by email. |
| Find User by Handle | Looks up a user by Slack handle. |
| Update Profile | Updates the connected user's profile fields. |
| Set User Status | Sets the connected user's Slack status. |
Use cases
- Post status updates or alerts to a project channel
- Find a user by email and DM them a summary
- Search recent channel history for decisions or links
- Create a channel for an incident and invite context via messages
Tips
- Some actions (search, profile) need user OAuth scopes, not only bot scopes — reconnect if those fail.
- Prefer channel IDs from List Channels or Search Channel over display names when names collide.
- Access is limited to what the connected Slack user can see and post.
- For Microsoft Teams, use the Teams / Microsoft 365 toolkit instead.
Troubleshooting
| Symptom | What to check |
|---|
| Cannot connect / admin error | Org Slack OAuth app setup (Client ID/Secret, redirect URI, scopes) |
| Authenticate loop | Complete Slack OAuth; disconnect and reconnect |
| Missing channels or search empty | User membership and scopes; try reconnecting |
| Cannot post to a channel | Join the channel first; confirm post permissions |
| Profile or search fails | Confirm user token scopes were granted at connect time |