Slack 凭据#
你可以使用这些凭据来认证以下节点:
- Slack
- Slack Trigger
支持的认证方式#
- API 访问令牌(Access Token):
- 用于 Slack Trigger 节点时是必需的。
- 可以与 Slack 节点配合使用,但不推荐。
- OAuth2:
- 推荐用于 Slack 节点。
- 不支持 Slack Trigger 节点。
相关资源#
更多服务信息,请参考 Slack 的 API 文档。
使用 API 访问令牌#
要配置此凭据,你需要一个 Slack 账户以及:
- 一个 访问令牌(Access Token)
要生成访问令牌,请创建一个 Slack 应用:
- 打开你的 Slack API 应用页面。
- 选择 Create New App > From scratch(创建新应用 > 从零开始)。
- 输入一个 App Name(应用名称)。
- 选择你将开发应用所在的 Workspace(工作区)。
- 选择 Create App(创建应用)。此时会打开应用详情页面。
- 在左侧菜单的 Features(功能)下,选择 OAuth & Permissions(OAuth 与权限)。
- 在 Scopes(作用域)部分,为你的应用选择适当的作用域。推荐的作用域列表请参见 Scopes。
- 添加完作用域后,返回上方的 OAuth Tokens(OAuth 令牌)部分,点击 Install to Workspace(安装到工作区)。你必须是 Slack 工作区的管理员才能完成此操作。
- 点击 Allow(允许)。
- 复制 Bot User OAuth Token(机器人用户 OAuth 令牌),并将其作为 Access Token(访问令牌)填入你的 n8n 凭据中。
- 如果你将此凭据用于 Slack Trigger 节点,请按照 Slack Trigger 配置 中的步骤完成应用设置。
有关更多信息,请参考 Slack API 的 快速入门(Quickstart)。
Slack Trigger 配置#
要在 Slack Trigger 节点中使用你的 Slack 应用:
- 进入 Slack 的 你的应用(Your Apps) 页面,选择你要使用的应用。
- 进入 功能(Features) > 事件订阅(Event Subscriptions)。
- 开启 启用事件(Enable Events) 开关。
- 在 n8n 中复制 Webhook URL,并将其粘贴为 Slack 应用中的 请求 URL(Request URL)。
请求 URL 每个 Slack 应用仅允许配置一个请求 URL。如果你想测试工作流,需执行以下操作之一:
- 先使用你的 测试 URL(Test URL) 进行测试,确认一切正常后,再将 Slack 应用切换为使用 生产环境 URL(Production URL)
- 直接使用 生产环境 URL(Production URL) 并启用执行日志记录。
- 验证成功后,选择要订阅的机器人(bot)事件。在 n8n 节点中使用 触发于(Trigger on) 字段来过滤这些请求。
- 若需使用列表中未包含的事件,请先将其添加为机器人事件,然后在 n8n 节点中选择 任意事件(Any Event)。
更多详情,请参阅 快速入门 | 配置应用以监听事件(Quickstart | Configuring the app for event listening)。
出于安全考虑,n8n 建议为你的 Slack Trigger 启用请求签名验证(request signature verification):
- 进入 Slack 的 你的应用(Your Apps) 页面,选择你要使用的应用。
- 进入 设置(Settings) > 基本信息(Basic Information)。
- 复制 签名密钥(Signing Secret) 的值。
- 在 n8n 中,将该值粘贴到凭据的 签名密钥(Signature Secret) 字段中。
使用 OAuth2#
n8n Cloud 用户注意 Cloud 用户无需手动提供连接信息。点击 连接我的账户(Connect my account) 即可通过浏览器完成授权连接。
如果你正在自行托管 n8n 并需要从零开始配置 OAuth2,则需要一个 Slack 账户,以及以下信息:
- 客户端 ID(Client ID)
- 客户端密钥(Client Secret)
要同时获取这两项信息,请创建一个 Slack 应用:
- 打开你的 Slack API 应用页面。
- 选择 Create New App > From scratch(创建新应用 > 从零开始)。
- 输入一个 App Name(应用名称)。
- 选择你将用于开发该应用的 Workspace(工作区)。
- 选择 Create App(创建应用)。此时会打开应用详情页面。
- 在 Settings > Basic Information(设置 > 基本信息)中,展开 App Credentials(应用凭据)部分。
- 复制 Client ID 和 Client Secret,并将它们粘贴到 n8n 中对应的字段。
- 在左侧菜单的 Features(功能)下,选择 OAuth & Permissions(OAuth 与权限)。
- 在 Redirect URLs(重定向 URL)部分,选择 Add New Redirect URL(添加新的重定向 URL)。
- 从 n8n 中复制 OAuth Callback URL(OAuth 回调 URL),并将其作为新的重定向 URL 添加到 Slack 中。
- 选择 Add(添加)。
- 选择 Save URLs(保存 URL)。
- 在 Scopes(作用域)部分,为你的应用选择适当的作用域。有关作用域列表,请参阅 Scopes。
- 添加作用域后,返回上方的 OAuth Tokens(OAuth 令牌)部分,选择 Install to Workspace(安装到工作区)。你必须是 Slack 工作区管理员才能完成此操作。
- 选择 Allow(允许)。
- 此时,你应该可以在 n8n 的凭证中点击 OAuth 按钮进行连接。
更多详细信息,请参考 Slack API 的 快速入门指南。关于 OAuth 流程本身的更多细节,请查阅 Slack 的 使用 OAuth 安装应用 文档。
作用域(Scopes)#
作用域(Scopes)决定了应用所拥有的权限。
- 如果你希望你的应用代表授权用户执行操作,请在 User Token Scopes(用户令牌作用域)部分添加所需的作用域。
- 如果你在构建一个机器人(bot),请在 Bot Token Scopes(机器人令牌作用域)部分添加所需的作用域。
以下是 OAuth 凭据所需的作用域列表,可作为良好的起点:
| 作用域名称 (Scope name) | 备注 (Notes) |
|---|---|
channels:read | |
channels:write | 不可用于 bot token 作用域 |
chat:write | |
files:read | |
files:write | |
groups:read | |
im:read | |
mpim:read | |
reactions:read | |
reactions:write | |
stars:read | 不可用于 bot token 作用域 |
stars:write | 不可用于 bot token 作用域 |
usergroups:read | |
usergroups:write | |
users.profile:read | |
users.profile:write | 不可用于 bot token 作用域 |
users:read |
常见问题#
Token 已过期#
Slack 提供了 Token 轮换(token rotation) 功能,可为 bot token 和用户 token 启用。启用后,每个 token 将在 12 小时后过期。虽然这在测试时可能有用,但启用此功能的 token 在过期后会导致 n8n 凭据失效。如果你打算在生产环境中使用 Slack 凭据,则必须关闭此功能。
要检查你的 Slack 应用是否启用了 token 轮换,请参考 Slack API 文档 | Token Rotation。
注意:如果你的 Slack 应用已启用 token 轮换,则无法再次关闭。你需要创建一个新的 Slack 应用,并确保禁用 token 轮换。