Shopify events

Shopify reports what happens in your store as events: an order was created, a product was updated, a refund was issued. Workflow Suite offers every event Shopify lets an app subscribe to, more than 200 of them, as a trigger.

The categories

Category Examples
Products Product created, Product updated, Product deleted, Product published to a sales channel
Collections Collection created, Collection updated, Collection deleted
Inventory Inventory quantity changed, Inventory item updated, Location created
Inventory transfers Inventory shipment created, Inventory shipment items received, Inventory transfer completed
Orders Order created, Order paid, Order fulfilled, Order cancelled, Order edited, Order risk assessed
Payments Order transaction created, Payment dispute created, Payment terms created, Refund created
Draft orders Draft order created, Draft order updated, Draft order deleted
Carts and checkouts Cart created, Checkout started, Checkout updated
Fulfillment Fulfillment created, Shipment tracking event created, Fulfillment order placed on hold
Returns Return requested, Return approved, Return closed
Customers Customer created, Customer tags added, Customer joined a segment, Email marketing consent changed, Customer purchasing summary changed
Companies Company created, Company location created, Company contact created
Discounts Discount created, Discount updated, Discount code added
Subscriptions Subscription billing attempt failed, Subscription billing attempt succeeded
Custom data Metafield definition created, updated, deleted
Sales channels Product feed created, Collection listing added
Markets Market created, Market updated, Store language created
Shipping and taxes Delivery profile updated, Tax service created
Store Theme published, Domain created, Bulk operation finished

The trigger picker is the full, current list. Search it by what happened, for example refund or tracking.

What the event looks like

The event is what Shopify sends for that topic. Your steps read it under event.payload:

Order {{ event.payload.name }} for {{ event.payload.total_price }} {{ event.payload.currency }}

A few things that help in daily use:

  • event.payload.admin_graphql_api_id is the resource's id in the form Shopify actions expect. Ready-made actions accept this id or the plain number.
  • Lists such as event.payload.line_items can be repeated over with Repeat for each.
  • The variable picker next to every field lists the fields of the trigger's sample event, so you rarely type a path by hand.
  • If you need data the event does not carry, for example a product's title on an inventory event, add a Shopify query step first. See Every Shopify mutation and query.

Turning the workflow on

When you turn a workflow on, the app subscribes your store to the event. When no workflow uses an event any more, the subscription is removed. You do not manage subscriptions yourself.

A subscription only works for store data you granted on the Permissions page. If the permission is missing, the editor tells you before you turn the workflow on.

Updated events fire often

Product updated or Order updated start for every change, including changes your own workflow makes. Two things keep that under control:

  • Prefer a change trigger when you care about one field. Product variant price changed starts only when a price changed, and tells you the old and the new price. See Change triggers with before and after values.
  • Loop protection recognises the echo of a workflow's own change. See Loop protection.

Shopify may deliver the same event more than once. The app recognises repeated deliveries and starts one run.