Skip to content

Slack

AI Butler runs as a Slack app using Socket Mode, so you don’t need a public URL or webhook receiver. Great for self-hosting on a home server or laptop.

  • Direct messages and channel mentions
  • Threaded replies
  • Streaming responses (via message edits)
  • File upload support (images, documents, audio)
  • Socket Mode — no inbound HTTP required
  1. Go to api.slack.com/apps and click Create New AppFrom scratch
  2. Name it (e.g. “AI Butler”) and pick a workspace
  3. In Socket Mode, enable it and generate an App-Level Token with the connections:write scope — save it (xapp-...)
  4. In OAuth & Permissions, add these Bot Token Scopes:
    • app_mentions:read
    • chat:write
    • im:history
    • im:read
    • im:write
    • files:read
    • files:write
  5. In Event Subscriptions, enable events and subscribe to:
    • app_mention
    • message.im
  6. Install the app to your workspace — save the Bot User OAuth Token (xoxb-...)
Terminal window
aibutler vault set slack_bot_token xoxb-...
aibutler vault set slack_app_token xapp-...
configurations:
channels:
active:
- slack
Terminal window
aibutler run

You should see channel: slack adapter registered in the logs. Invite the bot to a channel (/invite @aibutler) or send it a direct message.

FeatureSupported
DMsYes
Channel mentionsYes (must be invited first)
Thread repliesYes
File uploadsYes
Audio clipsYes (transcribed via STT)
Streaming repliesYes (via chat.update)
Slash commandsNo (use mentions instead)
Blocks / Block KitPlain text only for now

slack requires slack_bot_token and slack_app_token in vault. Both tokens are required — the bot token for API calls and the app token for Socket Mode.

Bot ignores channel messages. Slack only delivers app_mention events unless the bot is explicitly invited. In public channels, mention it with @aibutler.

Socket Mode keeps disconnecting. Check your network — Socket Mode holds a long-lived WebSocket to Slack’s servers. If you’re on a restrictive firewall, you may need to switch to HTTP Events API mode.