C
Cody
Communication & Messaging

Connecting OpenClaw with Slack: A Practical Guide

·4 min read

Slack is where work gets discussed, decisions get made, and follow-ups get lost if nobody pulls the threads together. A Slack AI assistant is most useful when it helps teams summarise busy channels, surface unanswered mentions, extract action items, and turn conversation flow into clear updates, without forcing everyone to read everything themselves. If you are running OpenClaw yourself, Slack is also the main operating surface, which means Cody is the faster path if you want the assistant experience without managing the Slack app, tokens, permissions, or infrastructure.

How OpenClaw Integrations Work

OpenClaw is a self-hosted AI assistant that runs on your own server — typically an EC2 instance — and connects to Slack. It uses Claude under the hood to process requests. Out of the box, OpenClaw doesn't ship with pre-built connections to third-party tools. Instead, integrations are built using the skills system: markdown files in ~/.openclaw/skills/ that give Claude instructions for a particular domain, combined with HTTP tool calls to any API you expose to it.

In practice, adding a real integration means: getting API credentials from the third-party service, building or configuring a small proxy/endpoint that OpenClaw can call, and writing a skill file that tells Claude how to use it. For some tools this is an afternoon of work. For others — like Slack — it's considerably more involved.

Connecting OpenClaw with Slack: Step by Step

Step 1: Create a Slack App in Your Workspace

Go to api.slack.com/apps and create a new app from a manifest. OpenClaw requires specific OAuth scopes to read messages, send replies, and handle slash commands. At minimum you'll need: app_mentions:read, chat:write, channels:history, im:history, im:write. You'll also need to enable Socket Mode or configure event subscriptions pointing at your OpenClaw server's public endpoint.

Step 2: Configure OpenClaw with Your Slack Credentials

Once your Slack app is created, copy the Bot Token (xoxb-...) and Signing Secret into your OpenClaw configuration. If you're using Socket Mode (recommended for servers without a public domain), you'll also need an App-Level Token (xapp-...). Set these as environment variables on your EC2 instance and restart the OpenClaw daemon.

Step 3: Install the App and Test

Install the app to your workspace via the OAuth flow. Invite the bot to a channel (/invite @yourcody) and mention it with a test question. If the bot responds, the core integration is working. From here you can configure which channels it listens in, set up a dedicated #ask-cody channel, and start adding skill files for the tools your team uses.

Challenges and Caveats

Socket Mode vs Public Endpoints

If your OpenClaw server doesn't have a static public IP or domain, Socket Mode is the easier path — it uses outbound WebSocket connections rather than requiring Slack to reach your server. However, Socket Mode has different rate limits and reconnection behaviour. For production teams, a proper public HTTPS endpoint is more reliable.

Slack's Rate Limits Apply to Your Bot

Slack applies rate limits per method per workspace. If your team is active and multiple people are querying the bot simultaneously, you may hit the Tier 2/3 limits on chat.postMessage. OpenClaw handles basic retry logic, but very high-volume workspaces may need to think about message queuing.


Skip All of This — Use Cody Instead

Cody turns Slack into the place your team gets answers, summaries, action items, and cross-tool context. Connect your workspace once and let Cody work inside Slack without building or maintaining any Slack-bot infrastructure.

Get started with Cody →


Related Guides


Need the model-flexible version? See: How to Connect Slack to OpenClaw: Setup, Models, and Workflow Guide.