Cloudo AgentsCloudo Agents

把你的智能体接入 Slack

大约 10 分钟。完成后,你的智能体就能在 Slack 工作区里回复消息了——既可以作为同事 @-提及的伙伴, 也可以作为可发私信的助手。

开始之前

  • 已经部署好、并在门户中显示为 active(在线)的智能体
  • 一个你有权限安装应用的 Slack 工作区。如果你的工作区要求管理员审批新应用, 你需要让管理员批准安装——大多数小型工作区不需要这一步。
  • 大约 10 分钟
核心概念

一个 Slack “app”(应用)是一组权限(叫做 scopes,作用域)的集合, 你把它安装到某个具体的工作区。你在 Slack 的管理网站创建应用,挑选你需要的作用域(读消息、发消息等), 安装到工作区,Slack 会给你两个密钥:一个 Bot Token(以机器人身份操作), 一个 Signing Secret(让 OpenClaw 验证收到的事件确实来自 Slack)。 你把这两个值粘贴到 OpenClaw,智能体就上线了。

步骤 1 — 创建 Slack 应用

  1. 打开 api.slack.com/apps。如果没登录,先登录。
  2. 点击 Create New App,然后选 From scratch
  3. 起个名字——这就是机器人在 Slack 里显示的名称。直接用智能体的名字就行。例如:Acme Support
  4. 选择要安装的工作区。点击 Create App

步骤 2 — 添加机器人作用域

  1. 现在你应该在应用的设置页面。在左侧栏点击 OAuth & Permissions
  2. 滚动到 ScopesBot Token Scopes。点击 Add an OAuth Scope,依次添加以下作用域:
    • app_mentions:read — 接收对机器人的 @-提及
    • chat:write — 以机器人身份发送消息
    • channels:history — 读取机器人所在的公开频道中的消息
    • im:history — 读取发给机器人的私信
    • im:read — 查找私信会话
    • im:write — 与用户发起私信
    • users:read — 将用户 ID 解析为显示名(这样智能体就能按名字称呼对方)
  3. 如果你想让机器人也能在私有频道工作,加上 groups:history。 如果你想让它在与外部组织共享的频道里工作,加上 conversations.connect:read。除非你确实需要,否则不要加——作用域越少越好。

步骤 3 — 订阅事件

  1. 在左侧栏点击 Event Subscriptions,把 Enable Events 切换为开启。
  2. Request URL 字段需要填入 OpenClaw 提供的 Slack 事件 URL—— 你将在步骤 5 拿到这个值。现在先跳过,稍后回来填。
  3. 滚动到 Subscribe to bot eventsAdd Bot User Event ,添加:
    • app_mention — 有人 @-提及机器人时,机器人会收到通知
    • message.im — 机器人接收私信
    • message.channels — 机器人能看到它所在公开频道中的消息 (如果你只想要 @-提及行为,可跳过)
  4. 点击底部的 Save Changes

步骤 4 — 把应用安装到你的工作区

  1. 回到 OAuth & Permissions,滚动到顶部,点击 Install to Workspace
  2. Slack 会显示申请的作用域。检查一下,然后点击 Allow
  3. 你会回到 OAuth & Permissions 页面。复制 Bot User OAuth Token——它以 xoxb- 开头:
    xoxb-1234567890123-1234567890123-abcdefGHIJKLmnopQRSTuvwx
  4. 然后点击左侧栏的 Basic Information。滚动到 App Credentials,复制 Signing Secret(先点 Show)。它看起来是一长串十六进制字符。
这两个值都是密钥

有了 bot token,任何人都能以你的机器人身份在这个工作区收发消息。 有了 signing secret,任何人都能伪造看起来像来自 Slack 的事件。不要把它们粘贴到公开频道、截图、gist 或 git 提交里。 如果 token 泄漏,去 OAuth 页面点 Revoke Token 然后重新安装; 如果 signing secret 泄漏,去 Basic Information 重新生成。

步骤 5 — 把两个值粘贴到 OpenClaw

  1. 在 Cloudo 门户里,对你要连接的智能体点击 Open my OpenClaw
  2. 打开 Channels 标签页。
  3. 点击 Slack,然后点击 Connect
  4. Bot Token(步骤 4)和 Signing Secret (步骤 4)粘贴到对应字段。
  5. 点击 Save。OpenClaw 会显示 Slack 应用所需的 Request URL
    https://<your-agent>.cloudoagents.com/slack/events
  6. 复制这个 URL。

