---
title: "Metafield triggers"
description: "Watch a specific metafield definition across 10 owner types, and choose between the generic Metafield Update trigger and the typed order, product, and customer variants."
canonical: "https://docs.workflow-trigger-extensions.app/metafield-triggers"
---

# Metafield triggers

Metafield triggers fire when a specific metafield definition changes, on any of 10
owner types.

## Supported owner types

Product, Product Variant, Collection, Customer, Order, Draft Order, Company, Company
Location, Blog, Blog Post, and Page.

## Setting one up

1. Open **Metafield Triggers** in the app navigation.
2. Click **Add trigger**.
3. Pick the **owner type**, then the **metafield definition** you want to watch.
4. Save.

From then on, edits to that metafield fire the **Metafield Update** trigger in Shopify
Flow, carrying the namespace, key, owner, and the old and new values.

> [!WARNING]
> The permission that a metafield trigger needs depends on its **owner type**, not on the
> metafield itself. Watching a product metafield needs Product Data Access; watching an
> order metafield needs Order Data Access. Grant the matching permission first or the
> trigger will never fire.

## The generic trigger and the typed ones

There are two ways to consume metafield changes:

| Trigger | Covers | Delivers |
| --- | --- | --- |
| **Metafield Update** | All 10 owner types | Namespace, key, owner id, old and new value |
| **Order Metafield Update** | Orders only | The same, plus the order as a native Flow reference |
| **Product Metafield Update** | Products only | The same, plus the product as a native reference |
| **Customer Metafield Update** | Customers only | The same, plus the customer as a native reference |

Use a **typed** trigger when your workflow needs to act on the resource itself, for
example to tag the order or read its line items. The native reference means Flow can
use its own Shopify actions on it directly, with no lookup step.

Use the **generic** trigger when you just need to know a value changed, or when you are
watching an owner type that has no typed variant.

The typed triggers are switched on per resource on their Settings tab and fire *in
addition* to the generic trigger. They share one event, so enabling both does not
double-count against your quota.

> [!NOTE]
> **Variant metafields fire the generic trigger only.** A metafield on a product *variant*
> fires **Metafield Update**, not **Product Metafield Update**, which is scoped to product
> owners. If a variant metafield workflow never runs, check which trigger it is bound to.

## Guides

- [Trigger Shopify Flow on order metafield updates](https://docs.workflow-trigger-extensions.app/order-metafield-update-guide.md)
- [Trigger Shopify Flow on product metafield changes](https://docs.workflow-trigger-extensions.app/product-metafield-update-guide.md)
- [Trigger Shopify Flow on customer metafield updates](https://docs.workflow-trigger-extensions.app/customer-metafield-update-guide.md)
