Slack第三方应用怎么集成【进阶】
想要在Slack里实现深度自动化、跨系统数据联动或者自定义事件响应,光靠应用目录里的现成安装路径可不够——你得直接对接Slack的平台级能力:手动注册应用、精确配置权限作用域、启用事件订阅,再完成OAuth授权流或Socket Mode连接。听起来步骤不少?其实拆开来一步步走,并没有想象中复杂。

创建并配置Slack App(基础准备)
先访问 api.slack.com/apps,点击“Create New App”,选择“From scratch”,给应用起个名字(比如“Checkmate-Monitor”),再选好开发用的工作区,最后点“Create App”。
创建完成后,立刻进入左侧菜单的“OAuth & Permissions”页面。注意,页面顶部显示的是
Client ID 和 Client Secret
在“Redirect URLs”区域,点击“Add a new Redirect URL”,填入你服务端能实际接收回调的HTTPS地址,例如 https://your-domain.com/slack/oauth/callback。本地开发环境可以用 http://localhost:3000/slack/oauth/callback,但生产环境必须用HTTPS,否则授权会失败。
精确设置Bot Token作用域(决定你能做什么)
在“OAuth & Permissions”页面往下拉,找到“Bot Token Scopes”区块,点击“Add an OAuth Scope”,然后逐条添加以下权限,一条都不能少:
app_mentions:read—— 读取所有 @你的机器人的消息chat:write—— 向用户私聊或已加入的频道发送消息channels:history—— 读取公开频道历史(用于上下文理解)im:history—— 读取私聊历史(仅限机器人已加入的对话)users:read—— 获取用户基本信息(头像、显示名等)
添加完别忘记点击右上角的“Sa ve Changes”。
缺少 chat:write 或 app_mentions:read,机器人将完全无法响应用户
启用事件订阅并验证请求URL(实现实时响应)
第一步:在左侧菜单点击“Event Subscriptions”,打开“Enable Events”开关。
第二步:在“Request URL”栏输入你服务端暴露的事件接收地址,例如 https://your-domain.com/slack/events。这个地址必须支持POST请求,并且能响应Slack的challenge校验——说白了,就是返回原样challenge字段的JSON,而且全程要使用HTTPS。
第三步:点击“Verify and Sa ve”。Slack会立刻向该URL发起一个GET请求,携带challenge参数;你的服务端必须正确解析并返回 {"challenge":"xxx"} 格式的JSON响应,否则保存失败。
第四步:在“Subscribe to Bot Events”区块,至少勾选三项核心事件:app_mention(被@时触发)、message.channels(公开频道新消息)、reaction_added(方便做快捷操作)。其他像 user_change 或 channel_created 按需添加即可。
选择连接模式:Socket Mode(推荐开发/内网)vs HTTP(必需公网)
这里有两种方式可选,看你的使用场景:
方法一:启用 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发消息,两者缺一不可。
安装应用到工作区并获取最终Token
第一步:回到“OAuth & Permissions”页面,滚动到底部,点击“Install to Workspace”按钮。
第二步:在弹出的授权确认页,系统会列出你配置的所有权限作用域,确认无误后点击“Allow”。
第三步:跳转回页面,刷新后在“Bot User OAuth Token”字段下方,会看到一个以 xoxb- 开头的长字符串——这就是你的Bot Token,也是调用 chat.postMessage 等API的唯一凭据。
第四步:立刻复制这个Token,并存入安全的环境变量(比如 SLACK_BOT_TOKEN)。