Skip to main content

Overview

Conditions are optional filters on a trigger that narrow down which events generate a notification. Without conditions, a trigger fires for every event of its type. With conditions, you can restrict it to specific cases — e.g., only orders over $200, or only products from a specific vendor.

How Conditions Work

Each condition has three parts: Multiple conditions can be added to a single trigger. When you have more than one condition, you choose how they combine: If no conditions are set, the trigger fires for all events of its type (subject to change detection for update events).

Operators

String fields: Numeric fields:

Condition Fields by Entity

Product

Available for: Product created, Product updated, Product deleted

Order

Available for: Order created, Order updated, Order paid, Order fulfilled, Refund created

Customer

Available for: Customer created, Customer updated, Customer deleted

Returns

Available for: all Return trigger types (requested, approved, declined, processing, closed, cancelled, reopened, updated)

Cart Abandoned

Available for: Cart abandoned

Condition Evaluation

Conditions are evaluated when a webhook is processed:
  1. The worker loads the current entity data (enriched via Shopify GraphQL where needed — e.g., collections and inventory totals for products).
  2. For each active trigger of the matching type, the evaluator checks every condition row.
  3. Each condition’s field value is looked up and compared using the specified operator.
  4. Results are combined using the condition mode (all = AND, any = OR).
  5. If the result is true, the notification is dispatched.
For Product updated and Order updated triggers, a notification is only sent when actual changes are detected compared to the previous snapshot. This prevents duplicate alerts from Shopify’s occasional webhook re-deliveries.