Triggers
Webhooks
Webhook 允许外部服务通过发送 HTTP 请求到您的工作流,从外部触发工作流的执行。Sim 支持两种基于 Webhook 的触发方式。
通用 Webhook 触发器
通用 Webhook 模块创建了一个灵活的端点,可以接收任何有效负载并触发您的工作流:
工作原理
- 添加通用 Webhook 模块 - 拖动通用 Webhook 模块以开始您的工作流
- 配置有效负载 - 设置预期的有效负载结构(可选)
- 获取 Webhook URL - 复制自动生成的唯一端点
- 外部集成 - 配置您的外部服务以向此 URL 发送 POST 请求
- 工作流执行 - 每次对 Webhook URL 的请求都会触发工作流
功能
- 灵活的有效负载:接受任何 JSON 格式的有效负载结构
- 自动解析:Webhook 数据会被自动解析并供后续模块使用
- 身份验证:支持可选的 Bearer Token 或自定义头部身份验证
- 速率限制:内置防滥用保护
- 去重功能:防止重复请求导致的重复执行
通用 Webhook 触发器每次接收到 Webhook URL 的请求时都会触发,非常适合实时集成。
服务模块的触发模式
或者,您可以使用特定的服务模块(如 Slack、GitHub 等)以“触发模式”创建更专业的 Webhook 端点:
设置触发模式
- 添加服务模块 - 选择一个服务模块(例如 Slack、GitHub、Airtable)
- 启用触发模式 - 在模块设置中切换“用作触发器”
- 配置服务 - 设置该服务的身份验证和事件过滤器
- Webhook 注册 - 服务会自动向外部平台注册 webhook
- 基于事件的执行 - 工作流仅针对该服务的特定事件触发
何时使用每种方法
在以下情况下使用通用 Webhook:
- 与自定义应用程序或服务集成
- 需要最大灵活性的有效负载结构
- 使用没有专用模块的服务
- 构建内部集成
在以下情况下使用触发模式:
- 使用支持的服务(如 Slack、GitHub 等)
- 需要服务特定的事件过滤
- 需要自动 webhook 注册
- 需要为该服务处理结构化数据
支持触发模式的服务
以下服务模块支持触发模式:
- Slack - 消息、提及、反应
- GitHub - 推送、PR、问题事件
- Airtable - 记录更改
- Telegram - 机器人消息和命令
- Gmail - 邮件通知
- WhatsApp - 消息事件
- Jira - 问题更新、评论
- Linear - 问题状态更改
- Notion - 页面更新
安全性和最佳实践
身份验证选项
- Bearer Tokens:包含
Authorization: Bearer <token>
标头 - 自定义标头:定义自定义身份验证标头
有效负载处理
- 验证:验证传入的有效负载以防止数据格式错误
- 大小限制:为安全起见,webhook 有有效负载大小限制
- 错误处理:为无效请求配置错误响应
测试 Webhooks
- 使用 Postman 或 curl 等工具测试您的 webhook 端点
- 检查工作流执行日志以进行调试
- 验证负载结构是否符合您的预期
- 测试身份验证和错误场景
在处理工作流中的数据之前,请始终验证和清理传入的 webhook 数据。
常见使用场景
实时通知
- Slack 消息触发自动响应
- 关键事件的电子邮件通知
CI/CD 集成
- GitHub 推送触发部署工作流
- 构建状态更新
- 自动化测试流水线
数据同步
- Airtable 更改更新其他系统
- 表单提交触发后续操作
- 电商订单处理
客户支持
- 支持工单创建工作流
- 自动化升级流程
- 多渠道通信路由