Authentication
- Type: OAuth 2.0
- Token management: Slack tokens don’t expire — no refresh needed
Setup
OAuth scopes
Usage
Slack is dynamically resolved, so you do not import a Slack-specific package. Register the operations your agent needs withguildServiceTool() from the Guild Agents SDK, passing slack as the service name. Name each tool with the slack_ prefix to match the underlying operation — for example, the chat_post_message operation becomes the slack_chat_post_message tool.
Selecting specific tools
Agents perform better with fewer tools. Register only the operations your agent needs — add each one as its ownguildServiceTool("slack", ...) entry:
API endpoints
Messages
Messages
Conversations
Conversations
Reactions
Reactions
Files
Files
Pins
Pins
Reminders
Reminders
Users
Users
User groups
User groups
Team
Team
Webhook events
Slack uses an app-scoped webhook model — a single webhook receives all events and Guild routes them to matching triggers.
Events can be filtered to specific channels by setting
channel_ids in the service configuration. Messages sent by the Guild bot itself are automatically excluded to prevent feedback loops.
Limitations
- The bot must be invited to channels to receive
messageevents (exceptapp_mention, which works without an invite) - If the app is uninstalled from the workspace, credentials must be reconnected in Guild