必须完成Slack应用注册、权限配置、事件订阅和OpenClaw侧Token注入四步闭环,缺一不可;需获取App ID、Signing Secret、Bot Token(xoxb-)和App-Level Token(xapp-),并正确填入config.yaml的slack配置块,启用socket_mode:true,否则将出现invalid_auth错误或消息静默。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Docker环境中成功运行OpenClaw并让它真正与Slack双向通信,不能只靠启动容器,必须完成Slack应用注册、权限配置、事件订阅和OpenClaw侧的Token注入四步闭环。跳过任一环节,消息就只能单向发送或完全静默。
创建Slack应用并获取凭证
登录Slack API管理后台 → 点击“Create New App” → 选择“From scratch” → 输入应用名称(如openclaw-prod)→ 选择你的工作区 → 进入App Settings页面。
在“Basic Information”区域,复制【App ID】和【Signing Secret】——这两个值后续必须填入OpenClaw配置文件,缺一不可,否则所有事件都会被拒绝。
点击左侧菜单“OAuth & Permissions” → 在“Scopes”区域,至少添加以下Bot Token Scopes:channels:read、chat:write、groups:read、im:read、mpim:read。不加chat:write,OpenClaw将无法回复任何消息。
滚动到底部,点击“Install to Workspace” → 允许授权 → 复制生成的Bot User OAuth Token(以xoxb-开头),这就是OpenClaw连接Slack所需的主身份凭证。
启用Socket Mode并获取App-Level Token
回到App Settings页面 → 左侧选择“Socket Mode” → 开关设为ON → 勾选“Enable Socket Mode” → 点击“Generate Socket Mode Token” → 复制生成的App-Level Token(以xapp-开头)。
这个Token和Bot Token不同,它用于建立长连接接收实时事件,必须填入OpenClaw的socket_mode: true配置项下,否则OpenClaw只会轮询拉取消息,延迟高且易丢事件。
保存后,Slack会自动为你分配一个App ID,无需手动填写——OpenClaw启动时会从环境变量或配置文件中读取该ID,与后台自动匹配。
配置OpenClaw的Slack参数
编辑宿主机上的~/.openclaw/config.yaml文件,在services:节点下补充Slack配置块:
slack: bot_token: "xoxb-xxxxxxxxxxxxxxxxxxxxxxxx" app_token: "xapp-xxxxxxxxxxxxxxxxxxxxxxxx" signing_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxx" socket_mode: true
⚠️注意:三个Token必须一一对应,填错任意一个,容器日志会出现invalid_auth错误且无法恢复,需重启容器才生效。
确保~/.openclaw目录权限为755,且OpenClaw容器启动时已正确挂载该路径,否则配置不会被加载。
启动容器并验证连接状态
执行docker-compose up -d(假设你使用docker-compose方式)或./docker-setup.sh(若用官方脚本)→ 等待容器状态变为healthy。
运行docker logs openclaw-server 2>&1 | grep -i slack,确认输出中包含Connected to Slack via Socket Mode和Listening for events...字样。
打开Slack,在任意已授权频道发送/openclaw help → 若收到结构化响应卡片,说明Slack指令已通;若无反应,检查OAuth & Permissions中是否遗漏commands作用域或未在“Event Subscriptions”中启用message.channels事件。


















