Skip to main content

Webhooks

通过 HTTP 触发 Agent 任务,或将 Agent 结果推送到外部服务。

入站触发

外部系统(Zapier、n8n、自定义脚本)可通过 HTTP 请求触发 Agent 任务。

Webhook 触发

事件触发

系统事件触发

出站 Webhook

设置 > 渠道 中配置 Webhook Channel。Agent 结果会自动以结构化 JSON POST 请求推送到配置的 URL。

安全

入站

入站 Webhook 触发器需要 x-webhook-secret 请求头,必须与 Cron 任务中配置的密钥匹配。缺少有效密钥的请求会返回 401。

出站

所有出站 Webhook 请求均受多层安全防护:
  • SSRF 防护:每个出站 HTTP 请求都经过 secure_request() 处理,包含 DNS 固定和私网地址拦截。指向内网 IP(127.0.0.1、10.x、192.168.x 等)的 Webhook URL 会被自动拒绝。
  • HMAC-SHA256 签名:出站 Webhook 负载包含 X-Webhook-Signature 头(sha256=...),接收方可验证请求真实性。为每个 Webhook 配置独立密钥以获得最强验证。
  • 重定向验证:出站请求的每一跳重定向都会进行 SSRF 检查——即使原始 URL 是公网地址,重定向到内网也会被拦截。
  • 指数退避重试:临时故障(5xx、超时)自动指数退避重试;永久错误(4xx)立即失败。

GitHub 集成

内置 GitHub Channel 提供原生 Webhook 集成,支持 PR 审查、Issue 管理和 Push 事件处理。
  1. 进入 设置 > 集成 > GitHub
  2. 输入 Personal Access Token (PAT)
  3. 配置 Webhook Secret
  4. GitHub 事件(PR 创建、Issue、Push)自动触发 Agent 响应,携带完整上下文
HMAC-SHA256 签名验证确保只有来自 GitHub 的真实请求被处理。

通过 GUI 配置

  1. 进入 设置 > 自动化(定时任务)
  2. 创建新的定时任务
  3. 选择「Webhook」作为触发类型
  4. 配置 Webhook 路径和密钥
  5. 绑定 Agent 执行

自然语言配置

也可以通过对话让 Agent 自动配置 Webhook 触发器:
“帮我创建一个 Webhook 触发器,当支付系统发来新订单时自动处理”
Agent 会自动设置触发器、生成 Webhook URL 和密钥,并引导你完成外部系统的配置。