Slack

Control Slack from OpenClaw — react to messages, send/edit/delete, manage pins, and fetch member info.

The Slack skill enables OpenClaw to operate as a full participant in Slack workspaces — sending messages, reacting to messages, managing pins, editing and deleting messages, and fetching member information. It's one of OpenClaw's most popular channel integrations, turning your AI assistant into an active team member that can be @mentioned, respond in threads, and take actions across your connected tools. Unlike simple chatbots that only respond to direct messages, OpenClaw's Slack integration supports the full messaging lifecycle. The skill handles message formatting (Slack's mrkdwn syntax), thread management (replying in threads vs. channels), emoji reactions (both adding and removing), file sharing, and channel-specific behaviors. It understands Slack's permission model — the bot token determines which channels it can access and what actions it can perform. The integration is configured as a channel in openclaw.json, using a Slack Bot Token (xoxb-) from a Slack App. The app needs specific OAuth scopes: `chat:write` for messaging, `reactions:write` for reactions, `pins:write` for pin management, `channels:history` and `groups:history` for reading messages, and `users:read` for member info. The skill teaches the agent how to use these capabilities effectively. A compelling use case emerged from the community: 'SlackClaw' — running OpenClaw as a full AI agent inside Slack. Users @mention it in channels and it takes actions across connected tools (email, Linear, GitHub, Notion). It maintains persistent context, runs on schedules, and picks up conversation history without re-explanation. For OpenClaw users, Slack is often the primary interface for team-facing AI. While Telegram and Discord are popular for personal use, Slack is where teams collaborate. Having your AI assistant participate naturally in Slack channels — reacting to messages, answering questions, filing tickets, pulling data — transforms it from a personal tool into a team asset. Best suited for: teams wanting an AI agent in their Slack workspace, developers building Slack-based automation, anyone running OpenClaw as a team assistant, organizations wanting AI-assisted workflow automation in Slack.

Tags: slack, messaging, chat, team, productivity

Category: Messaging

Use Cases

  • Team AI assistant: @mention for questions, research, and task execution
  • Automated status reports: cron-scheduled updates to team channels
  • Ticket triage: AI reads messages and files Linear/Jira tickets
  • Meeting summaries: AI posts structured notes after discussions
  • Cross-tool actions: 'Update the Notion project board' triggered from Slack
  • On-call support: AI monitors channels and escalates urgent issues
  • Onboarding: AI answers new team member questions from documentation

Tips

  • Configure the Slack channel in openclaw.json under channels.slack with your bot token
  • Use thread replies for detailed responses to keep channels clean
  • React with emoji to acknowledge messages without cluttering the conversation
  • Set up the bot's profile picture and name in Slack App settings for a polished appearance
  • Use Slack's Block Kit for rich message formatting when plain text isn't enough
  • Combine with cron for scheduled Slack updates: daily standups, weekly reports
  • Pin important AI-generated summaries for easy reference
  • Use the message tool's Slack-specific actions: react, pin, edit, delete

Known Issues & Gotchas

  • Requires a Slack App with appropriate OAuth scopes — bot tokens (xoxb-) only, not user tokens
  • The bot must be explicitly invited to channels it needs to access — it can't see private channels by default
  • Slack rate limits: ~1 message per second per channel, ~50 API calls per minute — avoid tight loops
  • Thread replies vs. channel messages are different API calls — the skill handles this but be aware of the distinction
  • Emoji reactions require the exact emoji name (e.g., 'thumbsup' not '👍') — custom workspace emojis work too
  • Message formatting uses Slack's mrkdwn, not standard Markdown — some syntax differences (e.g., bold is *text* not **text**)
  • File uploads have size limits based on your Slack plan
  • The bot's display name and avatar are set in the Slack App config, not in OpenClaw

Alternatives

  • Discord (channel)
  • Telegram (channel)
  • Microsoft Teams
  • Slack Workflow Builder
  • Zapier/Make Slack integrations

Community Feedback

SlackClaw is an AI agent that runs inside Slack. You @mention it in a channel and it can actually take actions across your tools — send emails, file tickets in Linear or Jira, pull data from Notion, triage GitHub PRs.

— Reddit r/Slack

It remembers past conversations, runs on a schedule, and picks up context without you re-explaining everything. You can say 'send the Friday status report at 5pm' once and it just does it every week.

— Reddit r/Slack

Building OpenClaw integrations with Notion and Slack — a custom skill so the agent can create/update deals, move pipeline stages, log activities, and schedule follow-ups.

— LinkedIn

OpenClaw connects to Slack as a channel, letting your AI agent participate in team conversations, react to messages, and automate workflows directly from your workspace.

— KDnuggets

Configuration Examples

Configure Slack channel in openclaw.json

{
  "channels": {
    "slack": {
      "botToken": "xoxb-your-bot-token",
      "appToken": "xapp-your-app-token",
      "defaultChannel": "#general"
    }
  }
}

Required Slack App OAuth scopes

# Bot Token Scopes needed:
chat:write          # Send messages
reactions:write     # Add/remove reactions
reactions:read      # Read reactions
pins:write          # Pin/unpin messages
channels:history    # Read public channel messages
groups:history      # Read private channel messages
im:history          # Read DMs
users:read          # Get user info
files:write         # Upload files

Common Slack actions via OpenClaw

# Send a message to a channel
message send --channel slack --target '#engineering' --message 'Deploy complete ✅'

# React to a message
message react --channel slack --emoji 'eyes' --messageId '1234567890.123456'

# Pin a message
message pin --channel slack --messageId '1234567890.123456'

Installation

# Configure channels.slack in openclaw.json

Source: bundled