Slack - 企业协作平台接入
Slack 是全球领先的企业协作平台。通过创建 Slack App(应用),可以将 OpenClaw 接入 Workspace(工作区),实现团队自动化协作。
前置要求
- 一个 Slack Workspace 及管理员权限
- OpenClaw Gateway(网关)已安装并运行
创建 Slack App
第一步:创建应用
- 访问 Slack API 控制台
- 点击 Create New App > From scratch
- 输入 App 名称,选择目标 Workspace
- 点击 Create App
第二步:启用 Socket Mode(套接字模式)
- 在左侧导航栏点击 Socket Mode
- 开启 Enable Socket Mode
- 系统会提示你创建 App-Level Token(应用级令牌)
- 输入 Token 名称(如
openclaw-socket),添加connections:writeScope(权限范围) - 记录生成的 App Token,格式为
xapp-xxx
第三步:创建 Bot Token(机器人令牌)
- 在左侧导航栏点击 OAuth & Permissions
- 在 Bot Token Scopes 中添加以下 OAuth Scopes(权限范围):
| Scope | 说明 |
|---|---|
chat:write | 允许发送消息 |
channels:history | 读取公共频道消息历史 |
groups:history | 读取私有频道消息历史 |
im:history | 读取私聊消息历史 |
app_mentions:read | 读取 @提及 消息 |
assistant:write | 支持 AI 助手功能 |
- 点击页面顶部的 Install to Workspace,授权应用
- 记录 Bot User OAuth Token,格式为
xoxb-xxx
第四步:配置 Event Subscriptions(事件订阅)
- 在左侧导航栏点击 Event Subscriptions
- 开启 Enable Events
- 在 Subscribe to bot events 中添加:
app_mention— Bot 被 @提及 时触发message.channels— 公共频道新消息message.im— 私聊新消息
第五步:配置 OpenClaw
json5
{
channels: {
slack: {
enabled: true,
botToken: "xoxb-xxx", // Bot User OAuth Token
appToken: "xapp-xxx", // App-Level Token
dmPolicy: "pairing" // DM Policy(私信策略)
}
}
}也可以通过 Environment Variable(环境变量)设置:
bash
export SLACK_BOT_TOKEN="xoxb-xxx"
export SLACK_APP_TOKEN="xapp-xxx"第六步:重启 Gateway
bash
openclaw gateway restartSocket Mode vs HTTP 模式
Socket Mode(推荐)
通过 WebSocket 连接接收事件,无需公网 IP 和 HTTPS 证书。上述配置即为 Socket Mode。
HTTP 模式
如果无法使用 Socket Mode,可以改用传统 HTTP 回调模式:
json5
{
channels: {
slack: {
enabled: true,
botToken: "xoxb-xxx",
signingSecret: "your-signing-secret", // Signing Secret(签名密钥)
webhookUrl: "https://your-domain.com/api/channels/slack/events"
}
}
}HTTP 模式要求
- 需要公网可访问的 HTTPS 地址
signingSecret可在 App 的 Basic Information 页面找到- 需要在 Event Subscriptions 中设置 Request URL
DM Pairing(私聊配对)流程
- 用户在 Slack 中向 Bot 发送私聊消息
- Bot 返回一个 Pairing Code(配对码)
- 管理员在终端中批准:
bash
openclaw pairing approve slack <pairing-code>- 配对成功后用户即可正常对话
Channel Allowlist(频道白名单)
限制 Bot 只在特定 Channel 中工作:
json5
{
channels: {
slack: {
allowChannels: [
"C01ABCDEFGH", // Channel ID
"C02HIJKLMNO"
]
}
}
}获取 Channel ID:右键点击频道名称 > View channel details > 底部即可看到 Channel ID。
常见问题
Bot 不响应消息
- 确认 Event Subscriptions 已正确配置
- 检查 Bot 是否已被邀请到目标 Channel(在 Channel 中输入
/invite @bot-name) - 查看 Gateway 日志确认事件是否被接收
Token 错误
xoxb-开头的是 Bot Token,用于botToken字段xapp-开头的是 App Token,用于appToken字段- 不要混淆两者,否则连接将失败
权限不足
如果修改了 OAuth Scopes,需要重新安装 App 到 Workspace:
- 前往 OAuth & Permissions 页面
- 点击 Reinstall to Workspace
- 重新授权
🇨🇳 中国用户须知
Slack 在中国大陆可以访问但速度较慢,且国内企业使用率较低。
国内替代方案:
- 企业微信(WeCom):腾讯出品,适合已使用微信生态的团队
- 钉钉(DingTalk):阿里出品,适合中小企业
- 飞书(Feishu/Lark):字节跳动出品,适合互联网团队
以上国内平台的接入方式请参考 企业 IM 接入 文档。
仍需使用 Slack 的场景:跨国团队协作、与海外客户沟通、开源社区运营等。此类场景建议将 OpenClaw 服务器部署在海外,以获得最佳连接质量。
