元字段触发器,分步指南
元字段是商店用来存放Shopify中没有对应字段的数据的地方,而Shopify Flow无法对这些字段的变化做出响应。这五个触发器可以做到这一点 - - 而且它们会携带previousValue属性,因此工作流能够区分数值上升还是下降。
根据定义,它们全都有效:您可以在应用的**“元字段触发器**”页面上选择要监视的元字段。如果您未在此处添加某个元字段,则该元字段不会触发任何操作。有关设置方法,请参阅 元字段触发器。

元字段更新
当被监视的元字段发生变化时触发,适用于任何所有者类型:产品、变体、系列、客户、订单、订单草稿、公司、公司地址、博客、博客文章或页面。
| 火灾源于 | Shopify Webhook 结合变更检测。会按计划检查变体、博客、博客文章和页面的元字段 |
| 权限 | 产品、变体和系列数据的访问 |
| 已开启 | 根据元字段的定义,在应用的**“元字段触发器**”页面上 |
用于
- 没有类型化触发器的所有者类型:集合、公司、页面、博客文章。
- 一个监听多个元字段并在
metafieldKey处分支的工作流。
Metafield Update 会向您的工作流发送什么
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
metafieldKey |
文本 | 已更新的元字段的 namespace.key(用于在 Flow 中进行过滤) |
resourceType |
文本 | 资源类型(PRODUCT、PRODUCTVARIANT、COLLECTION、CUSTOMER、ORDER、COMPANY、COMPANYLOCATION、ARTICLE、BLOG、PAGE) |
resourceId |
文本 | 被更新的资源的 GID |
metafield |
对象 | 已更新的元字段 |
metafield.id |
ID | 元字段的全局标识符 |
metafield.namespace |
文本 | 元字段的命名空间 |
metafield.key |
文本 | 元字段的键 |
metafield.value |
文本 | 元字段的值 |
metafield.previousValue |
文本 | 此更改之前的值。当元字段刚创建时,该值为空。 |
metafield.type |
文本 | 元字段的类型 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:响应集合元字段的变更
- 在应用中打开**“元字段触发器**”,点击**“添加触发器**”,选择所有者类型**“集合**”及其定义,然后保存。
- 在“流程”中,选择**“元字段更新**”作为触发器。
- 添加条件:
metafieldKey等于custom.banner_text,且resourceType等于COLLECTION。 - 添加“通过
{{metafield.previousValue}} -> {{metafield.value}}和{{resourceId}}**发送内部电子邮件”**选项。 - 启用该工作流。
产品元字段更新
当被监视的产品元字段发生变化时触发,此时该产品作为 Flow 的原生引用。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 产品、变体和系列数据的访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上 |
用于
- 直接对产品进行操作:为其添加标签、发布、更新另一个元字段。
- 数值元字段的阈值:评分、库存预测、供应商交货期。
“产品元字段更新”会向您的工作流发送哪些内容
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
product |
产品(Shopify) | 元字段发生变化的产品。这是一个完整的Shopify产品,因此其所有字段以及Flow自身的产品操作均可使用。 |
metafieldKey |
文本 | 发生变化的元字段的 namespace.key(用于在 Flow 中进行筛选) |
metafield |
对象 | 已更新的元字段 |
metafield.id |
ID | 元字段的全局标识符 |
metafield.namespace |
文本 | 元字段的命名空间 |
metafield.key |
文本 | 元字段的键 |
metafield.value |
文本 | 元字段的值 |
metafield.previousValue |
文本 | 此更改之前的值。当元字段刚创建时,该值为空。 |
metafield.type |
文本 | 元字段的类型 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:为评分低于3的产品添加标签
- 在应用的**“元字段触发器**”页面中添加该产品元字段。
- 在 Flow 中选择**“产品元字段更新**”。
- 添加条件:
metafieldKey等于reviews.rating。 - 添加一段代码来比较数字,因为元字段的值以文本形式返回:return
dropped: Number(input.metafield.value) < 3 && Number(input.metafield.previousValue) >= 3。 - 在代码的
dropped输出处添加一个条件,然后添加产品标签low-rating。 - 启用该工作流。


