MonoClaw

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

  1. Go to api.slack.com/apps
  2. Click Create New AppFrom scratch
  3. Name it and select your workspace

2. Enable Socket Mode

  1. Go to Socket Mode in the left sidebar
  2. Toggle Enable Socket Mode
  3. Generate an app-level token with connections:write scope
  4. Copy the App-Level Token (starts with xapp-)

3. Set bot token scopes

  1. Go to OAuth & Permissions
  2. Under Bot Token Scopes, add:
    • app_mentions:read
    • chat:write
    • files:read
    • files:write
    • im:history
    • im:read
    • im:write
    • mpim:history
    • mpim:read
    • mpim:write
    • channels:history
    • groups:history
  3. Click Install to Workspace
  4. 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

ProblemFix
Bot not respondingVerify both tokens are correct
Can't invite to channelEnsure chat:write scope is granted
File uploads failAdd files:write scope and reinstall
Socket disconnectsCheck internet connection; Socket Mode auto-reconnects