What you need
- Shopify Flow (available on all Shopify plans)
- A Klaviyo account with the Klaviyo Shopify app installed
- Revize installed with Shopify Flow triggers enabled
How it works
Revize fires a Shopify Flow trigger whenever a customer edits their order. You connect that trigger to Klaviyo’s “Track an Event” action, which sends the order data to Klaviyo. From there, you build a Klaviyo Flow to send the email. Revize trigger → Shopify Flow → Klaviyo event → Klaviyo emailAvailable triggers
You can send Klaviyo emails for any of these Revize triggers:- Order edited — fires on any order edit, including product changes and discount code edits
- Shipping address updated
- Email address updated
- Phone number updated
- Delivery date updated
- Order cancelled
- Support ticket created
- Tax invoice generated
Part 1: Set up Shopify Flow
Step 1: Find your Klaviyo Public API Key
Log in to Klaviyo
Open Settings
Navigate to API Keys
Copy your Public API Key
Step 2: Create a Shopify Flow workflow
Open Shopify Flow
Select a Revize trigger
Add a Wait action
Add a Get Order Data action
- Set Select a query to Advanced
- In the Edit query field, enter:
id:{{order.legacyResourceId}} - Set Maximum number of orders to 1
- Set Sort data by to Updated at, Descending
Step 3: Add the Klaviyo “Track an Event” action
Search for Klaviyo
Fill in the fields
Event names by trigger
Use a descriptive event name so you can identify each trigger in Klaviyo:Step 4: Set Customer Properties
In the Customer Properties field, paste the following JSON:Step 5: Set Event Properties
In the Event Properties field, paste the JSON that matches your trigger. This uses freshly fetched order data from the Get Order Data step, so Klaviyo always gets the correct current data.- Order Edited
- Address / Email / Phone / Delivery Date
- Cancellation
{% for single_order in getOrderData %} loop reads from the freshly fetched order data, not the original trigger. This ensures correct data every time.Step 6: Turn on the workflow
Review all fields
Turn on the workflow
Done
Part 2: Set up the Klaviyo email
Step 7: Create a Klaviyo Flow
Create a new Flow
Set the trigger
Revize_Order_Edited).Add an email action
Design your template
Step 8: Email template variables
Use these variables in your Klaviyo email template:Displaying line items
To display each product in the edited order, use this loop in your Klaviyo email template:Example email
Here is an example of how your email subject and body might look:Prevent duplicate emails
If a customer makes multiple quick edits in one session, Klaviyo may send multiple emails. To prevent this:- Open your Klaviyo Flow
- Add a Flow Filter
- Set it to suppress if the customer received this email in the last 5 minutes
Troubleshooting
Flow shows 'Succeeded' but no event in Klaviyo
Flow shows 'Succeeded' but no event in Klaviyo
Event arrives but data is empty
Event arrives but data is empty
line_items uses [ ] brackets without surrounding quotes.Wrong variant showing in line items
Wrong variant showing in line items
getOrderData loop, not order.lineItems directly.Multiple emails being sent
Multiple emails being sent
Where to find the metric in Klaviyo
Where to find the metric in Klaviyo
Revize_Order_Edited). It is created automatically the first time an event is received.How to verify it worked
How to verify it worked
Want multiple triggers?
You can set up separate Shopify Flow workflows for each trigger. For example:- Workflow 1: Order edited →
Revize_Order_Edited→ “Your order has been updated” email - Workflow 2: Address updated →
Revize_Address_Updated→ “Your shipping address has been changed” email - Workflow 3: Order cancelled →
Revize_Order_Cancelled→ “Your order has been cancelled” email

