🦞
渠道集成

连接 OpenClaw 到 Slack

将 OpenClaw 添加到你的 Slack 工作区。在频道、话题或私信中获得 AI 帮助,支持斜杠命令。

💼 为什么使用 Slack?
  • WebSocket 连接通过 Slack Bot API + Socket Mode 实现实时消息
  • 斜杠命令原生 /clawd 命令界面
  • 话题支持保持对话有序,带历史上下文
  • 富文本格式格式化响应支持表情和置顶
  • 灵活访问私信、公开频道和私密频道
需求
  • Slack Bot Token以 xoxb-... 开头
  • Slack App Token以 xapp-... 开头(用于 Socket Mode)
  • Slack App配置了适当的 OAuth 作用域

设置步骤

1

创建 Slack 应用

前往 Slack API 门户创建新应用:

  • • 访问 api.slack.com/apps
  • • 点击「Create New App」
  • • 选择「From scratch」
  • • 命名(如「OpenClaw」)并选择你的工作区
2

添加 Bot Token 作用域

为你的机器人配置 OAuth 权限:

  • • 前往侧边栏的「OAuth & Permissions」
  • • 在「Bot Token Scopes」下添加:
  • - app_mentions:read — 读取提及
  • - channels:history — 查看频道消息
  • - channels:read — 查看频道信息
  • - chat:write — 发送消息
  • - im:history — 查看私信历史
  • - im:read — 查看私信信息
  • - im:write — 发起私信对话
  • - reactions:write — 添加表情
  • - users:read — 查看用户信息
3

启用 Socket Mode

Socket Mode 允许无需公开 URL 即可实时通信:

  • • 前往侧边栏的「Socket Mode」
  • • 打开「Enable Socket Mode」
  • • 生成具有 connections:write 作用域的 App-Level Token
  • • 复制 token(以 xapp-... 开头)
4

安装应用到工作区

安装应用并获取 Bot Token:

  • • 前往侧边栏的「Install App」
  • • 点击「Install to Workspace」
  • • 授权请求的权限
  • • 复制 Bot User OAuth Token(以 xoxb-... 开头)
5

配置 OpenClaw

将 Slack 配置添加到你的 openclaw.json:

{
  "channels": {
    "slack": {
      "enabled": true,
      "botToken": "xoxb-...",
      "appToken": "xapp-..."
    }
  }
}
6

邀请机器人到频道

将机器人添加到你想让它响应的频道:

  • • 在 Slack 中打开频道
  • • 输入 /invite @OpenClaw
  • • 或点击频道名称 -> 集成 -> 添加应用
  • • 运行 openclaw restart 重启 OpenClaw 并通过 @机器人 测试。
功能

话题支持

在话题中维护对话上下文,可配置历史范围。

表情回应

机器人可添加表情以确认消息或指示状态。

消息置顶

置顶重要响应以便稍后参考。

斜杠命令

使用 /clawd 随时快速查询 AI。

成员信息

需要时查找工作区成员信息。

私信支持

与机器人进行私密一对一对话。

高级配置

Slack 集成的完整配置选项:

{
  "channels": {
    "slack": {
      "enabled": true,
      "botToken": "xoxb-...",
      "appToken": "xapp-...",
      "dm": {
        "enabled": true,
        "policy": "pairing",
        "allowFrom": ["U123", "U456"]
      },
      "channels": {
        "#general": {
          "allow": true,
          "requireMention": true,
          "users": ["U123"]
        }
      },
      "historyLimit": 50,
      "slashCommand": {
        "enabled": true,
        "name": "clawd"
      },
      "actions": {
        "reactions": true,
        "messages": true,
        "pins": true
      }
    }
  }
}
  • dm.enabled允许向机器人发送私信
  • dm.policy私信访问策略(「pairing」或「open」)
  • dm.allowFrom允许发送私信的用户 ID 数组
  • channels每个频道的配置对象
  • requireMention只在被 @提及 时响应
  • historyLimit作为上下文包含的消息数量
  • slashCommand配置斜杠命令设置
  • actions启用/禁用表情、消息和置顶
频道策略

白名单模式

只在明确配置的频道中响应。适合受控环境。

开放模式

在机器人被邀请的所有频道中响应。使用 requireMention 来限制响应。

如何获取 Slack 用户 ID

从个人资料:

点击用户名 -> 查看个人资料 -> 点击三个点(...)-> 复制成员 ID

从 Slack 管理后台:

工作区设置 -> 管理成员 -> 导出成员列表为 CSV

⚠️ 故障排除

机器人在频道中不响应?

确保机器人已被邀请到频道并具有正确的作用域。检查是否启用了 requireMention。

Socket Mode 连接错误?

验证你的 App Token(xapp-...)是否正确且具有 connections:write 作用域。

斜杠命令不显示?

前往 Slack 应用设置的「Slash Commands」手动创建命令,指向 Socket Mode。

权限被拒绝错误?

添加新作用域后需要重新安装应用到工作区。某些作用域更改需要重新安装。

Slack 已连接!

现在配置更多渠道或使用自定义技能增强你的机器人。