如何将 n8n 与 Workflow Webhooks 连接起来
用例概述
此配置将您在 n8n 中的购后邮件工作流程与 Workflow Webhooks 对接,以便您收集客户信息用于每月 SEO 审计,并将这些信息传递至 Shopify Flow。
在此示例中,客户会收到一封包含调查表的电子邮件(我们使用的是 Google 表单,Google 表单会将数据添加到 Google 电子表格中),其中询问以下内容:
- 您的 Shopify 商店网址是什么?
- **您目前面临的最大SEO挑战是什么?**可选答案如下:
slow traffic growth、poor product rankings、thin content、technical errors - **您的商店经营了多久?**以下是可选答案:
less than 6 months、6–12 months、1–3 years、3+ years - 在商店下单时使用的邮箱地址?
当客户提交表单时,n8n 会将答案发送至您的 Workflow Webhooks 端点。随后,Shopify Flow 可以为客户添加标签并附上备注,以便您的 SEO 团队在 Shopify 管理后台立即查看相关背景信息。
此工作流程的功能
当客户在您的邮件流程中提交表单后,数据会被添加到电子表格中,随后 n8n 会将数据发送至 Workflow Webhooks Webhook,该 Webhook 再将此负载发送至 Shopify Flow:
{
"name": "Saad",
"email": "customer@example.com",
"store_url": "mystore.myshopify.com",
"seo_challenge": "poor product rankings",
"store_age": "1-3 years"
}那么,您的Shopify Flow工作流程如下:
- 添加客户标签
seo-audit-pending - 添加一条包含商店网址和SEO难题的客户备注
这样,您的团队就可以轻松地在Shopify管理后台中打开客户记录,并在审计开始前查看需要关注的事项。
视频指南
在这里您可以观看整个设置过程的视频,视频没有声音。您可以根据需要调整视频的播放速度。
开始之前
- 在您的 Shopify 商店中安装并启用“Workflow Webhooks”。
- 请准备好一个Shopify Flow工作流程,或在Shopify Flow中创建一个新的工作流程。
- 在为您的 n8n 工作流程提供数据的工具中创建表单。我使用的是 Google 表单,一旦 Google 表单被提交,相关条目就会在 Google 电子表格中生成。
从 Google 表单接收的数据已导入电子表格 - 请确保您收集的客户电子邮件地址与Shopify中记录的完全一致,以便Shopify Flow能够识别出正确的客户。
建立连接
在 Workflow Webhooks 中,创建 Webhook。

输入名称并生成静态令牌(您可以点击下图中编号为3处的“魔法按钮”立即生成静态令牌),然后保存。

在**“高级设置**”中,为需要接收的变量命名:
nameemailstore_urlseo_challengestore_age

在设置中,我们有 4 个变量,已分别映射为 name、email、store_url 和 seo_challenge;此外,我们还勾选了**“允许自定义请求体**”选项,以便接收 store_age 等其他信息。
在 Google 表格触发器中,选择您要监控的正确工作表,并在表单中创建一条测试条目以查看数据。

然后选择“HTTP 请求”操作,将表单数据发送至您使用 Workflow Webhooks 应用创建的 Webhook。

您可以按照 Workflow Webhooks Webhook 底部提到的步骤操作,其中包含映射字段、API 令牌以及 Webhook 的 URL。

我在 n8n 的 HTTP 请求操作中添加了 URL,选择了 POST 方法,并按如下方式添加了请求头。

然后,我将 Webhook 中创建的变量与实际问题进行了映射。在视频演示中,你会看到我是如何将答案拖放至相应字段的。我还添加了 store_age 字段,该字段位于可滚动页面下方,因此未能出现在截图中。

然后执行该步骤,并在Workflow Webhooks应用中查看从n8n发送到您Webhook的数据。在调用记录中,您可以看到外部系统调用了该Webhook,并查看其负载。您可以在Shopify Flow中使用该负载来执行任何操作。

由于您的 Webhook 已成功从 n8n 接收了数据,请保存并发布该工作流程。

在 Shopify Flow 中,创建一个工作流程,该工作流程在通过 Workflow Webhooks 接收 Webhook 数据时启动。然后在 Webhook 触发器中,点击“记录事件”。

现在请转到之前的 Webhook 调用,并“重放”该 Webhook,将此负载发送至 Shopify Flow 中的 Webhook 触发器。

现在在数据中,你可以看到负载以及 Webhook ID。

您可以在 Webhook 仪表盘中看到相同的 Webhook,它可用于识别您的 Webhook。

现在添加一个条件:如果接收到的 Webhook ID 与您为 n8n 流程创建的 Webhook ID 相等,则执行与该表单相关的操作。因为每个 Webhook 触发器都会接收发送到 Workflow Webhooks 应用中任何 Webhook URL 的数据,而该 ID 将帮助您从 Webhook 中筛选出相关数据以满足特定需求。

使用“收到的电子邮件”值,通过“高级查询”查找匹配的客户。在查询中,您可以使用电子邮件地址,该电子邮件地址来自 Webhook 触发器的变量。对我来说,fieldTwo 就是电子邮件地址。我的查询如下:email:"{{fieldTwo}}"

现在检查客户是否存在。我正在检查客户ID是否存在。

然后添加标签 seo-audit-pending。为了获取客户信息,我在配置中使用了以下代码来处理客户 ID:在标签语法中,我使用了 空格控制功能,并结合 {{-、-}}、{%- 以及 -%} 来去除客户 ID 左右两侧的空格。如果存在空格,则查询将无法正常工作。
{%- for getCustomerData_item in getCustomerData -%}
{{-getCustomerData_item.id-}}
{%- endfor -%}
在客户备注中添加或更新商店网址和SEO挑战相关内容。 为了获取客户信息,我在配置中使用了以下代码来处理客户ID:我采用了的空格控制功能(),并在标签语法中使用了{{-、-}}、{%-以及-%},以去除客户ID左右两侧的空格。如果存在空格,则查询将无法正常工作。
{%- for getCustomerData_item in getCustomerData -%}
{{-getCustomerData_item.id-}}
{%- endfor -%}
启用该工作流程,从表单提交一条测试响应,并确认Shopify中的正确客户记录已收到该标签和备注。
其工作原理如下:表单提交 -> n8n 接收数据 -> n8n 将数据发送至 Workflow Webhooks Webhook -> Workflow Webhooks 的 Webhook 触发 Shopify Flow -> 您根据 Webhook ID 筛选流程触发器 -> 然后根据该 ID 获取客户 -> 检查客户是否存在 -> 添加标签 -> 添加备注
对客户而言,标签和备注的外观如下图所示。


