Skip to Content
Docs are being rebuilt — start at Introduction → How it works.

Slack

Connect an agent to Slack so it answers in channels, direct messages, and @mentions. Slack is connected per agent in the Channels tab of the agent builder, using a Slack app you create.

Prerequisites

  • A saved agent (the Channels tab is locked until the agent is saved).
  • Admin access to a Slack workspace.
  • A Slack app created at api.slack.com/apps  (granular permissions; classic apps are not supported).

What you’ll need from Slack

FieldWhere to find itRequired
Slack App NameThe name you gave the app at api.slack.comYes
Bot User OAuth TokenOAuth & Permissions (starts with xoxb-)Yes
Signing SecretBasic Information → App CredentialsYes
App IDBasic Information → App CredentialsNo

How to connect

  1. Create the Slack app
    At api.slack.com/apps, click Create New App.
  2. Add bot token scopes
    In OAuth & Permissions, add chat:write, app_mentions:read, and im:history.
  3. Install to workspace
    Click Install to Workspace and authorize, then copy the Bot User OAuth Token.
  4. Enter credentials in TeamMate
    In the agent’s Channels tab, open Slack → Configure, and paste the app name, bot token, and signing secret.
  5. Configure the event subscription URL
    In Slack → Event Subscriptions, enable events and paste TeamMate’s Event Subscription URL as the Request URL.
  6. Subscribe to bot events
    Under Subscribe to bot events, add message.channels, message.im, and app_mention, then Save Changes.
  7. Invite the bot
    In each Slack channel, run /invite @YourAppName so the bot can receive messages.

The Event Subscription URL is https://tmmate.ai/api/webhook/slack/events/<agentId>. An optional Interactivity URL (/api/webhook/slack/interactive/<agentId>) is also provided for buttons and menus.

What the agent can do

  • Reply to direct messages and @mentions.
  • Respond in channels it has been invited to.
  • Send AI-generated replies in real time.

Troubleshooting

  • Slack rejects the Request URL. The signing secret must be entered before Slack can verify the URL challenge. Re-check the signing secret and that the agent is saved.
  • The bot doesn’t respond in a channel. Invite it with /invite @YourAppName — the bot only receives messages in channels it’s a member of.
  • DMs don’t work. Confirm the im:history scope and the message.im bot event are both added.