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.
What You Get
Section titled “What You Get”- 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. Create the Slack App
Section titled “1. Create the Slack App”- Go to api.slack.com/apps and click Create New App → From scratch
- Name it (e.g. “AI Butler”) and pick a workspace
- In Socket Mode, enable it and generate an App-Level Token with the
connections:writescope — save it (xapp-...) - In OAuth & Permissions, add these Bot Token Scopes:
app_mentions:readchat:writeim:historyim:readim:writefiles:readfiles:write
- In Event Subscriptions, enable events and subscribe to:
app_mentionmessage.im
- Install the app to your workspace — save the Bot User OAuth Token (
xoxb-...)
2. Store the Tokens
Section titled “2. Store the Tokens”aibutler vault set slack_bot_token xoxb-...aibutler vault set slack_app_token xapp-...3. Enable the Channel
Section titled “3. Enable the Channel”configurations: channels: active: - slack4. Restart
Section titled “4. Restart”aibutler runYou should see channel: slack adapter registered in the logs. Invite the bot to a channel (/invite @aibutler) or send it a direct message.
Features
Section titled “Features”| Feature | Supported |
|---|---|
| DMs | Yes |
| Channel mentions | Yes (must be invited first) |
| Thread replies | Yes |
| File uploads | Yes |
| Audio clips | Yes (transcribed via STT) |
| Streaming replies | Yes (via chat.update) |
| Slash commands | No (use mentions instead) |
| Blocks / Block Kit | Plain text only for now |
Troubleshooting
Section titled “Troubleshooting”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.