步骤 6 — 完成 Slack 应用与 OpenClaw 的对接

  1. 回到 Slack 应用的设置页面,再次进入 Event Subscriptions
  2. 把步骤 5 得到的 Request URL 粘贴到 Request URL 字段。
  3. Slack 会立即对该 URL 发起一次验证挑战。一两秒之内应该会显示绿色的 Verified ✓。如果显示红色,请跳到 故障排查
  4. 点击 Save Changes
  5. Slack 可能会提示你重新安装应用以应用新的事件 URL——点击 Reinstall 并批准即可。

步骤 7 — 邀请机器人并打个招呼

  1. 在 Slack 里,打开你想让机器人加入的频道。输入 /invite @Acme Support (把名字换成你自己机器人的名字)然后回车。Slack 会把机器人加进频道。
  2. @-提及机器人:
    @Acme Support hi, what can you do?
  3. 智能体应该在几秒内以它配置好的语气回复。
  4. 或者在 Slack 侧边栏打开和机器人的私信,直接发消息——私信里不需要 @-提及。

可选润色

斜杠命令

OpenClaw 可以注册 Slack 斜杠命令,例如 /ask/reset /contact-human。在 OpenClaw 的 Slack 频道配置里设置它们; OpenClaw 会引导你在 Slack 应用的 Slash Commands 页面添加对应命令 (每个命令一条记录,都指向同一个 Request URL 模式)。

限定频道范围

默认情况下,机器人会在任何被邀请加入的频道里响应。如果你只希望它出现在特定频道, 那就别邀请它去其它频道。若想更严格地限制,可使用 OpenClaw 的 Slack 频道白名单设置。

应用图标和描述

回到 Slack 应用的 Basic Information 页面,滚动到 Display Information:上传一张方形图标(你的 logo 就行), 设置一段简短描述,挑一个背景色。这就是同事将鼠标悬停在机器人名字上或打开其个人资料时看到的内容。

分发到其它工作区

如果你希望同一个智能体可以被安装到其它工作区(例如你正在向自己的客户售卖基于 Slack 的产品), 请在 Manage Distribution 页面启用 Public Distribution。 每个工作区安装时都会生成独立的 bot token;OpenClaw 会按工作区分别存储。

故障排查

Request URL 验证失败(红色提示 “Your URL didn't respond”)

按顺序检查:

  1. 你智能体的子域名——在门户里显示在 Open my OpenClaw 旁边—— 能在浏览器里打开。如果不行,说明智能体不可达,Slack 自然也访问不到。
  2. URL 末尾必须正好是 /slack/events(不能有末尾斜杠,不能有拼写错误)。
  3. 你在步骤 5 粘贴到 OpenClaw 的是 Signing Secret,不是 App ID 或 Client Secret。 Slack 的挑战是签名过的,缺少 signing secret 会导致验证悄无声息地失败。

“not_in_channel”,或机器人在私信能回复但在频道里不回复

机器人必须被邀请加入每一个它要发言的频道。在频道里输入 /invite @YourBot。即便机器人拥有 channels:history, Slack 也不会自动把它加进频道。

OpenClaw 日志里出现 “missing_scope” 错误

到 Slack 应用的 OAuth & Permissions 页面添加缺失的作用域, 然后 重新安装该应用(页面会提示)。在作用域变更之前签发的 bot token 不会自动拥有新作用域,必须重新安装才会生效。

机器人在频道里,但被 @-提及时没反应

按顺序检查:

  1. 你在 Event Subscriptions 里添加了 app_mention 机器人事件 (步骤 3)并保存了。
  2. 添加事件后你重新安装了应用(Slack 会提示,这一步容易被跳过)。
  3. 你的额度余额大于零——连接会保持在线,但额度耗尽后智能体不会回复。
  4. OpenClaw 的 Channels 标签页里,连接状态显示为 connected(而不是 error)。

我想从一个工作区卸载机器人

在 Slack 里:Workspace settingsManage apps → 找到你的应用 → Remove app。应用本身仍然在 api.slack.com 注册着 (以后可以重新安装),但机器人会从该工作区移除,token 也会失效。

我想完全删除这个应用

api.slack.com/apps → 你的应用 → Basic Information → 最底部的 Delete App。这会永久失效该 token 和 signing secret。


完成。你的智能体现在能在 Slack 上回应了,拥有和其它每一个渠道完全一样的灵魂与技能。 一个智能体,所有渠道。

下一步:如果还没接入,连接 Discord Telegram, 或者返回 文档首页

接入 Slack — Cloudo 文档