---
title: "Metaobject trigger, step by step"
description: "Step-by-step Shopify Flow tutorial for the Metaobject entry updated trigger: watch a definition and react to changed entries."
canonical: "https://docs.workflow-trigger-extensions.app/metaobject-trigger-tutorials"
---

# Metaobject trigger, step by step

One trigger for metaobject entries: size guides, store locators, ingredient lists, team members, anything you modelled yourself. You choose which **definitions** to watch on the app's **Metaobject Triggers** page. See [Metaobject triggers](https://docs.workflow-trigger-extensions.app/metaobject-triggers.md).

> [!TIP]
> **New to Shopify Flow?**
> Every example follows the same five moves: pick the trigger, add a condition, add an action, turn the workflow on, check Event History. [Your first workflow, step by step](https://docs.workflow-trigger-extensions.app/first-workflow-tutorial.md) shows each of them with screenshots.

![Shopify Flow's trigger picker inside Workflow Trigger Extensions, searched for Metaobject](https://cdn-dev.eu.codecreationlabs.cloud/crm-tool/uploads/SjJ78gKLnLlocopCui3Cs62dJbGZ7F1n/947212f4682edbb9.png)
*Where you find them: in Shopify Flow choose Select a trigger, open Workflow Trigger Extensions and search for "Metaobject".*

## Metaobject entry updated

Fires when an entry of a watched metaobject definition is updated. The whole entry arrives: `type`, `handle`, `displayName` and every field with its key and value.

| | |
| --- | --- |
| **Fires from** | Shopify webhook |
| **Permission** | **Metaobject Data Access** |
| **Switched on** | Per metaobject definition, on the app's **Metaobject Triggers** page |

**Use it for**

- Tell the content team when a size guide or a care instruction changes.
- Push changed store locator entries to a map provider.
- Rebuild something on the storefront that is generated from metaobjects.

### What Metaobject entry updated sends to your workflow

| Variable in Flow | Type | What it holds |
| --- | --- | --- |
| `metaobjectHandle` | Text | The handle of the metaobject that was updated (for filtering in Flow) |
| `metaobject` | Object | The metaobject entry that was updated |
| `metaobject.definition` | Object | The MetaobjectDefinition that models this object type |
| `metaobject.displayName` | Text | Display name of the metaobject |
| `metaobject.fields` | List of objects | All fields of the metaobject with their keys and values |
| `metaobject.fields (each).definition` | Object | The field definition for this object key |
| `metaobject.fields (each).jsonValue` | Text | The assigned field value in JSON format |
| `metaobject.fields (each).key` | Text | The object key of this field |
| `metaobject.fields (each).thumbnail` | Object | Visual attributes for file or color fields |
| `metaobject.fields (each).type` | Text | The type of the field |
| `metaobject.fields (each).value` | Text | The assigned field value, always stored as a string |
| `metaobject.handle` | Text | Handle/slug of the metaobject instance |
| `metaobject.id` | ID | Global ID of the metaobject |
| `metaobject.type` | Text | Type/handle of the metaobject definition |
| `eventId` | Text | The id of this event. Search for it in the app's Event History to see exactly what was sent. |

### Example: Notify the content team about a changed size guide

1. In the app open **Metaobject Triggers**, click **Add trigger**, choose the definition and save.
2. In Flow pick **Metaobject entry updated**.
3. Add a **Condition**: `metaobject.type` **Equal to** `size_guide`.
4. Add **Send internal email** with `{{metaobject.displayName}}` and a Liquid `for` loop over `metaobject.fields` that prints each field's `key` and `value`.
5. Turn the workflow on.

![The Select Metaobject Type dialog with the type Size guide selected](https://cdn-dev.eu.codecreationlabs.cloud/crm-tool/uploads/SjJ78gKLnLlocopCui3Cs62dJbGZ7F1n/df845fd37362164d.png)
*First watch the type in the app: Metaobject Triggers, Add Trigger, Size guide.*

> [!NOTE]
> **Good to know**
> - `metaobjectHandle` is there for conditions on a single entry.
> - The event carries the entry as it is **now**. There is no previous value for metaobject fields.

## Next steps

- [Complete trigger reference](https://docs.workflow-trigger-extensions.app/trigger-reference.md) - every trigger on one page.
- [Choosing the right trigger](https://docs.workflow-trigger-extensions.app/choosing-the-right-trigger.md) - which one fits your case.
- [Custom triggers](https://docs.workflow-trigger-extensions.app/custom-triggers.md) - when no built-in trigger fits, write your own.
- [Event history and troubleshooting](https://docs.workflow-trigger-extensions.app/event-history-and-troubleshooting.md) - see what fired and what it carried.
