Skip to content

Webhook 节点#

使用 Webhook 节点可以创建 webhooks,用于在事件发生时接收来自应用程序和服务的数据。这是一个触发器节点,意味着它可以启动一个 n8n 工作流。这使得服务能够连接到 n8n 并运行工作流。

当您需要接收数据并根据数据运行工作流时,可以将 Webhook 节点用作工作流的触发器。Webhook 节点还支持返回工作流结束时生成的数据,这使得它非常适合构建处理数据并返回结果的工作流,就像一个 API 端点。

通过 webhook,您可以从那些没有专用应用触发器节点的服务中触发工作流。

工作流开发流程#

n8n 为测试和生产环境提供了不同的 Webhook URL。测试 URL 包含 监听测试事件 选项。有关构建、测试并将 Webhook 节点转移到生产环境的更多信息,请参阅工作流开发

节点参数#

使用以下参数来配置您的节点。

Webhook URL#

Webhook 节点提供两种 Webhook URL:测试 URL 和生产 URL。n8n 会在节点面板顶部显示这些 URL。

通过选择 Test URLProduction URL 可以切换 n8n 显示的 URL 类型。

Webhook 节点参数选项卡中显示的示例 Webhook URL,包含测试 URL 和生产 URL
Webhook 节点参数选项卡中的示例 URL
  • 测试 URL:当您选择 Listen for Test Event 或执行未激活的工作流时,n8n 会注册测试 webhook。调用该 URL 时,n8n 会在工作流中显示数据。
  • 生产 URL:当您激活工作流时,n8n 会注册生产 webhook。使用生产 URL 时,n8n 不会在工作流中显示数据。您仍可通过以下方式查看生产执行的数据:在工作流中选择 Executions 选项卡,然后选择要查看的工作流执行记录。

HTTP 方法#

Webhook 节点支持标准 HTTP 请求方法

  • DELETE
  • GET
  • HEAD
  • PATCH
  • POST
  • PUT

    Webhook 最大负载

    Webhook 的最大负载大小为 16MB。 如果您是自托管 n8n,可以使用 端点环境变量 N8N_PAYLOAD_SIZE_MAX 修改此限制。

路径#

默认情况下,此字段包含随机生成的 webhook URL 路径,以避免与其他 webhook 节点冲突。

您可以手动指定 URL 路径,包括添加路由参数。例如,如果您使用 n8n 进行 API 原型设计并希望保持一致的端点 URL,可能需要这样做。

路径字段支持以下格式:

  • /:variable
  • /path/:variable
  • /:variable/path
  • /:variable1/path/:variable2
  • /:variable1/:variable2

支持的认证方式#

您可以为调用 webhook URL 的任何服务设置认证要求。可选择以下认证方式:

  • 基本认证(Basic auth)
  • 头部认证(Header auth)
  • JWT 认证(JWT auth)
  • 无需认证(None)

有关设置每种凭证类型的更多信息,请参阅 Webhook 凭证

响应方式#

  • 立即响应:Webhook 节点返回响应代码和消息 Workflow got started(工作流已启动)。
  • 当最后一个节点完成时:Webhook 节点返回响应代码以及工作流中最后执行节点的数据输出。
  • 使用'响应 Webhook'节点:Webhook 节点按照 Respond to Webhook 节点中的定义进行响应。

响应代码#

自定义 Webhook 节点成功执行后返回的 HTTP 响应代码。可从常见响应代码中选择或创建自定义代码。

响应数据#

选择在响应体中包含哪些数据:

  • 所有条目:Webhook 以数组形式返回最后一个节点的所有条目。
  • 首个条目 JSON:Webhook 以 JSON 对象形式返回最后一个节点首个条目的 JSON 数据。
  • 首个条目二进制:Webhook 以二进制文件形式返回最后一个节点首个条目的二进制数据。
  • 无响应体:Webhook 返回时不带响应体。

仅适用于响应方式 > 当最后一个节点完成时

节点选项#

选择 添加选项 查看更多配置选项。可用选项取决于您的节点参数。请参考下表了解选项的可用性。

  • 允许来源 (CORS): 设置允许的跨域来源。输入逗号分隔的 URL 列表,允许这些来源发起跨域非预检请求。使用 *(默认值)表示允许所有来源。
  • 二进制属性: 启用此设置允许 Webhook 节点接收二进制数据,如图片或音频文件。输入二进制属性名称,将接收到的文件数据写入该属性。
  • 忽略机器人: 忽略来自链接预览器和网络爬虫等机器人的请求。
  • IP 白名单: 启用此选项可限制谁(或什么)可以调用 Webhook 触发 URL。输入逗号分隔的允许 IP 地址列表。来自白名单外 IP 地址的访问会抛出 403 错误。如果留空,则所有 IP 地址都可以调用 webhook 触发 URL。
  • 无响应体: 启用此选项可阻止 n8n 在响应中包含响应体。
  • 原始体: 指定 Webhook 节点将以原始格式(如 JSON 或 XML)接收数据。
  • 响应内容类型: 选择 webhook 响应体的格式。
  • 响应数据: 在响应中发送自定义数据。
  • 响应头: 在 Webhook 响应中发送额外的头信息。参考 MDN Web 文档 | 响应头 了解更多关于响应头的信息。
  • 属性名: 默认情况下,n8n 返回所有可用数据。您可以选择返回特定的 JSON 键,这样 n8n 将只返回该键对应的值。
选项 必需的节点配置
允许来源 (CORS) 任意
二进制属性 满足以下任一条件:
HTTP 方法 > POST
HTTP 方法 > PATCH
HTTP 方法 > PUT
忽略机器人 任意
IP 白名单 任意
属性名 需同时满足:
响应方式 > 当最后一个节点完成时
响应数据 > 首个条目 JSON
无响应体 响应方式 > 立即响应
原始体 任意
响应代码 除以下选项外的任意配置:
响应方式 > 使用'响应 Webhook'节点
响应内容类型 需同时满足:
响应方式 > 当最后一个节点完成时
响应数据 > 首个条目 JSON
响应数据 响应方式 > 立即响应
响应头 任意

模板与示例#

Creating an API endpoint

by Jonathan

View template details
⚡AI-Powered YouTube Video Summarization & Analysis

by Joseph LePage

View template details
Create a Branded AI-Powered Website Chatbot

by Wayne Simpson

View template details
Browse Webhook integration templates, or search all templates

常见问题#

关于常见问题及其解决方案,请参阅常见问题