Complete trigger reference
Every trigger this app adds to Shopify Flow, what makes it fire, the permission it needs, and where you switch it on. There are 82 triggers in total.
Looking for the one that fits your use case? Start with Choosing the right trigger.
Products (11)
Field-level product changes. Native Flow tells you a product was updated; these tell you what changed, so a workflow can react to a title edit without also running on every price change.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Product Update | Shopify webhook | read_products |
On by default (Settings > Trigger Settings) |
| Product Tags Added | Webhook + change detection | read_products |
Settings > Product Triggers |
| Product Tags Removed | Webhook + change detection | read_products |
Settings > Product Triggers |
| Product Status Changed | Webhook + change detection | read_products |
Settings > Product Triggers |
| Product Title Changed | Webhook + change detection | read_products |
Settings > Product Triggers |
| Product Handle Changed | Webhook + change detection | read_products |
Settings > Product Triggers |
| Product Description Changed | Webhook + change detection | read_products |
Settings > Product Triggers |
| Product Vendor Changed | Webhook + change detection | read_products |
Settings > Product Triggers |
| Product Type Changed | Webhook + change detection | read_products |
Settings > Product Triggers |
| Product Published to Channel | Webhook + change detection | read_publications |
Settings > Product Triggers |
| Product Unpublished from Channel | Webhook + change detection | read_publications |
Settings > Product Triggers |
Product variants (4)
Variant-level pricing and identifier changes, each detected independently.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Product Variant Price Changed | Webhook + change detection | read_products |
Settings > Product Variants |
| Product Variant SKU Changed | Webhook + change detection | read_products |
Settings > Product Variants |
| Product Variant Barcode Changed | Webhook + change detection | read_products |
Settings > Product Variants |
| Product Variant Unit Price Changed | Webhook + change detection | read_products |
Settings > Product Variants |
Collections (4)
Collection updates, plus the individual fields most often used for SEO and merchandising automation.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Collection Update | Shopify webhook | read_products |
On by default (Settings > Trigger Settings) |
| Collection Handle Changed | Webhook + change detection | read_products |
Settings > Collection Triggers |
| Collection Title Changed | Webhook + change detection | read_products |
Settings > Collection Triggers |
| Collection Description Changed | Webhook + change detection | read_products |
Settings > Collection Triggers |
Metafields (4)
Custom-data changes. The generic Metafield Update trigger covers 10 owner types and is configured per definition on the Metafield Triggers page. The three typed triggers additionally deliver the order, product, or customer as a native Flow reference.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Metafield Update | Webhook + change detection | read_products |
Metafield Triggers page |
| Order Metafield Update | Webhook + change detection | read_orders |
Settings > Order Triggers |
| Product Metafield Update | Webhook + change detection | read_products |
Settings > Product Triggers |
| Customer Metafield Update | Webhook + change detection | read_customers |
Settings > Customer Triggers |
Metaobjects (1)
Changes to metaobject entries, configured per definition on the Metaobject Triggers page.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Metaobject entry updated | Shopify webhook | read_metaobjects |
Metaobject Triggers page |
Customers (11)
Customer record changes, including tags, note, state, marketing consent, and the opt-in personal-data fields.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Customer Update | Shopify webhook | read_customers |
On by default (Settings > Trigger Settings) |
| Customer Tags Added | Webhook + change detection | read_customers |
Settings > Customer Triggers |
| Customer Tags Removed | Webhook + change detection | read_customers |
Settings > Customer Triggers |
| Customer Note Changed | Webhook + change detection | read_customers |
Settings > Customer Triggers |
| Customer State Changed | Webhook + change detection | read_customers |
Settings > Customer Triggers |
| Customer Name Changed | Webhook + change detection (protected data) | read_customers |
Settings > Customer Triggers (protected data, opt-in) |
| Customer Email Changed | Webhook + change detection (protected data) | read_customers |
Settings > Customer Triggers (protected data, opt-in) |
| Customer Phone Changed | Webhook + change detection (protected data) | read_customers |
Settings > Customer Triggers (protected data, opt-in) |
| Customer Address Changed | Webhook + change detection (protected data) | read_customers |
Settings > Customer Triggers (protected data, opt-in) |
| Customer Email Marketing Consent Changed | Shopify webhook | read_customers |
Settings > Customer Triggers |
| Customer SMS Marketing Consent Changed | Shopify webhook | read_customers |
Settings > Customer Triggers |
Orders (10)
Order changes at a granularity native Flow does not offer: individual line items, fulfillment transitions, financial status, notes, attributes, and tags.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Order Update | Shopify webhook | read_orders |
On by default (Settings > Trigger Settings) |
| Order Tags Added | Webhook + change detection | read_orders |
Settings > Order Triggers |
| Order Tags Removed | Webhook + change detection | read_orders |
Settings > Order Triggers |
| Order Note Changed | Webhook + change detection | read_orders |
Settings > Order Triggers |
| Order Attributes Changed | Webhook + change detection | read_orders |
Settings > Order Triggers |
| Order Line Items Changed | Webhook + change detection | read_orders |
Always on |
| Order Fulfillment Changed | Webhook + change detection | read_orders |
Settings > Order Triggers |
| Order Display Status Changed | Polling | read_orders |
Settings > Polling Triggers (polling) |
| Order Financial Status Changed | Webhook + change detection | read_orders |
Settings > Order Triggers |
| Order Shipping Address Changed | Webhook + change detection (protected data) | read_orders + read_customers |
Settings > Order Triggers (protected data, opt-in) |
Draft orders (10)
Full draft order lifecycle coverage for B2B negotiation, wholesale invoicing, and custom order workflows.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Draft Order Update | Shopify webhook | read_draft_orders |
On by default (Settings > Draft Order Triggers) |
| Draft Order Tags Added | Webhook + change detection | read_draft_orders |
Settings > Draft Order Triggers |
| Draft Order Tags Removed | Webhook + change detection | read_draft_orders |
Settings > Draft Order Triggers |
| Draft Order Note Changed | Webhook + change detection | read_draft_orders |
Settings > Draft Order Triggers |
| Draft Order Attributes Changed | Webhook + change detection | read_draft_orders |
Settings > Draft Order Triggers |
| Draft Order Line Items Changed | Webhook + change detection | read_draft_orders |
Settings > Draft Order Triggers |
| Draft Order Status Changed | Webhook + change detection | read_draft_orders |
Settings > Draft Order Triggers |
| Draft Order Email Changed | Webhook + change detection (protected data) | read_draft_orders |
Settings > Draft Order Triggers (protected data, opt-in) |
| Draft Order Shipping Address Changed | Webhook + change detection (protected data) | read_draft_orders |
Settings > Draft Order Triggers (protected data, opt-in) |
| Draft Order Billing Address Changed | Webhook + change detection (protected data) | read_draft_orders |
Settings > Draft Order Triggers (protected data, opt-in) |
Companies (B2B) (5)
B2B company and company-location changes, including tax-exemption edits that Shopify does not emit a webhook for.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Company Update | Shopify webhook | customer_read_companies |
On by default (Settings > Trigger Settings) |
| Company Location Update | Shopify webhook | customer_read_companies |
On by default (Settings > Trigger Settings) |
| Company Location Tax Exemptions Changed | Polling | customer_read_companies |
Settings > Polling Triggers (polling) |
| Company Contact Updated | Shopify webhook | customer_read_companies |
Settings > Customer Triggers (B2B) |
| Customer Removed from Company | Shopify webhook | customer_read_companies |
Settings > Customer Triggers (B2B) |
Discounts (6)
The complete discount lifecycle, including expiry, which Shopify does not report at all.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Discount Created | Shopify webhook | read_discounts |
On by default (Settings > Trigger Settings) |
| Discount Updated | Shopify webhook | read_discounts |
On by default (Settings > Trigger Settings) |
| Discount Deleted | Shopify webhook | read_discounts |
On by default (Settings > Trigger Settings) |
| Discount Expired | Polling | read_discounts |
Settings > Polling Triggers (polling) |
| Discount Code Added | Shopify webhook | read_discounts |
On by default (Settings > Trigger Settings) |
| Discount Code Removed | Shopify webhook | read_discounts |
On by default (Settings > Trigger Settings) |
Inventory (4)
Per-location stock triggers. Shopify's native inventory triggers are variant-aggregate with no location; these carry the location plus the old, new, and delta quantities.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Inventory Level Changed at Location | Webhook + change detection | read_inventory |
Settings > Inventory Triggers |
| Out of Stock at Location | Webhook + change detection | read_inventory |
Settings > Inventory Triggers |
| Back in Stock at Location | Webhook + change detection | read_inventory |
Settings > Inventory Triggers |
| Product Variant Cost Changed | Webhook + change detection | read_inventory |
Settings > Inventory Triggers |
Locations (5)
Location lifecycle events across warehouses, retail stores, and pickup points.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Location Created | Shopify webhook | read_locations |
On by default (Settings > Trigger Settings) |
| Location Updated | Shopify webhook | read_locations |
On by default (Settings > Trigger Settings) |
| Location Deleted | Shopify webhook | read_locations |
On by default (Settings > Trigger Settings) |
| Location Activated | Shopify webhook | read_locations |
On by default (Settings > Trigger Settings) |
| Location Deactivated | Shopify webhook | read_locations |
On by default (Settings > Trigger Settings) |
Markets (4)
Market lifecycle events for international and B2B selling.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Market Created | Shopify webhook | read_markets |
On by default (Settings > Trigger Settings) |
| Market Updated | Shopify webhook | read_markets |
On by default (Settings > Trigger Settings) |
| Market Deleted | Shopify webhook | read_markets |
On by default (Settings > Trigger Settings) |
| Market Status Changed | Webhook + change detection | read_markets |
Settings > Markets |
Content (blogs & pages) (3)
Storefront content changes. Shopify publishes no webhooks for content, so these are detected by polling.
| Trigger | Fires from | Permission | Turn it on |
|---|---|---|---|
| Blog Update | Polling | read_content |
Settings > Polling Triggers (polling) |
| Blog Post Update | Polling | read_content |
Settings > Polling Triggers (polling) |
| Page Update | Polling | read_content |
Settings > Polling Triggers (polling) |
Summary
| How it fires | Triggers |
|---|---|
| Webhook + change detection | 43 |
| Shopify webhook | 25 |
| Webhook + change detection (protected data) | 8 |
| Polling | 6 |
| Total | 82 |