在 HubSpot 工作流中使用网络钩子
上次更新时间: 二月 13, 2025
除非另有说明,否则适用于以下任何订阅:
|
在工作流中使用网络钩子在 HubSpot 和其他外部工具之间发送或检索信息。网络钩子的用途多种多样,常见的网络钩子用例包括:
-
当联系人填写网站上的特定表单时,将 HubSpot 联系人数据发布到另一个系统(如 CRM)。
-
将交易数据发送到外部发货处理系统,以创建采购订单。
- 从另一个系统检索数据,以更新你的 HubSpot 记录。
你可以使用工作流发送POST和GET请求。HubSpot将网络钩子流量与其他工作流程分开管理。这样做是为了简化工作流和网络钩子的性能。当网络钩子速度慢或超时时,工作流操作的执行时间可能会比预期的长。
请注意:HubSpot 将重试失败的网络钩子长达三天,从失败后一分钟开始。随后失败的重试间隔将越来越长,两次重试之间的间隔最长为 8 小时。工作流在收到 4XX 系列响应状态代码后不会重试。
此规则的一个例外是 429 速率限制错误;工作流将在收到 429 响应后自动重试,并将尊重重试后标头(如果存在)。Retry-After 以毫秒为单位记录。在HubSpot 的开发人员文档中了解具体的错误代码例外情况。
在开发人员网络钩子文档中了解更多有关网络钩子的信息。如果你对HubSpot网络钩子的具体实施有疑问,请访问HubSpot开发者论坛。
设置 POST 请求
- 在 HubSpot 帐户中,导航到自动化 > 工作流。
- 要编辑现有工作流,请单击工作流名称。或者,创建一个新的工作流程。
- 在工作流程编辑器中,单击+ 加号图标添加操作。
- 在左侧面板的数据操作部分,选择发送网络钩子。
- 单击方法下拉菜单并选择POST。
- 输入网络钩子 URL。
- Webhook URL 受限于安全协议,必须以 HTTPS 开头。
- 要请求特定信息,可以在Webhook URL中添加查询参数,如
?queryparameter=abc
。 - 如果未添加查询参数,则将发送普通 POST 或 GET 请求。
- 设置身份验证类型,以验证对 Webhook 的请求。你可以在 Webhook 标头中使用请求签名,也可以使用 API 密钥:
- 要在 webhook 头中使用请求签名,请
- 单击验证类型下拉菜单。然后,选择 在标题中包含请求签名。
- 然后,输入你的HubSpot App ID。了解如何验证请求签名。
- 要在 webhook 头中使用请求签名,请
-
- 使用 API 密钥或通过开发者账户创建的公共应用程序进行身份验证:
-
-
- 使用 API 密钥进行身份验证时,所使用的API 密钥名称和API 密钥位置取决于 webhook 的配置方式。出于安全考虑,API 密钥不会显示在任何测试请求中。要使用 API 密钥,请
- 单击验证类型下拉菜单。然后选择 API 密钥。
- 使用 API 密钥进行身份验证时,所使用的API 密钥名称和API 密钥位置取决于 webhook 的配置方式。出于安全考虑,API 密钥不会显示在任何测试请求中。要使用 API 密钥,请
-
- 要包含所有属性,请选择 "包含所有 [对象] 属性"。
- 仅包含特定属性:
- 选择自定义请求正文。
- 要使用 HubSpot 属性自定义请求正文,请输入密钥并选择属性。要添加其他属性,请单击添加属性。
- 要使用静态字段自定义请求正文,请输入键和值。要添加其他属性,请单击添加静态值。
-
- 要删除属性或静态值,请单击delete 垃圾桶图标。
- 单击保存。
请注意:要选择多个输出,响应的结构应为 JSON 对象。
设置 GET 请求
- 在 HubSpot 帐户中,导航到自动化 > 工作流。
- 要编辑现有工作流程,请单击工作流程名称。或者,创建一个新的工作流程。
- 在工作流程编辑器中,单击+ 加号图标添加操作。
- 在左侧面板的数据操作部分,选择发送网络钩子。
- 单击方法下拉菜单并选择GET。
- 输入网络钩子 URL。
- Webhook URL 受限于安全协议,必须以 HTTPS 开头。
- 要请求特定信息,可以在Webhook URL中添加查询参数,如
?queryparameter=abc
。 - 如果未添加查询参数,则将发送普通 POST 或 GET 请求。
- 设置身份验证类型,以验证对 Webhook 的请求。你可以在 Webhook 标头中使用请求签名,也可以使用 API 密钥:
- 要在 webhook 头中使用请求签名,请
- 单击验证类型下拉菜单。然后,选择 在标题中包含请求签名。
- 然后,输入你的HubSpot App ID。了解如何验证请求签名。
- 要在 webhook 头中使用请求签名,请
-
- 使用 API 密钥或通过开发者账户创建的公共应用程序进行身份验证:
-
-
- 使用 API 密钥进行身份验证时,所使用的API 密钥名称和API 密钥位置取决于 webhook 的配置方式。出于安全考虑,API 密钥不会显示在任何测试请求中。要使用 API 密钥,请
- 单击验证类型下拉菜单。然后选择 API 密钥。
- 使用 API 密钥进行身份验证时,所使用的API 密钥名称和API 密钥位置取决于 webhook 的配置方式。出于安全考虑,API 密钥不会显示在任何测试请求中。要使用 API 密钥,请
-
- 使用 HubSpot 属性作为查询参数:
- 在查询参数 部分,输入键,然后选择一个属性。
- 要添加另一个属性,请单击 "添加属性"。
- 要删除属性,请单击delete 垃圾桶图标。
- 将静态值用作查询参数:
- 在查询参数 部分,输入键,然后输入值。
- 要添加另一个属性,请单击添加静态值。
- 要删除属性,请单击delete 垃圾桶图标。
- 单击保存。
在 HubSpot 中测试网络钩子
在设置POST或GET网络钩子时,你可以执行一个测试来查看网络钩子的响应。在测试过程中,当数据被发送到第三方并从第三方获取时,HubSpot中的现有记录不会受到影响。如果你使用API密钥进行身份验证,API密钥将不会显示在任何测试请求中。
测试网络钩子后,你可以选择输出哪些字段,以便在工作流程中作为输入使用。只选择每个响应中都可用的输出。如果输出在后面的操作中使用,但在响应中不可用,则操作将失败。
- 在 HubSpot 帐户中,导航到自动化 > 工作流。
- 单击工作流程的名称。
- 在工作流编辑器中,单击发送 webhook操作。
- 在左侧面板中,单击测试操作展开该部分。
- 如果要测试 POST 请求,请单击[object]下拉菜单,然后选择要测试的记录 。
- 单击测试。
- 要检查网络钩子的详细信息,请选择 "响应"或 "请求"选项卡。在每个选项卡上,你都可以单击 "全部打开 "展开所有部分,或单击 "全部折叠 "折叠所有部分。
- 在 "响应"选项卡中,单击标题: 或 主体: 展开每个部分。
- 在 "请求 "选项卡中,单击httpHeaders: 展开该部分。
从外部测试网络钩子
使用 Webhook 操作创建工作流程后,可以使用虚拟 Webhook URL 进行快速测试:
- 在浏览器中,导航至https://webhook.site 并复制唯一 URL。
- 在 Webhook 操作的Webhook URL字段中粘贴 URL。
- 打开工作流程后,就可以手动注册一个测试联系人。
- 在外部测试您的网络钩子时:
- 如果触发了带 POST 请求的网络钩子操作,将向网络钩子发送一个 JSON 响应体,其中包含联系人的所有信息,包括表单提交、列表成员资格和所有联系人属性值。接收系统可以解析 JSON 数据,并将其用于自己的应用程序。
- 如果触发了带有 GET 请求的 webhook 操作,除非应用了额外的查询参数,否则将发送一个通用的 GET 请求。
请注意:历史属性值只会在基于联系人的工作流中返回。所有其他工作流类型中使用的网络钩子只会返回最新值。
验证工作流网络钩子中的请求签名
如果您在触发网络钩子操作的 "验证"部分选择了请求签名,HubSpot 将在网络钩子中填充一个 X-HubSpot-Signature 标头,该标头包含您应用程序的应用程序机密、HTTP 方法、URI 和未解析正文的 SHA-256 哈希值。更多信息,请参阅开发者文档。
验证您的 URL 收到的请求是否来自 HubSpot:
从网络钩子触发工作流
Webhooks 可用于触发工作流。当第三方应用程序中的数据发生变化时,就会触发工作流。了解从网络钩子触发工作流的更多信息。
在数据面板中使用网络钩子数据
来自连接到您账户的网络钩子的数据可用于数据面板中的某些操作。
要使用已连接网络钩子的数据,请执行以下操作
- 在 HubSpot 帐户中,导航到自动化 > 工作流。
- 单击工作流程名称。
- 单击+ 加号图标添加操作。
- 在左侧面板中,选择一个使用数据面板的操作 。
- 在数据面板中,单击从 下拉菜单查看属性或动作输出 ,然后选择Webhook 触发器。然后就可以使用所连接的 Webhook 的属性。