跳到主要内容

Slack

最近更新 2026/10/07

1. Slack App 配置​

  1. 访问 Slack API

  2. 创建新应用(或使用现有应用)

    • 选择 从空白应用开始("Blank app")
    • 输入 App Name 和选择 Workspace
  3. 获取应用凭证:

    • Client ID(在 Basic Information → App Credentials 中)
    • Client Secret(在 Basic Information → App Credentials 中)

2. 配置 App-Level Tokens​

  1. 在 Basic Information → App-Level Tokens 中,点击 "Generate Token and Scopes"
  2. 输入 Token 名称(如 connection_token)
  3. 添加 connections:write、authorizations:read 和 app_configurations:write scopes
  4. 点击 "Generate"
  5. 复制生成的 xapp-... 格式的 Token

3. 配置 OAuth & Permissions​

Slack 限制必须是 HTTPS,如无 可跳过该配置,采用方式一 绑定使用

在 Slack App 管理页面 → OAuth & Permissions 中:

3.1 添加 Redirect URLs​

https://your-domain:port/agent/api/slack-oauth/callback

示例:

注意:

  • 协议必须匹配(HTTPS)
  • 如果不是默认端口(80/443),需要带上端口号
  • 支持配置多个回调地址(开发/测试/生产)

3.2 配置 User Token Scopes​

在 OAuth & Permissions → Scopes → User Token Scopes 中添加:

  • identity.basic - 获取用户基本信息(必需)
  • identity.email - 获取用户邮箱(可选)

注意:添加或者修改 Scopes 后需要重新安装应用到 Workspace。

3.3 配置 Bot Token Scopes​

在 OAuth & Permissions → Scopes → Bot Token Scopes 中添加:

  • chat:write - 发送消息
  • app_mentions:read - 读取 @ 提及
  • channels:history - 读取频道历史消息
  • channels:read - 读取频道信息
  • groups:history - 读取私有频道历史消息
  • im:history - 读取私信历史消息
  • im:read - 读取私信信息
  • files:write-上传、编辑和删除文件
  • files:read- 查看共享的文件

4. 配置 App Home 和机器人​

  1. 在 App Home → Show Tabs 中启用:

- Home Tab - 用户可以在 Home 中与 Bot 交互

- Message Tab - Bot 的私信对话界面

勾选:Allow users to send Slash commands and messages from the messages tab

  1. 在 Interactivity & Shortcuts 中启用 Interactivity
  2. 在 Socket Mode 中启用 Socket Mode(如果使用 WebSocket 连接)

5. 添加 Event Subscriptions​

  1. 在 Event Subscriptions 中启用 Enable Events。
  2. 在 Subscribe to bot events 中添加 app_mention,用于接收公开或私有频道中 @App 发起的新任务。
  3. 添加 message.channels 和 message.groups,用于接收公开/私有频道 thread 中的等待回答和继续执行回复。
  4. 保留 message.im,用于接收私信消息。如还需要多人私信,可额外添加 message.mpim 并授予对应历史消息权限。
警告

Socket Mode、事件与交互检查:

  • App-Level Token 至少授予 connections:write,并开启 Enable Socket Mode。
  • Bot Token Scopes 至少包含 chat:write、app_mentions:read、channels:history、groups:history、im:history、files:read 和 files:write。
  • 必须开启 Interactivity;Socket Mode 下无需公网 Request URL,但消息表单、Modal 提交和继续执行仍依赖 Interactivity。
  • 修改 OAuth Scopes 或 Bot Events 后必须重新安装 App 到 Workspace;重新生成 App-Level Token 后,还要同步更新渠道配置中的 App Token。

6. 安装应用到 Workspace​

在 OAuth & Permissions 页面点击 "Install to Workspace" 按钮,授权应用访问 Workspace。

使用流程​

方式一:绑定码模式(推荐)​

Slack 支持通过绑定码在群聊中绑定账号,适合在团队内部推广使用。

用户绑定流程​

  1. 用户登录系统
  2. 点击左下角用户头像,打开菜单
  3. 找到"Slack"行,点击"获取绑定码"按钮
  4. 系统生成一个 6 位绑定码(如 FRT12H),有效期 10 分钟
  5. 用户在 Slack 中向机器人发送私信:+bind FRT12H
  6. 绑定成功后,Slack 中显示"绑定成功"提示

解绑流程​

  1. 点击左下角用户头像,打开菜单
  2. 找到"Slack"行,点击"解绑"按钮
  3. 确认解绑操作
  4. 解绑成功,菜单中显示"未绑定"状态

方式二:OAuth 授权模式​

通过浏览器授权完成绑定。

用户绑定流程​

  1. 用户登录系统
  2. 点击左下角用户头像,打开菜单
  3. 找到"Slack"行,点击"绑定"按钮
  4. 跳转到 Slack 授权页面
  5. 用户确认授权(选择 Workspace)
  6. 自动跳转回系统,显示"绑定成功"
  7. 关闭授权窗口,原页面自动刷新,菜单中显示"已绑定"状态

用户解绑流程​

  1. 点击左下角用户头像,打开菜单
  2. 找到"Slack"行,点击"解绑"按钮
  3. 确认解绑操作
  4. 解绑成功,菜单中显示"未绑定"状态

自定义命令​

