Create trigger Flow using order fulfilment status

  • 18 March 2021
  • 6 replies

Badge +2

I wish to make a post purchase followup flow with trigger conditions that integrate the orders fulfilment status.


I know the email template can access 

{{ event.extra.line_items.0.fulfillment_status }}


However I cannot workout if its possible to use this value in a trigger state (or an alternative equivalent).



Best answer by Jessie Sigler 22 March 2021, 17:07

View original

6 replies

Userlevel 2
Badge +6

Hi @Judioo! Are you using Shopify? If so, Klaviyo tracks a “Fulfilled Order” event when it syncs an order with a Fulfillment status of “fulfilled”. You can learn more in this Reviewing Your Shopify Data doc. 

You can use the “Fulfilled Order” event as a Trigger for a post purchase flow, and filter by different properties. 

For more information, check out this help doc: Creating a Product-Specific Flow. You can follow the instructions in the doc with Fulfilled Order as your flow trigger.

I hope this helps!



Badge +2

Hi Jessie,

I am using Shopify.


The resources you provided did help me understand the states and when they are created, thanks.

However, unfortunately, they did not provide a solution. I want to build a trigger that triggers only if an order is NOT fulfilled.


I want to send an update email to customers that have yet to have their order fulfilled after 1,4 & 8 days.


I do not know how to configure the trigger for thiscondition. It should be possible as I can access the same condition in the template  ( e.g. {{ event.extra.line_items.0.fulfillment_status }} )


I hope that explains what I seek better.


Userlevel 2
Badge +6

Hi @Judioo,

You should definitely be able to do this in the flow builder!

You could have the Flow Trigger be Placed Order, and then have a Flow Condition based on “What someone has done (or not done)” set to has Fulfilled Order zero times in a specific timespan (meaning, the customer placed an order but it has not yet been fulfilled). 

Select a Metric-triggered flow, and for the Flow Trigger, choose Placed Order as the action (yours will have a Shopify icon). 

You can set the properties of this trigger, and then go into Flow Filters and set Fulfilled Order to zero times over whatever timespan works best in your situation:

The start of your flow will look like this:

For more information on filling out the details of your flow, see our articles Getting Started with Flows and Guide to Flow Branching

I hope this helps!



Badge +2



I have used conditional splits in the same way.


It’s not exactly right as this method does not support multiple single orders OR multiple orders in a time period. It will have to do right now.


I can’t understand why you cannot give access to the customer's fulfilment array, then provide logic that can iterate over the orders checking each orders state.


iteration exists in the templates by not in the flows it seems



Userlevel 6
Badge +9


Just to chime with some additional thoughts – the solution that @Jessie Sigler shared would be the best interim solution, but another option could be to use the Ordered Product metric (given that each product is tracked separately) as the trigger, which would identify the single item ordered. The caveat to that though, is that it could trigger multiple emails for one order with multiple products. From a customer experience standpoint, that might be a bit overwhelming. 

Unfortunately, at this current time, we don't have the ability to use Django syntax as part of a trigger filter or conditional split. We aren’t able to match the order ID on the Placed Order or Ordered Product Event to the order ID on Fulfilled Order events, because we can't reference dynamic variables within flow logic.


Badge +2

Hi Cassy,

Brilliant insight. 


Thank you very much. I completely understand