响应 Webhook#
使用 Respond to Webhook 节点可以控制对传入 Webhook 的响应。该节点需与 Webhook 节点配合使用。
仅对第一条数据执行
Respond to Webhook 节点仅会执行一次,使用第一条传入的数据项。更多信息请参考返回多条数据。
如何使用 Respond to Webhook 节点#
使用 Respond to Webhook 节点的步骤:
- 添加 Webhook 节点作为工作流的触发器节点。
- 在 Webhook 节点中,将 Respond 设置为 Using 'Respond to Webhook' node。
- 在工作流任意位置添加 Respond to Webhook 节点。如需返回其他节点的数据,请将该节点放置在那些节点之后。
节点参数#
通过这些参数配置节点行为。
响应方式 (Respond With)#
选择在 Webhook 响应中发送的数据类型:
- 所有传入项:使用输入中的所有 JSON 数据项作为响应
- 二进制文件:使用 Response Data Source 中定义的二进制文件作为响应
- 第一条传入项:使用第一条传入项的 JSON 作为响应
- JSON:使用 Response Body 中定义的 JSON 对象作为响应
- 无数据:不返回响应内容
- 重定向:重定向到 Redirect URL 设置的 URL
- 文本:使用 Response Body 中设置的文本作为响应
节点选项#
点击 Add Option 可查看和设置以下选项:
- 响应代码:设置使用的 HTTP 状态码
- 响应头:定义要发送的响应头信息
- 将响应放入字段:当选择 所有传入项 或 第一条传入项 时可用。设置包含响应数据的字段名称
模板与示例#
工作流行为#
使用 Respond to Webhook 节点时,工作流的行为如下:
- 工作流完成但未执行 Respond to Webhook 节点:返回标准消息及 200 状态码。
- 工作流在首个 Respond to Webhook 节点执行前出错:返回错误消息及 500 状态码。
- 第二个 Respond to Webhook 节点在第一个之后执行:工作流将忽略它。
- 执行了 Respond to Webhook 节点但未收到 webhook:工作流将忽略该节点。
返回多个数据项(已弃用)#
1.22.0 版本弃用
n8n 1.22.0 新增了通过 All Incoming Items 选项返回所有数据项的功能。n8n 建议升级至最新版本,而非使用本节描述的变通方案。
Respond to Webhook 节点仅使用首个传入数据项执行一次,包括使用表达式时。无法通过 Loop 节点强制循环:工作流会运行,但 webhook 响应仍仅包含首次执行的结果。
如需返回多个数据项,请选择以下方案之一:
- 不使用 Respond to Webhook 节点,改为在 Webhook 节点的 Respond 中选择 When Last Node Finishes 选项。适用于返回工作流最终输出的数据。
- 使用 Aggregate 节点将多个数据项合并为单个数据项后再传递给 Respond to Webhook 节点。将 Aggregate 设置为 All Item Data (Into a Single List)。