如何将 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:

perl
{
  "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处的“魔法按钮”立即生成静态令牌),然后保存。

图片

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

  • name
  • email
  • store_url
  • seo_challenge
  • store_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 左右两侧的空格。如果存在空格,则查询将无法正常工作。

ruby
{%- for getCustomerData_item in getCustomerData -%}
  {{-getCustomerData_item.id-}}
{%- endfor -%}

图片

在客户备注中添加或更新商店网址和SEO挑战相关内容。 为了获取客户信息,我在配置中使用了以下代码来处理客户ID:我采用了的空格控制功能(),并在标签语法中使用了{{-、-}}、{%-以及-%},以去除客户ID左右两侧的空格。如果存在空格,则查询将无法正常工作。

ruby
{%- for getCustomerData_item in getCustomerData -%}
  {{-getCustomerData_item.id-}}
{%- endfor -%}

图片

启用该工作流程,从表单提交一条测试响应,并确认Shopify中的正确客户记录已收到该标签和备注。

其工作原理如下:表单提交 -> n8n 接收数据 -> n8n 将数据发送至 Workflow Webhooks Webhook -> Workflow Webhooks 的 Webhook 触发 Shopify Flow -> 您根据 Webhook ID 筛选流程触发器 -> 然后根据该 ID 获取客户 -> 检查客户是否存在 -> 添加标签 -> 添加备注

对客户而言,标签和备注的外观如下图所示。

图片