产品变体元字段更新
当被监视的变体元字段发生变化时触发。父产品以引用形式传入,变体则以resourceId的形式传入。
| 火灾源于 | 按计划进行检查,因为 Shopify 不会为此发送 webhook |
| 权限 | 产品、变体和系列数据的访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 将变体数据汇总到产品层面,例如所有变体中最短的交货期。
- 将变体级属性同步到数据源。
“产品变体元字段更新”会向您的工作流发送哪些内容
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
product |
产品(Shopify) | 元字段发生变化的变体的父产品(用于编写产品元字段)。这是一个完整的Shopify产品,因此其所有字段以及Flow自身的产品操作均可使用。 |
resourceId |
文本 | 元字段发生变化的产品变体的 GID |
metafieldKey |
文本 | 发生变化的元字段的 namespace.key(用于在 Flow 中进行过滤) |
metafield |
对象 | 已更新的元字段 |
metafield.id |
ID | 元字段的全局标识符 |
metafield.namespace |
文本 | 元字段的命名空间 |
metafield.key |
文本 | 元字段的键 |
metafield.value |
文本 | 元字段的值 |
metafield.previousValue |
文本 | 此更改之前的值。当元字段刚创建时,该值为空。 |
metafield.type |
文本 | 元字段的类型 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:将变体元字段复制到其对应的产品上
- 在**“元字段触发器**”页面上添加“变体”元字段。
- 在流程中选择**“产品变体元字段更新”**。
- 在
product上添加**“Update product metafield”字段**,并将其值设为{{metafield.value}}。 - 启用该工作流。
元字段更新顺序
当被监视的订单元字段发生变化时触发,此时订单作为原生引用。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 订单数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的专属开关位于应用的**“触发器**”页面上。 |
用于
- 根据应用程序写入订单中的数据做出响应:交货日期、风险评分、ERP编号。
- 当批准元字段状态发生变化时,启动履约步骤。
“元字段更新”会向您的工作流发送什么指令
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
order |
订单(Shopify) | 元字段发生变化的订单。这是一个完整的Shopify订单,因此其所有字段以及Flow自带的订单操作均可使用。 |
metafieldKey |
文本 | 发生变化的元字段的 namespace.key(用于在 Flow 中进行筛选) |
metafield |
对象 | 已更新的元字段 |
metafield.id |
ID | 元字段的全局标识符 |
metafield.namespace |
文本 | 元字段的命名空间 |
metafield.key |
文本 | 元字段的键 |
metafield.value |
文本 | 元字段的值 |
metafield.previousValue |
文本 | 此更改之前的值。当元字段刚创建时,该值为空。 |
metafield.type |
文本 | 元字段的类型 |
eventId |
文本 | 此事件的 ID。请在应用的“事件历史记录”中搜索该 ID,以查看具体发送了什么内容。 |
示例:当订单的“审批”元字段变为“true”时,释放该订单
- 在**“元字段触发器**”页面上添加订单元字段。
- 在 Flow 中更新拣货顺序元字段。
- 添加条件:
metafieldKey等于custom.approved,且metafield.value等于true。 - 添加一个**“For each**”循环,循环范围为
order.fulfillmentOrders,并启用**“释放履约订单保留”功能**。 - 启用该工作流。
客户元字段更新
当被监视的客户元字段发生变化时触发,此时将客户作为本机引用。
| 火灾源于 | Shopify Webhook 结合变更检测 |
| 权限 | 客户数据访问 |
| 已开启 | 启用一个使用该功能的 Flow 工作流即可将其开启。该功能的独立开关位于应用的**“触发器**”页面上。 |
用于
- 保存在元字段中的会员等级、信用额度或生日信息。
- 将表单或应用程序写入的客户属性同步到 CRM 中。
“客户元字段更新”会向您的工作流发送哪些内容
| 流中的变量 | 类型 | 内容简介 |
|---|---|---|
customer |
客户(Shopify) | 元字段发生变化的客户。该客户是Shopify的完整客户,因此其所有字段以及Flow自身的客户操作均可用。 |
metafieldKey |
文本 | 发生变化的元字段的 namespace.key(用于在 Flow 中进行筛选) |
metafield |
对象 | 已更新的元字段 |
metafield.id |
ID | 元字段的全局 ID |
metafield.namespace |
文本 | 元字段的命名空间 |
metafield.key |
文本 | 元字段的键 |
metafield.value |
文本 | 元字段的值 |
metafield.previousValue |
文本 | 此更改之前的值。若元字段刚创建,则为空 |
metafield.type |
文本 | 元字段的类型 |
eventId |
文本 | 此事件的ID。请在应用的“事件历史记录”中搜索该ID,以查看具体发送了什么内容。 |
示例:给达到黄金级别的客户打上标签
- 在**“元字段触发器**”页面上添加“客户”元字段。
- 在“流程”中选择**“客户元字段更新**”。
- 添加条件:
metafieldKey等于loyalty.tier,且metafield.value等于gold。 - 添加客户标签
gold,并向VIP团队发送内部邮件。 - 启用该工作流。
下一步
除了通用触发器**之外,**类型化触发器也会被触发,并且与通用触发器共享同一事件,因此同时启用这两者不会被计入您的计划配额两次。
- 触发器完整参考指南 - 所有触发器都集中在一页上。
- 选择合适的扳机 - 哪一种适合您的情况。
- 自定义触发器 - 如果没有合适的内置触发器,请自行编写一个。
- 事件历史记录和故障排除 - 看看它发射了什么,又携带了什么。

