Cloudo AgentsCloudo Agents

把您的代理人連到 Slack

大約 10 分鐘。完成後,您的代理人就會在 Slack 工作區中回應 — 可以是同事 @-提及的隊友,或是能私訊對話的助理。

開始之前

  • 一個已經部署、在入口網站顯示為 active 的代理人
  • 一個您有權限安裝應用程式的 Slack 工作區。如果您的工作區規定新應用程式需要管理員核准,您會需要管理員批准安裝 — 大部分小型工作區不會有這個限制。
  • 大約 10 分鐘
整體概念

Slack 的「app」是一組權限(稱為 scopes)的集合,可以安裝到特定工作區。您在 Slack 的管理網站建立 app、挑選需要的 scope(讀訊息、發訊息等)、把它安裝到工作區,然後 Slack 會給您兩組密鑰:一個 Bot Token(代表機器人的身分執行動作)和一個 Signing Secret(讓 OpenClaw 能驗證收到的事件確實來自 Slack)。把兩者貼進 OpenClaw,代理人就上線了。

步驟 1 — 建立一個 Slack app

  1. 前往 api.slack.com/apps。如果還沒登入請先登入。
  2. Create New App,然後選 From scratch
  3. 取個名字 — 這就是它在 Slack 中顯示的機器人名稱。直接用代理人的名字就好。範例:Acme Support
  4. 挑選您要安裝的工作區。點 Create App

步驟 2 — 加入 bot scopes

  1. 您現在應該在 app 的設定頁面。在左側選單點 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。除非確實需要,否則不要加 — scope 越少越好。

步驟 3 — 訂閱事件

  1. 在左側選單點 Event Subscriptions,把 Enable Events 切到開啟。
  2. Request URL 欄位請貼上 OpenClaw 提供的 Slack 事件網址 — 您會在步驟 5 取得這個網址。現在先跳過這個欄位,稍後再回來填。
  3. 捲到 Subscribe to bot eventsAdd Bot User Event 並加入:
    • app_mention — 有人 @-提及機器人時通知它
    • message.im — 機器人收到私訊
    • message.channels — 機器人能看到它所在公開頻道的訊息(如果您只想要 @-提及的行為,可略過)
  4. 點頁面最下方的 Save Changes

步驟 4 — 把 app 安裝到您的工作區

  1. 回到 OAuth & Permissions,捲到最上方,點 Install to Workspace
  2. Slack 會顯示所要求的 scopes。檢查無誤後,點 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 commit 裡。如果 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 app 需要填入的 Request URL
    https://<your-agent>.cloudoagents.com/slack/events
  6. 複製這個網址。

步驟 6 — 完成 Slack app 與 OpenClaw 的最後接線

  1. 回到您 Slack app 的設定,回到 Event Subscriptions
  2. 把步驟 5 的 Request URL 貼進 Request URL 欄位。
  3. Slack 會立刻對該網址發送一個驗證挑戰。一兩秒內應該會顯示綠色的 Verified ✓。如果顯示紅色,請跳到 疑難排解
  4. Save Changes
  5. Slack 可能會提示您重新安裝 app 以套用新的事件網址 — 點 Reinstall 並核准。

步驟 7 — 邀請機器人並打聲招呼

  1. 在 Slack 中,打開您要放機器人的頻道。輸入 /invite @Acme Support (把名字換成您機器人的),按 Enter。Slack 會把機器人加進該頻道。
  2. @-提及機器人:
    @Acme Support hi, what can you do?
  3. 代理人應該會在幾秒內,以設定好的語氣回覆。
  4. 或者,從 Slack 側欄打開與機器人的私訊,直接傳訊息給它就好 — 在私訊中不需要 @-提及。

選擇性的進階設定

斜線指令

OpenClaw 可以註冊像 /ask/reset/contact-human 這類 Slack 斜線指令。在 OpenClaw 的 Slack channel 設定中設定;OpenClaw 會引導您在 Slack app 的 Slash Commands 頁面加入對應的指令(每個指令一筆,指向相同的 Request URL 樣式)。

頻道限定

預設情況下,機器人會在所有受邀進入的頻道中回應。如果您只想讓它在特定頻道運作,那就不要把它邀進其他頻道。若要更嚴格控管,請使用 OpenClaw 的 Slack 頻道允許清單設定。

App 圖示與描述

回到您 Slack app 的 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. 網址結尾正好是 /slack/events(沒有結尾斜線、沒有錯字)。
  3. 您貼進 OpenClaw 的是 Signing Secret(步驟 5),而不是 App ID 或 Client Secret。Slack 的挑戰是經過簽章的,少了 signing secret 會讓驗證默默失敗。

「not_in_channel」或機器人能在私訊回應但在頻道中卻不行

機器人必須被邀請到它要發言的每個頻道。請在頻道中輸入 /invite @YourBot。即使機器人有channels:history,Slack 也不會自動把它加進頻道。

OpenClaw 的記錄出現「missing_scope」錯誤

在 Slack app 的 OAuth & Permissions 頁面加入缺少的 scope,然後 重新安裝 app(頁面會提示)。在 scope 變更前發行的 bot token,要等重新安裝後新的 scope 才會生效。

機器人已經在頻道中,但被 @-提及時沒回應

依序檢查:

  1. 您已在 Event Subscriptions 加入 app_mention bot event(步驟 3)並儲存。
  2. 加入事件之後,您已經重新安裝過 app(Slack 會提示,但很容易跳過)。
  3. 您的額度餘額大於零 — 連線會保持,但額度用完代理人就不會回覆。
  4. OpenClaw 的 Channels 分頁顯示連線為 connected(不是 error)。

我想把機器人從工作區解除安裝

在 Slack:Workspace settingsManage apps → 找到您的 app → Remove app。app 仍會註冊在 api.slack.com(之後可以重新安裝),但已經從工作區移除,token 也作廢。

我想完全刪除這個 app

api.slack.com/apps → 您的 app → Basic Information → 最下方的 Delete App。這會永久作廢 token 與 signing secret。


完成了。您的代理人現在已經在 Slack 上回應,並具備與其他管道相同的 SOUL 與能力。一個代理人、所有管道。

下一步:連接 Discord Telegram(如果還沒設定的話),也可以回到 文件首頁

連接 Slack — Cloudo 文件