Slack Setup
Deploy Mona as a Slack bot for your workspace.
Prerequisites
- A working MonoClaw installation
- A Slack workspace where you can install apps
1. Create a Slack app
- Go to api.slack.com/apps
- Click Create New App → From scratch
- Name it and select your workspace
2. Enable Socket Mode
- Go to Socket Mode in the left sidebar
- Toggle Enable Socket Mode
- Generate an app-level token with
connections:writescope - Copy the App-Level Token (starts with
xapp-)
3. Set bot token scopes
- Go to OAuth & Permissions
- Under Bot Token Scopes, add:
app_mentions:readchat:writefiles:readfiles:writeim:historyim:readim:writempim:historympim:readmpim:writechannels:historygroups:history
- Click Install to Workspace
- Copy the Bot User OAuth Token (starts with
xoxb-)
4. Configure MonoClaw
monoclaw gateway setup
Choose Slack and paste:
- Bot Token (
xoxb-...) - App-Level Token (
xapp-...)
Or manually:
monoclaw config set SLACK_BOT_TOKEN "xoxb-your-token"
monoclaw config set SLACK_APP_TOKEN "xapp-your-token"
5. Start the gateway
monoclaw gateway start
Interaction modes
DMs
Message the bot directly for private conversations.
Channels
Mention the bot in a channel:
@Mona summarize yesterday's discussion
Threads
Mona automatically replies in threads to keep channels tidy.
Configuration
# ~/.monoclaw/config.yaml
gateway:
slack:
home_channel: "#general"
thread_replies: true
require_mention: true
Security
gateway:
slack:
allowlist:
- "U12345678"
admins:
- "U12345678"
Find Slack user IDs by clicking on a user's profile → Copy member ID.
Troubleshooting
| Problem | Fix |
|---|---|
| Bot not responding | Verify both tokens are correct |
| Can't invite to channel | Ensure chat:write scope is granted |
| File uploads fail | Add files:write scope and reinstall |
| Socket disconnects | Check internet connection; Socket Mode auto-reconnects |