N8N中文教程
集成节点/Built in_nodes/Credentials

Slack 凭据#

你可以使用这些凭据来认证以下节点:

  • Slack
  • Slack Trigger

支持的认证方式#

  • API 访问令牌(Access Token):
    • 用于 Slack Trigger 节点时是必需的。
    • 可以与 Slack 节点配合使用,但不推荐。
  • OAuth2:
    • 推荐用于 Slack 节点。
    • 不支持 Slack Trigger 节点。

相关资源#

更多服务信息,请参考 Slack 的 API 文档。

使用 API 访问令牌#

要配置此凭据,你需要一个 Slack 账户以及:

  • 一个 访问令牌(Access Token)

要生成访问令牌,请创建一个 Slack 应用:

  1. 打开你的 Slack API 应用页面。
  2. 选择 Create New App > From scratch(创建新应用 > 从零开始)。
  3. 输入一个 App Name(应用名称)。
  4. 选择你将开发应用所在的 Workspace(工作区)。
  5. 选择 Create App(创建应用)。此时会打开应用详情页面。
  6. 在左侧菜单的 Features(功能)下,选择 OAuth & Permissions(OAuth 与权限)。
  7. Scopes(作用域)部分,为你的应用选择适当的作用域。推荐的作用域列表请参见 Scopes。
  8. 添加完作用域后,返回上方的 OAuth Tokens(OAuth 令牌)部分,点击 Install to Workspace(安装到工作区)。你必须是 Slack 工作区的管理员才能完成此操作。
  9. 点击 Allow(允许)。
  10. 复制 Bot User OAuth Token(机器人用户 OAuth 令牌),并将其作为 Access Token(访问令牌)填入你的 n8n 凭据中。
  11. 如果你将此凭据用于 Slack Trigger 节点,请按照 Slack Trigger 配置 中的步骤完成应用设置。

有关更多信息,请参考 Slack API 的 快速入门(Quickstart)。

Slack Trigger 配置#

要在 Slack Trigger 节点中使用你的 Slack 应用:

  1. 进入 Slack 的 你的应用(Your Apps) 页面,选择你要使用的应用。
  2. 进入 功能(Features) > 事件订阅(Event Subscriptions)
  3. 开启 启用事件(Enable Events) 开关。
  4. 在 n8n 中复制 Webhook URL,并将其粘贴为 Slack 应用中的 请求 URL(Request URL)

请求 URL 每个 Slack 应用仅允许配置一个请求 URL。如果你想测试工作流,需执行以下操作之一:

  • 先使用你的 测试 URL(Test URL) 进行测试,确认一切正常后,再将 Slack 应用切换为使用 生产环境 URL(Production URL)
  • 直接使用 生产环境 URL(Production URL) 并启用执行日志记录。
  1. 验证成功后,选择要订阅的机器人(bot)事件。在 n8n 节点中使用 触发于(Trigger on) 字段来过滤这些请求。
    • 若需使用列表中未包含的事件,请先将其添加为机器人事件,然后在 n8n 节点中选择 任意事件(Any Event)

更多详情,请参阅 快速入门 | 配置应用以监听事件(Quickstart | Configuring the app for event listening)。

出于安全考虑,n8n 建议为你的 Slack Trigger 启用请求签名验证(request signature verification):

  1. 进入 Slack 的 你的应用(Your Apps) 页面,选择你要使用的应用。
  2. 进入 设置(Settings) > 基本信息(Basic Information)
  3. 复制 签名密钥(Signing Secret) 的值。
  4. 在 n8n 中,将该值粘贴到凭据的 签名密钥(Signature Secret) 字段中。

使用 OAuth2#

n8n Cloud 用户注意 Cloud 用户无需手动提供连接信息。点击 连接我的账户(Connect my account) 即可通过浏览器完成授权连接。

如果你正在自行托管 n8n 并需要从零开始配置 OAuth2,则需要一个 Slack 账户,以及以下信息:

  • 客户端 ID(Client ID)
  • 客户端密钥(Client Secret)

要同时获取这两项信息,请创建一个 Slack 应用:

  1. 打开你的 Slack API 应用页面。
  2. 选择 Create New App > From scratch(创建新应用 > 从零开始)。
  3. 输入一个 App Name(应用名称)。
  4. 选择你将用于开发该应用的 Workspace(工作区)。
  5. 选择 Create App(创建应用)。此时会打开应用详情页面。
  6. Settings > Basic Information(设置 > 基本信息)中,展开 App Credentials(应用凭据)部分。
  7. 复制 Client IDClient Secret,并将它们粘贴到 n8n 中对应的字段。
  8. 在左侧菜单的 Features(功能)下,选择 OAuth & Permissions(OAuth 与权限)。
  9. Redirect URLs(重定向 URL)部分,选择 Add New Redirect URL(添加新的重定向 URL)。
  10. 从 n8n 中复制 OAuth Callback URL(OAuth 回调 URL),并将其作为新的重定向 URL 添加到 Slack 中。
  11. 选择 Add(添加)。
  12. 选择 Save URLs(保存 URL)。
  13. Scopes(作用域)部分,为你的应用选择适当的作用域。有关作用域列表,请参阅 Scopes。
  14. 添加作用域后,返回上方的 OAuth Tokens(OAuth 令牌)部分,选择 Install to Workspace(安装到工作区)。你必须是 Slack 工作区管理员才能完成此操作。
  15. 选择 Allow(允许)。
  16. 此时,你应该可以在 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 轮换。