跳到主要内容

Slack 触发节点#

使用 Slack 触发节点可响应 Slack 中的事件,并将 Slack 与其他应用程序集成。n8n 内置支持多种 Slack 事件,包括新消息、回应表情和新频道。

凭证配置

该节点的身份验证信息请参阅此处

使用示例与模板

如需查看使用示例和快速入门模板,请访问 n8n 的 Slack 集成页面。

事件类型#

  • 任意事件:节点在 Slack 中触发任何事件时激活
  • 机器人/应用被提及:当您的机器人或应用在所在频道中被提及时触发
  • 文件公开化:当文件被设为公开时触发
  • 文件被分享:当文件在应用所在频道中被分享时触发
  • 频道发布新消息:当应用所在频道发布新消息时触发
  • 创建新公共频道:当新建公共频道时触发
  • 新增用户:当 Slack 添加新用户时触发
  • 添加回应表情:当应用所在消息被添加表情回应时触发

参数配置#

设置触发事件后,可通过以下参数进一步定义节点行为:

  • 监控整个工作区:设置节点是否监控工作区内所有频道的选定事件(开启/关闭,默认关闭)。

    注意

    这将为机器人或应用所在任何频道中的每个事件消耗执行次数,请谨慎使用!

  • 监控频道:选择节点监控选定事件的特定频道(仅当未开启"监控整个工作区"时显示)。可通过以下方式选择频道:

    • 从列表选择:节点使用凭证获取工作区频道列表供选择
    • 通过ID指定:输入要监控的频道ID(可在频道详情底部找到带一键复制按钮的ID)
    • 通过URL指定:输入频道URL,格式为https://app.slack.com/client/<channel-address>
  • 下载文件:设置是否下载文件并用于节点输出(开启/关闭,默认关闭)。此参数需与"文件公开化"和"文件被分享"事件配合使用。

选项设置#

通过添加选项可进一步微调节点行为:

  • 解析ID:设置是否将ID解析为对应名称并返回(开启/关闭,默认关闭)
  • 忽略的用户名或ID:选择用户名或输入逗号分隔的编码用户ID列表以忽略其事件。可从列表选择或使用表达式指定ID

相关资源#

n8n 提供专属的 Slack 应用节点,节点文档请参阅此处

查看 n8n 官网的工作流示例及相关内容

有关 Slack API 的详细信息,请参阅官方文档

所需权限范围#

使用此节点需在 Slack 创建应用并启用事件订阅。更多信息请参阅Slack 凭证 | Slack 触发配置

必须为 Slack 应用添加相应权限范围才能使用此触发节点。

节点至少需要 conversations.listusers.list 方法的权限范围。完整范围列表请查看权限范围 | Slack 凭证

验证Webhook#

版本 1.106.0起,配置Slack 凭证时可设置Slack 签名密钥。设置后,Slack 触发节点会自动验证请求来源及可信签名。n8n 建议设置此参数以确保仅处理来自 Slack 的请求。

常见问题#

以下是 Slack 触发节点的常见错误及解决方案:

工作流仅在测试/生产环境生效#

Slack 每个应用仅允许注册单个 webhook。这意味着不重新配置已注册的 webhook URL 就无法在测试URL和生产URL间切换。

若尝试测试已在生产环境运行的工作流,可能会遇到此问题。Slack 只会向两个 webhook URL 之一发送事件,另一个将永远收不到事件通知。

解决方案:测试时停用工作流

注意:此举将暂停生产流量

这将临时停用生产工作流进行测试。停用期间工作流将不再接收生产流量。

  1. 进入工作流页面
  2. 切换顶部面板的激活开关临时停用工作流
  3. Slack 触发配置中将请求URL修改为测试 webhook URL
  4. 使用测试 webhook URL 进行工作流测试
  5. 测试完成后,将请求URL恢复为生产 webhook URL
  6. 切换未激活开关重新启用工作流,生产 webhook URL 将恢复正常工作

令牌过期#

Slack 提供可启用的令牌轮转功能,会使所有令牌在12小时后过期。虽然适用于测试环境,但启用此功能的 n8n 凭证在令牌过期后将失效。生产环境使用 Slack 凭证时必须关闭此功能。

检查 Slack 应用是否启用令牌轮转,请参阅Slack API 文档 | 令牌轮转

重要提示

若应用已启用令牌轮转,则无法再次关闭。需要新建禁用令牌轮转的 Slack 应用替代。