Slack's official bot API makes it one of the more reliable OpenClaw integrations. Unlike WhatsApp, there's no bridge or session to maintain — you create a Slack app, get a token, and connect.
Step 1: Create a Slack App
- Go to api.slack.com/apps
- Click Create New App → From scratch
- Name it (e.g. "OpenClaw") and select your workspace
- Click Create App
Step 2: Configure Bot Permissions
In the left sidebar, go to OAuth & Permissions. Under Bot Token Scopes, add:
| Scope | Why |
|---|---|
app_mentions:read | Receive @mentions in channels |
chat:write | Send messages |
channels:history | Read channel messages (if monitoring channels) |
im:history | Read DMs |
im:write | Send DMs |
users:read | Identify who's messaging |
Step 3: Enable Event Subscriptions
- In the sidebar, go to Event Subscriptions → toggle Enable Events
- Request URL:
https://your-openclaw-domain.com/integrations/slack/events- If running locally, use ngrok to expose your local port temporarily
- Subscribe to Bot Events:
app_mention— when someone @mentions your botmessage.im— DMs sent to the bot
Save changes.
Step 4: Install the App to Your Workspace
- Go to OAuth & Permissions → Install to Workspace
- Authorise the app
- Copy the Bot User OAuth Token (starts with
xoxb-)
Step 5: Configure OpenClaw
Add the Slack integration to ~/.openclaw/config/integrations.yml:
integrations:
slack:
enabled: true
bot_token: "xoxb-your-token-here"
signing_secret: "your-signing-secret" # From Basic Information → App Credentials
listen_to_channels:
- "general" # Add channels to monitor (without #)
- "ai-assistant"
default_channel: "ai-assistant" # Where proactive messages go
mention_trigger: true # Respond to @mentions
dm_trigger: true # Respond to DMs
Restart OpenClaw:
openclaw restart
Step 6: Test the Connection
In Slack, go to a monitored channel and send:
@OpenClaw hello
Or open a DM with your bot and send any message. OpenClaw should respond within a few seconds.
Usage Patterns
Personal DM Use
Treat the Slack DM with your bot like a WhatsApp conversation — message naturally, use your prompt templates, and OpenClaw will respond using your SOUL.md rules and memory.
Team Use in a Channel
If sharing with a team, add a clear system prompt scoped to your workspace:
soul_overrides:
slack:
prefix: |
This Slack workspace is for [Company/Project Name].
When responding in channels, keep answers professional and concise.
Users may be: [list team members or roles].
Proactive Scheduled Messages
Configure a daily summary post:
scheduled_tasks:
- name: "daily-brief"
cron: "0 9 * * 1-5" # Weekdays at 9am
action: "summarise_day"
channel: "ai-assistant"
prompt: "Post a brief summary of my open tasks and priorities for today."
Slack vs WhatsApp for OpenClaw
| Slack | ||
|---|---|---|
| API type | Official bot API | Browser bridge |
| Reliability | Very high | Good (can drop) |
| Setup complexity | Low | Medium |
| Personal feel | Workspace/team | Personal messaging |
| Notification style | Slack notifications | WhatsApp messages |
| Free workspace | Yes (Slack free tier) | Requires phone number |
For personal use, WhatsApp feels more natural. For team or professional use, Slack is more appropriate and more reliable.
Troubleshooting
Bot not responding to mentions:
- Check that
app_mentionis subscribed in Event Subscriptions - Verify the bot is invited to the channel:
/invite @YourBotName
"dispatch_failed" in event logs:
- Your Request URL isn't reachable. Verify OpenClaw is running and the URL is correct.
- Check for firewall rules blocking inbound HTTP.
Duplicate responses:
- If you're both monitoring channel history and using event subscriptions, you may process messages twice. Disable one or add deduplication in config.
Related reading: