How workflows work

Workflows automate how and when customers receive notifications — for example, when a product is back in stock. Instead of sending messages manually, you can create a visual flow of actions that automatically execute when specific events occur

Each workflow is a visual sequence of Triggers → Conditions → Actions that runs automatically when a restock event happens.

Elements
Requirement
Description

Triggers

Required, exactly

Define when a workflow starts by responding to a specific event or customer action.

Conditions

Optional, multiple

Define the logical rules that determine how a workflow branches or proceeds.

Actions

Optional, multiple

Define what the workflow does as an outcome.

Workflow system

The Workflow System enables automated, event-driven sequences where Triggers, Conditions, and Actions work together to execute dynamic customer notifications.

Triggers

Triggers are events that start a workflow execution. Each workflow must have exactly one trigger.

Trigger
Event type
When it fires
Primary use case
Data available

Customer signed up

customer.signed_up

Customer submits "Notify Me" form

Confirmation emails, signup incentives

Email, product/variant ID, timestamp, source, consent

Product restocked

product.restocked

Inventory changes from 0 to > 0

Send restock notifications to waitlist

Product/variant ID, inventory level, subscriber list, campaign ID

Conditions

Conditions control workflow logic by creating branches based on criteria. Workflows can have multiple conditions that determine which path to follow.

Condition
Evaluates
Available options
Configuration
Use cases

An event occurred

(Event-based)

Has a specific event happened?

- Email opened

- Email clicked

- Customer unsubscribed

- Customer purchased

Event type, time email selection (optional)

Engagement-based routing, purchase verification

Customer

(Data comparison)

Does customer data match criteria?

8 customer fields with flexible operators

Field selector, operator, compare value, AND/OR logic

Customer segmentation, VIP identification, targeting

An event occurred

Description: Check if specific customer engagement events have happened

Available events
Condition
Evaluates to
Use case

Email Opened

email.opened

True if customer opened any email in this workflow

Send follow-up only if customer engaged

Email Clicked

email.clicked

True if customer clicked any link in the email

High-intent customers get priority offers

Customer Unsubscribed

customer.unsubscribed

True if customer opted out of notifications

Stop all further communications

Customer Purchased

customer.purchased

True if customer bought the product (within attribution window)

Stop follow-ups after conversion

Customer
  • Description: Filter based on customer profile data and behavior patterns

  • Condition Type: Flexible customer data comparison with configurable operators

Available customer data fields

Field
Data Type
Description

Order Count

Number

Total number of orders placed

Total Spent

Number

Lifetime customer spending

Signed Up Date

Date

When customer signed up for notification

Last Order Date

Date

Date of most recent order

Customer Tags

Text/Array

Tags assigned to customer

Accepts Marketing

Boolean

Email marketing opt-in status

Available operators

Data Type
Operators
Example

Number

Equals, Not equals, Greater than, Less than, Greater than or equal, Less than or equal

Order Count > 5

Currency

Equals, Not equals, Greater than, Less than, Greater than or equal, Less than or equal

Total Spent >= $500

Date

Is, Is not, Is before, Is after, Is between, Days ago (relative), Days from now (relative)

Signed Up Date > 30 days ago

Text

Equals, Not equals, Contains, Does not contain, Starts with, Ends with

Customer Tags contains "VIP"

Boolean

Is true, Is false

Accepts Marketing is true

Date comparison operators

Operator
Type
How It Works
Example
Matching Logic

Is

Absolute

Exact date match (ignoring time)

Signed Up Date IS November 11, 2025

✅ Nov 11, 2025 (any time)

❌ Nov 10 or Nov 12, 2025

Is not

Absolute

Does NOT match specific date

Last Order Date IS NOT November 11, 2025

✅ Any date except Nov 11

❌ Nov 11, 2025

Is before

Absolute

Earlier than specified date

Signed Up Date IS BEFORE November 1, 2025

✅ Oct 31, 2025 or earlier

❌ Nov 1, 2025 or later

Is after

Absolute

Later than specified date

Last Order Date IS AFTER October 1, 2025

✅ Oct 2, 2025 or later

❌ Oct 1, 2025 or earlier

Is between

Absolute

Within date range (inclusive)

Signed Up Date IS BETWEEN Oct 1, 2025 AND Oct 31, 2025

✅ Oct 1 through Oct 31

❌ Before Oct 1 or after Oct 31

Days ago

Relative

Past date calculated dynamically

Signed Up Date > 30 days ago

(Running On Nov 11)

✅ Oct 11, 2025 or earlier

❌ Oct 13, 2025 or later

Days from now

Relative

Future date calculated dynamically

Signed Up Date < 7 days from now

(Running On Nov 11)

✅ Nov 18, 2025 or earlier

❌ Nov 19, 2025 or later

Actions

Actions are tasks that are executed when triggered or after specific conditions are met. Multiple actions can be chained together in sequence.

Action
Category
Purpose
Key Features

Send Follow-up Email

Communication

Send additional email to customer

Template selection, delay, conditional send, Liquid variables

Send Internal Email

