跳到主要内容

Webhook 节点#

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

当你想要接收数据并基于数据运行工作流时,可以使用 Webhook 节点作为工作流的触发器。Webhook 节点还支持返回工作流结束时生成的数据。这使其对于构建处理数据并返回结果的工作流非常有用,就像 API 端点一样。

webhook 允许你从没有专用应用程序触发器节点的服务触发工作流。

工作流开发过程#

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

节点参数#

使用这些参数配置你的节点。

Webhook URL#

Webhook 节点有两个 Webhook URL:测试和生产。n8n 在节点面板顶部显示 URL。

选择 Test URLProduction URL 以切换 n8n 显示的 URL。

Webhook 节点参数选项卡中的示例 Webhook URL 显示测试 URL 和生产 URL

Webhook 节点参数选项卡中的示例 Webhook URL

  • 测试:当你选择监听测试事件执行工作流时,如果工作流未激活,n8n 会注册一个测试 webhook。当你调用 webhook URL 时,n8n 会在工作流中显示数据。
  • 生产:当你激活工作流时,n8n 会注册一个生产 webhook。使用生产 URL 时,n8n 不会在工作流中显示数据。你仍然可以查看生产执行的工作流数据:在工作流中选择执行选项卡,然后选择你想要查看的工作流执行。

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 auth
  • None

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

响应#

  • 立即:Webhook 节点返回响应代码和消息 Workflow got started
  • 当最后一个节点完成时:Webhook 节点返回响应代码和工作流中执行的最后一个节点的数据输出。
  • 使用 'Respond to Webhook' 节点:Webhook 节点按照 Respond to Webhook 节点中定义的方式响应。
  • 流式响应:在工作流处理时启用实时数据流回用户。需要工作流中具有流式支持的节点(例如,AI agent 节点)。

响应代码#

自定义 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。
  • 响应 Content-Type:选择 webhook 正文的格式。
  • 响应数据:使用响应发送自定义数据。
  • 响应标头:在 Webhook 响应中发送额外的标头。有关响应标头的更多信息,请参阅 MDN Web Docs | 响应标头
  • 属性名称:默认情况下,n8n 返回所有可用数据。你可以选择返回特定的 JSON 键,以便 n8n 返回该值。
选项所需节点配置
允许的来源 (CORS)任意
二进制属性以下之一:HTTP 方法 > POST HTTP 方法 > PATCH HTTP 方法 > PUT
忽略机器人任意
IP 白名单任意
属性名称两者:响应 > 当最后一个节点完成时 响应数据 > 第一个条目 JSON
无响应正文响应 > 立即
原始正文任意
响应代码除响应 > 使用 'Respond to Webhook' 节点之外的任意
响应 Content-Type两者:响应 > 当最后一个节点完成时 响应数据 > 第一个条目 JSON
响应数据响应 > 立即
响应标头任意

n8n 如何保护 HTML 响应#

n8n 版本 1.103.0 开始,n8n 自动将 webhook 的 HTML 响应包装在 <iframe> 标签中。这是一种保护实例用户的安全机制。

这具有以下影响:

  • HTML 在沙盒 iframe 中渲染,而不是直接在父文档中渲染。
  • 尝试访问顶级窗口或本地存储的 JavaScript 代码将失败。
  • 身份验证标头在沙盒 iframe 中不可用(例如,基本身份验证)。你需要使用替代方法,例如在 HTML 中嵌入短期访问令牌。
  • 相对 URL(例如,<form action="/">)将不起作用。请改用绝对 URL。

模板和示例#

📚 使用 GPT 和 Docsify 自动生成 n8n 工作流文档

作者:Eduard

查看模板详情

使用 Mintlify 文档和 Zendesk AI 代理自动化客户支持

作者:Alex Gurinovich

查看模板详情

使用 OpenAI 和 GDrive 将云文档转换为安全基线

作者:Raphael De Carvalho Florencio

查看模板详情

浏览 Webhook 节点文档集成模板,或搜索所有模板

常见问题#

有关常见问题或疑问以及建议的解决方案,请参阅常见问题