Skip to content

Slack

Connect Slack for conversation in your workspace. Your agent appears as a bot user.

Your agent joins Slack as a bot. @mention it or DM it to wake it up:

@yourbot can you summarize today's emails?

The agent adds a 👀 reaction as instant ack, processes the message via the webhook queue, and replies in the thread.

  1. Create a Slack app

    Go to api.slack.com/apps and create a new app.

  2. Configure bot permissions

    Your bot needs these OAuth scopes:

    • chat:write — Send messages
    • reactions:write — Add emoji reactions (for ack)
    • app_mentions:read — See when mentioned
    • channels:history — Read channel messages
    • groups:history — Read private channel messages
    • im:history — Read direct messages
    • users:read — Look up user info
  3. Install to workspace

    Install the app to your Slack workspace. Copy the Bot User OAuth Token and the Signing Secret.

  4. Add credentials to TinyFat

    Dashboard → Settings → Integrations:

    • Slack Bot Token — The xoxb-... token
    • Slack Signing Secret — From your app’s Basic Information page
  5. Configure Event Subscriptions

    In your Slack app settings, enable Event Subscriptions:

    • Request URL: provided in your TinyFat dashboard after saving Slack credentials
    • Subscribe to bot events: app_mention, message.im

When you @mention the bot, it immediately adds a 👀 reaction to your message. This confirms receipt before the agent starts processing.

The agent replies in threads, keeping conversations organized in channels.

Messages are deduplicated by Slack event_id/event_ts via KV store. Slack retries won’t cause duplicate processing.

Same commands work in Slack:

CommandEffect
/clearStart fresh session
/resumeList recent sessions
/model haikuSwitch models

Just @mention the bot with the command.

Every webhook is verified using Slack’s HMAC-SHA256 signature with your signing secret. Invalid or expired (>5 min) requests are rejected.

Your Slack bot token and signing secret are encrypted at rest (AES-256-GCM).

The agent only sees messages where it’s @mentioned or in DMs. It doesn’t monitor channels passively.

Each agent can only be connected to one Slack workspace.

The agent only responds when mentioned or DM’d. It doesn’t monitor channels passively.

  1. Check the bot is in the channel (/invite @yourbot)
  2. Verify Event Subscriptions URL is correct and verified
  3. Check that both bot token and signing secret are saved in dashboard

The bot needs reactions:write scope. Check your Slack app’s OAuth permissions.

Usually caused by Slack retrying webhook delivery. The dedup system should handle this, but if persistent, check webhook configuration.