<p>必须手动注册Slack App并配置OAuth、事件订阅与连接模式:创建App后,严格设置Bot Token作用域(如app_mentions:read、chat:write等),启用Event Subscriptions并验证Request URL,选择Socket Mode(xapp- token)或HTTP Events,最后安装到工作区获取xoxb-开头的Bot Token。</p>
要在Slack中实现深度自动化、跨系统数据联动或自定义事件响应,必须绕过应用目录的通用安装路径,直接对接Slack平台级能力——这要求你手动注册应用、精确配置权限作用域、启用事件订阅,并完成OAuth授权流或Socket Mode连接。
访问 api.slack.com/apps → 点击 “Create New App” → 选择 “From scratch” → 填写应用名称(如“Checkmate-Monitor”)→ 选择开发所用的工作区 → 点击 “Create App”。
进入后立即点击左侧菜单栏的 “OAuth & Permissions”,此时页面顶部会显示【Client ID 和 Client Secret 是后续OAuth流程唯一凭证,切勿截图或明文保存】。这两项一旦泄露,攻击者可伪造授权获取工作区敏感数据。
在 “Redirect URLs” 区域点击 “Add a new Redirect URL”,填入你服务端实际能接收回调的HTTPS地址,例如:https://your-domain.com/slack/oauth/callback。注意:本地开发可用 http://localhost:3000/slack/oauth/callback,但生产环境必须为HTTPS,否则授权失败。
在 “OAuth & Permissions” 页面,下拉至 “Bot Token Scopes” 区块,点击 “Add an OAuth Scope” 输入框,逐条添加以下权限(不可省略):
app_mentions:read —— 读取所有 @你的机器人的消息chat:write —— 向用户私聊或已加入的频道发送消息channels:history —— 读取公开频道历史(用于上下文理解)im:history —— 读取私聊历史(仅限机器人已加入的对话)users:read —— 获取用户基本信息(头像、显示名等)添加完毕后务必点击右上角 “Save Changes”。【缺少 chat:write 或 app_mentions:read,机器人将完全无法响应用户】。若后续发现机器人静默不回复,优先检查此处是否漏选。
第一步:在左侧菜单点击 “Event Subscriptions”,打开 “Enable Events” 开关。
第二步:在 “Request URL” 栏输入你服务端暴露的事件接收地址,例如:https://your-domain.com/slack/events。该地址必须支持POST请求、能响应Slack的challenge校验(返回原样challenge字段),且全程使用HTTPS。
第三步:点击 “Verify and Save”。Slack会立刻向该URL发起GET请求携带challenge参数;你的服务端必须正确解析并返回{"challenge":"xxx"}格式的JSON响应,否则保存失败。
第四步:在 “Subscribe to Bot Events” 区块,至少勾选三项核心事件:app_mention(被@时触发)、message.channels(公开频道新消息)、reaction_added(方便做快捷操作)。其他如user_change或channel_created按需添加。
方法一:启用 Socket Mode(免公网、调试快)
左侧菜单进入 “Socket Mode”,开启开关 → 点击 “Generate Token” 生成以 xapp- 开头的应用级Token → 复制保存。此Token用于建立WebSocket长连接,无需暴露服务端端口,适合本地测试或企业内网部署。
方法二:坚持用 HTTP Events(生产环境常用)
确保你已按上一步完成 “Request URL” 验证 → 返回 “Event Subscriptions” 页面确认状态为 “Verified” → 此时所有勾选的事件将通过HTTP POST推送到你填写的URL,消息体为JSON格式,含type、event、authed_users等关键字段。
注意:Socket Mode 和 OAuth Bot Token(xoxb-开头)必须配合使用——前者负责收事件,后者负责调API发消息。两者缺一不可。
第一步:回到 “OAuth & Permissions” 页面,滚动到底部,点击 “Install to Workspace” 按钮。
第二步:在弹出的授权确认页,系统会列出你配置的所有权限作用域,确认无误后点击 “Allow”。
第三步:跳转回页面,刷新后在 “Bot User OAuth Token” 字段下方,你会看到一个以 xoxb- 开头的长字符串 —— 这就是你的Bot Token,也是调用chat.postMessage等API的唯一凭据。
第四步:立即复制该Token并存入安全环境变量(如SLACK_BOT_TOKEN),【此Token一旦泄露,攻击者可完全冒充你的机器人执行任意操作】。切勿硬编码进前端代码或Git提交记录。