Slack 机器人支持以下命令(所有命令以 + 开头):

命令说明示例
+bind <CODE>使用绑定码绑定账号(6位大写字母+数字)+bind FRT12H
+new开启新会话,清除当前会话历史发送 +new
+agent <名称> <消息>给指定名称的 Agent 发消息+agent rhea 你好
+agent <消息>给系统默认 Agent 发消息+agent 你好

说明:

  • 不以 + 开头的消息直接发送给系统默认 Agent
  • +bind 命令用于绑定码模式,未绑定的用户需要先绑定才能使用其他功能
  • +new 命令会清除当前会话,重新开始
  • Agent 名称必须是用户有权限访问的 Agent
  • 命令参数大小写敏感
  • 绑定码字符集排除了易混淆字符(I/O/0/1)

群聊消息分发​

群聊消息分发可以让同一个 Slack App 按规则把不同问题交给不同的 Agent 或 Team。一个「群聊空间」对应当前 Workspace,配置对该 Workspace 中已安装此 App 的频道生效。只有已绑定 Agentic Engine 账号、并在频道中明确 @App 的成员才能发起任务。

管理员配置​

  1. 确认 Socket Mode、Event Subscriptions 和 Interactivity 已启用;Bot Events 至少包含 app_mention、message.channels、message.groups 和 message.im,修改 scopes 后重新安装 App 到 Workspace。
  2. 把 App 邀请到需要使用的公开频道或私有频道。私有频道中若 App 不是成员,即使配置正确也无法接收消息。
  3. 进入「管理后台 → 渠道管理」,在对应 Slack 渠道上打开「消息分发」,选择 Workspace,并配置默认 Agent/Team。
  4. 按需添加最多 19 条规则。每条规则选择一个 Agent/Team,填写必填的「调用指令」,还可以填写最多 10 个关键词,然后打开启用开关并保存。
  5. 在频道中发送 @App +help 做验收,确认能力清单和线程回复均正常。
配置项规则
默认 Agent/Team启用前必须配置;未指定调用指令、且未命中关键词时使用。
调用指令必填,1~32 个字符;可使用字母、数字、- 和 _,不能使用系统保留命令。大小写以及全角、半角差异不视为不同指令。
关键词可不填;每条规则最多 10 个,每个 2~32 个字符。多个关键词同时命中时优先更长的关键词;同长度无法唯一判断时回到默认 Agent/Team。
可选范围可选择已启用且可运行的系统/企业 Agent,以及当前企业的 Team;个人 Agent 不会出现在群聊分发候选中。

频道中的使用方式​

用途示例说明
查看可用能力@App +help
@App 能力清单
列出默认项、调用指令和关键词;无权限或当前不可运行的能力不会展示。
指定 Agent/Team@App +analysis 分析本周数据analysis 为管理员配置的调用指令。也可以发送 @App @analysis 分析本周数据。
按关键词分发@App 帮我检查埋点方案正文命中关键词时交给对应 Agent/Team;未命中时使用默认项。
取消任务@App +cancel必须整条消息精确发送。已输出正文保留,并另外发送一条取消确认。
兼容旧写法@App +agent analysis 分析本周数据仍可使用,但推荐直接使用 +analysis。

线程回复:普通新任务必须先 @App。任务已经在某个 thread 中等待回答时,可以按提示直接回复该 thread,无需再次 @;没有等待任务的普通频道消息会被忽略。

命令边界:群聊分发不支持 +new;私聊仍支持 +new、+agent 和 +cancel。

公开上下文与个人数据:系统只使用近期明确 @App 并实际进入处理的公开频道轮次作为参考;未 @App 的普通消息、其他频道、私聊和个人记忆不会混入。历史内容只作为不可信参考,当前这条消息才是本轮指令。

常见问题​

1. 用户菜单中没有显示 Slack 绑定选项​

原因:

  • Slack 渠道未配置或未启用
  • Channel 表中没有 type='slack' 的记录
  • config 字段缺少 clientId 或 clientSecret

解决方案:

  • 检查渠道管理中是否有 Slack 渠道
  • 确认渠道已启用
  • 确认 config 字段包含 clientId 和 clientSecret

2. 点击绑定后跳转失败​

错误提示:获取授权链接失败

解决方案:

  • 检查 Slack App 的 Client ID 和 Client Secret 是否正确
  • 确认 Slack App 已安装到 Workspace
  • 检查后端日志,查看具体错误信息

3. 授权后回调失败​

错误提示:回调地址校验失败 或 state 校验失败

解决方案:

  • 确认 Slack App 配置的 Redirect URLs 包含当前访问的回调地址
  • 检查协议(HTTP/HTTPS)和端口是否匹配
  • 确认没有跨域问题

4. 绑定失败​

错误提示:该 Slack 账号已被其他用户绑定

解决方案:

  • 一个 Slack 账号只能绑定一个系统用户
  • 如需更换绑定,先在原账号解绑

5. 生产环境白名单校验失败​

错误提示:生产环境必须配置 ALLOWED_ORIGINS 或 非法来源

解决方案:

  • 配置 ALLOWED_ORIGINS 环境变量
  • 确保 origin 在白名单中
  • 多个域名用逗号分隔

相关页面与下一步

这篇文档对你有帮助吗?