Slack Skill for OpenClaw
Send and read Slack messages, manage channels.
Last updated: 2026-03-04
Quick Install
$ npx clawhub@latest install slackKey Features
OpenClaw Slack Skill Overview
The Slack skill connects OpenClaw to your Slack workspace, letting your AI agent send messages, manage reactions, pin items, and read conversations — all through natural language commands. Instead of switching between your terminal and Slack, you can ask OpenClaw to handle routine messaging tasks in seconds.
Slack is one of the most widely used team communication platforms, and integrating it with OpenClaw unlocks powerful automation workflows. Whether you need to post deployment notifications, react to messages, or pin important decisions, the OpenClaw Slack skill turns multi-step Slack operations into simple conversations.
Typical workflow:
- Ask OpenClaw to send a deployment update to your
#releaseschannel. - The agent calls the Slack API via the configured bot token.
- The message is posted instantly — no context-switching required.
The skill supports two connection modes: Socket Mode (recommended for development and small teams) and HTTP Events API (better for production deployments behind a firewall). Both modes use the same bot token and provide identical capabilities.
Prerequisites for Slack Skill
Before installing the Slack skill, make sure you have:
- OpenClaw installed and running (v1.0+)
- A Slack workspace where you have permission to install apps
- A Slack App created at api.slack.com/apps with the required OAuth scopes
- clawhub CLI installed for skill management — install with clawhub
Required OAuth Scopes (Bot Token)
When creating your Slack app, add these bot token scopes:
| Scope | Purpose |
|-------|---------|
| chat:write | Send and edit messages |
| channels:history | Read channel message history |
| channels:read | List and view channel info |
| im:history | Read direct message history |
| im:write | Send direct messages |
| reactions:read | List reactions on messages |
| reactions:write | Add emoji reactions |
| pins:read | List pinned items |
| pins:write | Pin and unpin messages |
| emoji:read | Access custom emoji list |
| app_mentions:read | Respond to @mentions |
Optional: add chat:write.customize to customize the bot's display name per message, or files:read and files:write for file operations.
Verify your setup:
# Check OpenClaw version openclaw --version # Verify clawhub is installed clawhub --version
How to Install the Slack Skill
Install the Slack skill with a single command:
npx clawhub@latest install slack
To verify the installation:
clawhub list
You should see slack in the list of installed skills. The skill is published by steipete on ClawHub and receives regular updates.
Slack Skill Configuration
The Slack skill requires a Bot Token and, for Socket Mode, an App Token. OpenClaw reads these from environment variables automatically.
Environment Setup
# Required: Bot token (starts with xoxb-) export SLACK_BOT_TOKEN=xoxb-your-bot-token-here # Required for Socket Mode (starts with xapp-) export SLACK_APP_TOKEN=xapp-your-app-token-here
Important: Never hardcode tokens in configuration files. Use environment variables or a secret manager such as 1Password or Bitwarden.
Connection Modes
Socket Mode (default):
- Requires both
SLACK_BOT_TOKENandSLACK_APP_TOKEN - No public URL needed — ideal for local development
- Start with
openclaw gateway
HTTP Events API:
- Requires
SLACK_BOT_TOKENand a Signing Secret - Configure a webhook endpoint (default:
/slack/events) - Better for production environments behind a reverse proxy
Access Control
OpenClaw provides granular access control for Slack interactions:
- DM Policy:
pairing(default),allowlist,open, ordisabled - Channel Policy:
open,allowlist, ordisabled - Mention required: Channels require
@botmentions by default
For team environments, the pairing DM policy is recommended. Users must run openclaw pairing approve slack <code> before the bot responds to their DMs. Review the Safety Checklist for additional hardening tips.
Slack Skill Usage Examples
1. Post a Deployment Notification
You: "Send a message to #releases saying version 2.4.0 has been deployed to production with zero downtime."
The agent calls sendMessage with the target channel and your message content. The notification appears instantly in the channel with the bot's identity.
2. React to a Team Decision
You: "Add a checkmark reaction to the last message in #engineering-decisions."
The agent reads the most recent message in the specified channel using readMessages, then applies a ✅ reaction via react. This is great for acknowledging decisions or marking tasks as reviewed.
3. Pin an Important Update
You: "Pin the message about the Q1 roadmap in #product."
The agent searches recent messages for content matching "Q1 roadmap," then uses pinMessage to pin it. Pinned items stay accessible at the top of the channel for the entire team.
4. Read and Summarize Channel Activity
You: "Summarize what happened in #support today."
The agent uses readMessages to fetch the day's messages, then analyzes and summarizes key topics, questions, and resolutions. This pairs well with the Summarize skill for longer conversations.
Security & Best Practices
The Slack skill can send messages and modify content in your workspace. Follow these guidelines to stay safe:
- Use least privilege. Only grant the OAuth scopes you actually need. If you only read channels, skip
chat:writeandpins:write. - Enable pairing mode. The default
pairingDM policy prevents unauthorized users from interacting with the bot in direct messages. - Review before sending. OpenClaw prompts for confirmation before sending messages by default. Do not disable this for production workspaces.
- Limit channel access. Use the
allowlistchannel policy to restrict the bot to specific channels rather than granting workspace-wide access. - Rotate tokens regularly. Regenerate your bot token periodically and revoke tokens you no longer use from the Slack App Management page.
- Audit message activity. Check your Slack workspace audit logs to review messages sent by the bot.
Troubleshooting Slack Skill Errors
"not_authed" or "invalid_auth"
Your bot token is missing or invalid.
# Verify the token is set echo $SLACK_BOT_TOKEN # Re-export if needed export SLACK_BOT_TOKEN=xoxb-your-new-token
If the token was recently regenerated, make sure to update all environments where it is used.
"channel_not_found"
The bot cannot access the specified channel. This usually means:
- The bot has not been invited to the channel — type
/invite @your-bot-namein the channel. - The channel ID is incorrect — use the Slack API or the channel's context menu to get the correct ID.
- The channel is private and the bot lacks the
groups:readscope.
"missing_scope"
The bot token is missing a required OAuth scope.
- Go to api.slack.com/apps → your app → OAuth & Permissions.
- Add the missing scope listed in the error message.
- Reinstall the app to your workspace to apply the new scopes.
FAQ
Yes, when configured properly. The skill follows OpenClaw's confirmation model — messages are not sent until you approve them. The default `pairing` DM policy ensures only authorized users can interact with the bot. We recommend starting with a limited channel allowlist and expanding access as you build confidence in the setup.
Yes. OpenClaw supports multi-account Slack configurations. Each workspace requires its own bot token and app token. Configure additional accounts in your OpenClaw gateway settings, and the skill will route requests to the correct workspace based on the target channel or user.
Both skills provide messaging capabilities, but they target different platforms. The [Slack skill](/skills/slack) focuses on workplace communication with features like channel pinning, DM pairing policies, and OAuth scope management. The [Discord](/skills/discord) skill is designed for community-oriented servers with role-based access, thread management, and voice channel awareness. Choose the one that matches your team's primary communication platform.
Related Skills
Interact with Discord servers and channels.
Manage Trello boards, lists, and cards.
Manage Linear issues, projects, and cycles.