Team Communication

Notify store team about events

Multiple recipients, trigger conditions, performance data

Create Draft Order

Sales Facilitation

Pre-filled order with checkout link

Auto-populate product, apply discount, one-click checkout

Create Discount Code

Incentive

Generate discount code for customer

Unique/shared codes, flexible types, expiry dates, usage limits

Add Customer Tags

Segmentation

Tag customer profile for targeting

Multiple tags, static/dynamic, future campaign use

Send SMS

Communication

Text message notification

160 chars, opt-in compliance, link shortening

Send Push Notification

Communication

Browser/app push alert

Action buttons, deep linking, real-time

Send Follow-up Email

Description: Send an additional email to the customer after the initial notification

Configuration Options:

  • Email Template: Select from template library or create new

  • Send Delay: Immediate or scheduled delay (hours/days)

  • Conditional Send: Only if customer hasn't purchased

  • Subject Line: Customizable with variables

  • Content: Rich text editor with Liquid variables

Available Variables:

  • {{ customer.first_name }}

  • {{ customer.email }}

  • {{ product.title }}

  • {{ product.url }}

  • {{ product.image }}

  • {{ variant.title }}

  • {{ discount_code }} (if generated in workflow)

Use Cases:

  • Reminder email 24-48 hours after initial notification

  • Urgency email ("Low stock remaining!")

  • Last chance email before attribution window closes

  • Re-engagement for non-openers

Send Internal Email

Description: Notify store team/admin about workflow events or high-demand products

Configuration Options:

  • Recipient Email(s): Comma-separated list or role-based (store owner, inventory manager)

  • Email Template: Internal notification format

  • Trigger Condition: When to send (e.g., 100+ subscribers, low stock)

  • Content: Summary data about the event

Available Data in Email:

  • Product/variant information

  • Number of subscribers waiting

  • Current inventory level

  • Campaign performance metrics

  • Subscriber list (optional, with privacy controls)

Use Cases:

  • Alert inventory team when 100+ customers waiting

  • Notify manager of high-demand products

  • Daily digest of restock activity

  • Low inventory warnings with waitlist data

Business Value:

  • Data-driven inventory planning

  • Demand forecasting

  • Proactive restocking decisions

Create Draft Order

Description: Generate a pre-filled Shopify draft order with checkout link for easy purchase

Configuration Options:

  • Product/Variant: Auto-populate from subscription

  • Quantity: Default 1, customizable

  • Applied Discount: Optional discount code or percentage

  • Line Item Properties: Custom data (e.g., "From Waitlist")

  • Note: Internal note on draft order

  • Checkout Link: Generate and include in email

Use Cases:

  • One-click purchase for VIP customers

  • Pre-applied discount for waitlist subscribers

  • Reduced friction checkout experience

  • Priority access to limited inventory

Customer Experience:

  • Click link → Pre-filled cart → One-click checkout

  • Discount automatically applied

  • Faster conversion

Business Value:

  • Higher conversion rates (reduce steps to purchase)

  • Track waitlist revenue separately

  • VIP customer experience

Create Discount Code

Description: Generate a unique or shared discount code for the customer

Configuration Options:

  • Discount Type:

    • Percentage off (e.g., 10%)

    • Fixed amount off (e.g., $5)

    • Free shipping

  • Discount Value: Amount or percentage

  • Code Type:

    • Unique per customer (one-time use)

    • Shared code (multiple uses)

  • Usage Limits:

    • Uses per customer: 1 (default)

    • Total uses: Unlimited or limited

  • Minimum Requirements:

    • Minimum purchase amount (e.g., $50)

    • Minimum quantity (e.g., 2 items)

  • Eligible Products:

    • Specific product (the restocked item)

    • Collection

    • Entire store

  • Expiry Date:

    • Days from creation (e.g., 7 days)

    • Specific date

Use Cases:

  • Incentivize immediate purchase ("10% off if you buy today")

  • VIP exclusive discounts

  • Loyalty reward for patient waitlist customers

  • Limited-time urgency ("Code expires in 48 hours")

Integration with Email:

  • Discount code automatically inserted into email template

  • Variable: {{ discount_code }}

  • Clearly displayed with expiry date

Business Value:

  • Increase conversion rates

  • Create urgency (time-limited offers)

  • Measure discount effectiveness per campaign

Add Customer Tags

Description: Add tags to customer profile in Shopify for segmentation and future marketing

Configuration Options:

  • Tag List: Comma-separated list

Use Cases:

  • Segmentation: "High-Intent-Customers", "VIP-Waitlist"

  • Product interest tracking: "Interested-Blue-Tshirt"

  • Engagement level: "Email-Engaged", "Never-Opened"

  • Lifecycle stage: "Waitlist-Converted", "Waitlist-Non-Converter"

  • Future targeting: Use tags in future campaigns

Business Value:

  • Build targeted customer segments

  • Personalize future marketing

  • Track customer interests

  • Measure campaign effectiveness

  • CRM integration (sync tags to external systems)

Create a workflowManage workflowsCampaigns

Last updated