Webhook
通过 HTTP 请求启动工作流,并选择响应的内容和时机。
Webhook 将收到的 HTTP 请求作为一次运行的入口。需要将工作流发布到能够对外提供 Webhook 地址的部署环境。
声明请求
选择 HTTP 方法,并声明请求体字段。公开编排接口通过 config.body 接收按名称组织的字段定义。
{
"op": "node.add", "as": "webhook", "type": "webhook", "name": "Receive a ticket",
"config": {
"method": "POST",
"body": { "message": { "schema": { "type": "string" }, "nullable": false } }
}
}
请求数据通过触发器声明的输出提供。读取请求体字段时,从 body 输出中按直接属性名选择。请求不会自动把值绑定到任意下游输入。
选择响应模式
- 立即响应:省略
options.responseBody,使用已配置的即时响应。 - 工作流输出:选择
kind: "workflow-outputs",等待整次运行成功后返回全部工作流输出或其中一个字段。 - 响应节点:选择
kind: "webhook-response",指定一个可达节点,在它第一次成功完成时返回响应。


- 输入
- POST 请求体:{"message":"Please check my order"}
- 预期结果
- HTTP 202,文本为 "Received: Please check my order",并包含 X-Workflow: ticket-intake。
- 运行前准备
- 将工作流发布到对外提供 Webhook 地址的部署环境。
动态响应限制
动态响应超时范围为 1,000–60,000 毫秒,默认为 30,000 毫秒,排队和等待时间也计入其中。HTTP 超时不会取消已经接收的运行。
工作流输出模式中,字符串按文本返回,其他 JSON 值按 JSON 返回。选定输出缺失或运行未成功时会返回错误。状态码和响应头也可按文档规定的约束,从工作流输出中选择。
切换模式时,应明确清除相应字段。固定响应文本、状态码和响应头即使当前未生效,也可能仍保留配置。清除一个嵌套字段,不等于清除了其他响应策略。
CORS、响应头限制、请求限制和对外地址配置,均以部署端规则为准。提前确认请求的用法见 Webhook 响应。