跳到正文
AskTable

文档反馈

当前页面接入 Slack 机器人/integrations/slack

0 / 5,000

反馈将发送给维护团队。

前往控制台
前往控制台

配置与管理

接入 Slack 机器人

创建 Slack 应用并连接数据智能体,让团队在频道或私聊中问数,查看消息的处理和投递结果。

把数据智能体接到 Slack 后,团队可以在频道里 @ 机器人,或通过私聊直接提问,答案会返回 Slack。接入使用 Socket Mode,不需要暴露公网回调地址。

开始前

  • 有权在 Slack 工作区创建并安装应用;如果企业限制安装,需要工作区管理员批准。
  • 已有配好数据源和技能的数据智能体,当前 AskTable 项目角色是项目负责人或项目管理员。
  • 一个 AskTable 项目应只接入一个 Slack 工作区,避免人员身份匹配冲突。
  • 私有部署需要运行支持 Slack 的频道网关。

一个智能体可以保存飞书和 Slack 两套配置,但同时只启用一个平台。切换或选择「不启用」会保留配置,之后可以切回。

1. 创建 Slack 应用

打开 Slack apps,选择 Create New App → From an app manifest,选定工作区后粘贴以下 YAML:

_metadata:
  major_version: 1
display_information:
  name: AskTable
  description: Ask questions about your data in natural language
features:
  bot_user:
    display_name: AskTable
    always_online: true
  app_home:
    home_tab_enabled: false
    messages_tab_enabled: true
    messages_tab_read_only_enabled: false
oauth_config:
  scopes:
    bot:
      - app_mentions:read
      - im:history
      - chat:write
      - reactions:write
      - users:read
      - users:read.email
settings:
  event_subscriptions:
    bot_events:
      - app_mention
      - message.im
  socket_mode_enabled: true
  org_deploy_enabled: false
  token_rotation_enabled: false

检查设置后点 Create。应用名称和机器人显示名可以按团队需要修改。

权限用途对应设置
收到问题app_mentions:read 接收提及,im:history 接收私聊
回答与接收确认chat:write 发送回答,reactions:write 添加确认表情
匹配人员users:read、users:read.email 获取姓名、头像、邮箱等人员资料

保留 Messages 页签的启用设置,并允许在其中发消息,否则用户无法私聊机器人。清单不申请 channels:history 或 groups:history,机器人不会读取无关的频道聊天,因此频道和话题里的每次提问都要 @。

2. 获取两个 Token

在 OAuth & Permissions 中点 Install to Workspace 并批准权限,复制以 xoxb- 开头的 Bot User OAuth Token。

然后进入 Basic Information → App-Level Tokens:

  1. 点 Generate Token and Scopes 并填写名称。
  2. 添加 connections:write 权限。
  3. 生成并复制以 xapp- 开头的 Token。
AskTable 字段填什么
Bot Tokenxoxb- 开头的 Bot User OAuth Token,用于调用 Slack API 和发送回答
App Tokenxapp- 开头的 App-Level Token,用于建立 Socket Mode 连接

无需 Signing Secret。两个 Token 都是凭据,不要放进截图或代码仓库;泄露后应在 Slack 撤销并生成替代值。

3. 在 AskTable 启用 Slack

左侧主导航 →「更多」→ 打开目标智能体 →「频道」:

  1. 在「平台」中选择 Slack。
  2. 首次配置时,在弹窗中填入 Bot Token 和 App Token,点「保存」。
  3. 保存成功后 Slack 才生效;取消弹窗会保留原平台选择。

表单会检查两个 Token 的前缀。以后选择已经配置的 Slack 会直接启用,修改凭据用「凭证配置」旁的「修改配置」;编辑时会回填已有凭证,只需替换要更新的值,两个 Token 都不能清空。

「通用配置」可以调整回答方式:

设置默认值用途
在话题中回复开启对频道里的新提问开话题回复,让追问集中在一起
深度推理关闭给复杂问题更多推理时间
渠道偏好空,最多 1024 字符为每轮分析补充常驻要求,例如“先给结论”

开关即时保存,渠道偏好失焦保存。深度推理和偏好从下一条消息生效。私聊始终直接回复,不另开话题。

控制谁可以问数

启用后,下方「人员权限」可打开白名单。Slack 默认关闭白名单,能联系机器人的用户都可提问。打开后,需要把 Slack 用户身份关联到 AskTable 人员,并授予其使用该智能体的权限;按角色限定数据范围的方法见权限与数据范围。未建立绑定或未获得授权的用户会被拒绝并进入待审批。

飞书和 Slack 的白名单开关各自保存,切换平台后应检查当前平台的设置。

4. 检查连接和消息

连接状态含义
已连接当前 Slack Socket Mode 连接正常
连接中正在建立或恢复连接
未连接当前没有可用连接
错误建连或运行发生错误,查看状态旁的说明

状态每 5 秒自动刷新;「刷新」只重新读取状态,不会手动重建连接。已连接或网关心跳正常不能证明一次提问已成功回答。

发送测试问题后,看「最近消息」是否更新,再点「详情」检查处理状态和回复状态。处理失败说明问题出在分析等处理环节,回复失败则说明结果未成功投递到 Slack。

5. 邀请机器人并提问

在目标频道里输入以下命令,名称换成你的机器人名称:

/invite @AskTable

也可以从频道设置的 Integrations → Add apps 添加。私聊无需邀请。

位置示例
私聊上个月的销售额是多少?
频道@AskTable 上个月的销售额是多少?
话题内追问@AskTable 按地区拆分。

话题内的追问也必须 @。一个话题的分析上下文属于最初提问者,其他人应在频道另发一条问题。多人私聊不受支持。

私聊和频道顶层问答按同一人复用会话,连续 24 小时没有新消息后重新开始;话题会话不按这个窗口过期。频道或话题内的回答对能查看该位置的成员可见,需要私下查看的结果请使用私聊。

出问题怎么判断

现象检查与处理
显示错误确认两个 Token 的前缀正确、Socket Mode 已开启、App Token 有 connections:write,应用已安装到工作区
最近消息没有变化确认机器人已加入频道、问题带 @、已订阅 app_mention 和 message.im;私聊还需启用 Messages 页签
处理失败点「详情」看原因,检查数据源和人员授权,再重试问题
回复失败确认机器人仍在频道、有 chat:write;修改 Slack 权限后重新安装应用到工作区
提示没有权限或进入待审批关联正确的 Slack 人员身份,并授予其当前智能体的访问权限
切换平台后收不到 Slack 消息确认当前「平台」仍为 Slack;切到飞书或不启用时,Slack 配置保留但不接收消息

下一步