What teams use OpenClaw in Slack for
"Summarize what happened in #product this week."
"Help me reply to this customer thread politely."
"Where's our refund policy?" answered in a thread.
"Collect today's updates and post a summary at 5pm."
Flag urgent messages in #support and suggest an owner.
Answers with native Slack charts, tables and forms.
What you need
- OpenClaw running on an always-on machine
Your team will expect it to answer during work hours. A VPS or office server is ideal.
- Permission to install apps
A workspace admin, or approval from one. Many company workspaces require admin approval for new apps.
- A plan for access
Decide which channels and people can use it. See team settings.
Create the Slack app from the manifest
- Go to
api.slack.com/apps, click Create New App and choose From a manifest. - Pick your workspace.
- Paste the manifest below. Rename the bot first if you like. Then click Next and Create.
Manifest builder
Customize the name your team sees. Scopes and events stay as OpenClaw needs them.
This is the official base manifest from the OpenClaw docs. It sets up Socket Mode, the bot user, App Home, Slack's Agent View with suggested prompts, a slash command, 23 bot scopes and the events OpenClaw listens to.
Generate the app-level token
- In your new app, open Basic Information › App-Level Tokens and click Generate Token and Scopes.
- Name it (for example "socket") and add the
connections:writescope. - Click Generate and copy the token. It starts with
xapp-.
Install the app to your workspace
- Open Install App and click Install to Workspace. If your workspace needs admin approval, request it here.
- Review the permissions and click Allow.
- Copy the Bot User OAuth Token. It starts with
xoxb-.
xapp-…App-level tokenOpens the Socket Mode connectionxoxb-…Bot tokenReads and posts messages as the botKeep both secret. Anyone with them can act as your bot in your workspace.
Connect OpenClaw to Slack
Store the tokens as environment variables, not in the config file. Add them to ~/.openclaw/.env so the background service can read them:
SLACK_APP_TOKEN=xapp-...
SLACK_BOT_TOKEN=xoxb-...Then point the Slack channel at them in ~/.openclaw/openclaw.json:
{
channels: {
slack: {
enabled: true,
mode: "socket",
appToken: { source: "env", provider: "default", id: "SLACK_APP_TOKEN" },
botToken: { source: "env", provider: "default", id: "SLACK_BOT_TOKEN" },
},
},
}Restart and check the connection:
openclaw gateway restart
openclaw channels status --probeApprove yourself and invite it to channels
- DM the app. Find OpenClaw under Apps in Slack's sidebar and send a message. Direct messages use pairing by default, so you'll get a code.
- Approve it:
Terminal
openclaw pairing list slack openclaw pairing approve slack <CODE> - Invite it to a channel by typing this in the channel:
Slack
/invite @OpenClaw - Mention it to ask something: "@OpenClaw summarize this channel."
Recommended team settings
A shared assistant acts with whatever access you give it. Start narrow and widen as your team gets comfortable.
Running a large company? OpenClaw supports Enterprise Grid org-wide installs across Grid organizations. Read the security guide before rolling out widely.
What the Slack permissions are for
Your admin will ask what the app can access. Here are the manifest's bot scopes in plain English:
| Area | Scopes | Why OpenClaw needs it |
|---|---|---|
| Mentions | app_mentions:read | See when someone @mentions it |
| Channels | channels:history, channels:read, groups:history, groups:read | Read public and private channels it's been invited to |
| Direct messages | im:*, mpim:* | Chat one-to-one and in group DMs |
| Posting | chat:write, assistant:write | Reply, and work in Slack's agent view |
| Commands | commands | The slash command |
| Files | files:read, files:write | Read shared files and upload results |
| Reactions and pins | reactions:*, pins:*, emoji:read | React, see reactions and pin key messages |
| People | users:read, usergroups:read | Know who's who and handle @group mentions |
The bot can only read channels it has been invited to.
OpenClaw features in Slack
Opens in Slack's assistant panel with suggested prompts like "Summarize this channel".
/openclaw sends a message from anywhere.
A home tab and private messages tab for one-to-one chats.
Native charts, tables and forms in replies.
Each thread can keep its own session and context.
Works with what your team shares and marks as important.
Socket Mode vs HTTP Request URLs
| Mode | How it works | Best for |
|---|---|---|
| Socket Mode default | OpenClaw opens an outgoing connection to Slack with the app-level token. No public URL or open ports. | Almost everyone, including laptops and private servers |
| HTTP Request URLs | Slack sends events to a public HTTPS address on your server, verified with the signing secret | Setups that need classic webhooks behind a load balancer |
| Relay | Events arrive through a trusted router | Managed deployments |
Fix common Slack problems
No reply in a channelInvite it with /invite @OpenClaw, mention it, and make sure the channel is in your allowlist.
Socket Mode won't connectCheck SLACK_APP_TOKEN starts with xapp- and has connections:write. The bot token starts with xoxb-, so check they aren't swapped.
missing_scopeYou changed the manifest after installing. Go to Install App and reinstall to apply new scopes.
Can't DM the appMake sure the App Home messages tab is enabled (it is in the manifest), then reinstall.
Install needs approvalYour workspace restricts apps. Ask an admin to approve OpenClaw. Share the permissions table above.
Tokens not foundThe background service reads ~/.openclaw/.env. Put the tokens there, not only in your terminal session.
More fixes: troubleshooting guide.
OpenClaw Slack questions
How do I add OpenClaw to Slack?
Create a Slack app from the OpenClaw manifest at api.slack.com/apps, generate an app-level token with connections:write, install the app to get the bot token, add both tokens to OpenClaw and restart the gateway. Then invite the bot to channels with /invite.
Does OpenClaw need a public URL for Slack?
No. OpenClaw uses Socket Mode by default, which opens an outgoing connection to Slack. HTTP Request URL mode, which needs a public HTTPS address and the signing secret, is optional.
Which Slack tokens does OpenClaw need?
Two for Socket Mode: an app-level token starting with xapp- that has the connections:write scope, and a bot token starting with xoxb- from installing the app. HTTP mode also uses the signing secret.
Can my whole team use one OpenClaw in Slack?
Yes. Invite it to shared channels, limit it with a channel allowlist and requireMention, and consider a separate team agent with its own memory and limited tools through multi-agent routing.
Does OpenClaw work with Slack Enterprise Grid?
Yes. OpenClaw supports org-wide installs across Enterprise Grid organizations.
Can OpenClaw read all my Slack channels?
No. The bot can only read channels it has been invited to, plus direct messages sent to it. You can narrow it further with a channel allowlist.