Skip to content
广告 · 本站推荐广告

Slack - 企业协作平台接入

Slack 是全球领先的企业协作平台。通过创建 Slack App(应用),可以将 OpenClaw 接入 Workspace(工作区),实现团队自动化协作。

前置要求

  • 一个 Slack Workspace 及管理员权限
  • OpenClaw Gateway(网关)已安装并运行

创建 Slack App

第一步:创建应用

  1. 访问 Slack API 控制台
  2. 点击 Create New App > From scratch
  3. 输入 App 名称,选择目标 Workspace
  4. 点击 Create App

第二步:启用 Socket Mode(套接字模式)

  1. 在左侧导航栏点击 Socket Mode
  2. 开启 Enable Socket Mode
  3. 系统会提示你创建 App-Level Token(应用级令牌)
  4. 输入 Token 名称(如 openclaw-socket),添加 connections:write Scope(权限范围)
  5. 记录生成的 App Token,格式为 xapp-xxx

第三步:创建 Bot Token(机器人令牌)

  1. 在左侧导航栏点击 OAuth & Permissions
  2. Bot Token Scopes 中添加以下 OAuth Scopes(权限范围):
Scope说明
chat:write允许发送消息
channels:history读取公共频道消息历史
groups:history读取私有频道消息历史
im:history读取私聊消息历史
app_mentions:read读取 @提及 消息
assistant:write支持 AI 助手功能
  1. 点击页面顶部的 Install to Workspace,授权应用
  2. 记录 Bot User OAuth Token,格式为 xoxb-xxx

第四步:配置 Event Subscriptions(事件订阅)

  1. 在左侧导航栏点击 Event Subscriptions
  2. 开启 Enable Events
  3. 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 restart

Socket 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(私聊配对)流程

  1. 用户在 Slack 中向 Bot 发送私聊消息
  2. Bot 返回一个 Pairing Code(配对码)
  3. 管理员在终端中批准:
bash
openclaw pairing approve slack <pairing-code>
  1. 配对成功后用户即可正常对话

Channel Allowlist(频道白名单)

限制 Bot 只在特定 Channel 中工作:

json5
{
  channels: {
    slack: {
      allowChannels: [
        "C01ABCDEFGH",     // Channel ID
        "C02HIJKLMNO"
      ]
    }
  }
}

获取 Channel ID:右键点击频道名称 > View channel details > 底部即可看到 Channel ID。

常见问题

Bot 不响应消息

  1. 确认 Event Subscriptions 已正确配置
  2. 检查 Bot 是否已被邀请到目标 Channel(在 Channel 中输入 /invite @bot-name
  3. 查看 Gateway 日志确认事件是否被接收

Token 错误

  • xoxb- 开头的是 Bot Token,用于 botToken 字段
  • xapp- 开头的是 App Token,用于 appToken 字段
  • 不要混淆两者,否则连接将失败

权限不足

如果修改了 OAuth Scopes,需要重新安装 App 到 Workspace:

  1. 前往 OAuth & Permissions 页面
  2. 点击 Reinstall to Workspace
  3. 重新授权

🇨🇳 中国用户须知

Slack 在中国大陆可以访问但速度较慢,且国内企业使用率较低。

国内替代方案

  • 企业微信(WeCom):腾讯出品,适合已使用微信生态的团队
  • 钉钉(DingTalk):阿里出品,适合中小企业
  • 飞书(Feishu/Lark):字节跳动出品,适合互联网团队

以上国内平台的接入方式请参考 企业 IM 接入 文档。

仍需使用 Slack 的场景:跨国团队协作、与海外客户沟通、开源社区运营等。此类场景建议将 OpenClaw 服务器部署在海外,以获得最佳连接质量。

基于MIT协议开源 | 内容翻译自 官方文档,同步更新