Sending email as a trigger for a flow

  • 31 March 2024
  • 9 replies

Userlevel 1
Badge +1

I want to set up a new flow that has a series of conditional actions, which seems straightforward.

But I want the TRIGGER to be sending an email to a segment. Then, depending on what actions the user initiates (or doesn’t initiate). the flow will guide. 


I just haven’t noticed how to set the sending of an EDM as the trigger. And it doesn’t look like you can add a Flow to a Campaign. 


I’m sure it is obvious, I just haven’t seen it. 




Best answer by ebusiness pros 2 April 2024, 02:29

View original

9 replies

Userlevel 4
Badge +11

Brian, you're right that Klaviyo doesn't directly allow using an email send as a trigger for a flow. However, there's a clever workaround to achieve a similar outcome:

  1. Create a segment for your target audience.
  2. In your segment, add a trigger to add anyone who opens/clicks the email to the new list.
  3. Schedule an email campaign to that segment.
  4. Set your flow trigger to be when someone is added to a new list.

This way, the email acts as a trigger, and the flow starts based on their interaction with the email.

Userlevel 6
Badge +25

Hi @Brian at Hey Lemonade! Welcome to the community. 


@Sujal gave you some helpful feedback to get started, and I’ll clarify a few important pieces here that will help you get the best functionality out of Klaviyo. 


On a foundational level, it helps to think about Klaviyo as your customer/subscriber database. This functions best when you have a single Master list, then create segments to group people by different profile properties, actions they’ve taken, etc.


So to clarify what Sujal started - I do NOT recommend you have any action add someone to a new list. Instead, have people get added to segments. 


Why does this distinction matter?

In Klaviyo, lists are static, and segments are dynamic. Once someone is added to a list, they are not automatically removed at any point.

IF someone is added to a segment instead, they will stay in that segment as long as they meet the definition of the segment THEN they will be removed from the segment automatically. 


You might want to use something called custom profile properties to help you add data points to people’s profiles that can be automatically updated as one step of a flow. You can use custom properties as part of a segment definition, so that could be part of how you build the different segments you need to accomplish what you’re looking for. 


So for example, this is what your flow (or system of flows) might look like:

Initial Action (Your described “trigger”): Segment A receives a specific campaign email

IF recipient clicks the campaign email OR receives the campaign email AND places an order THEN recipient joins Segment B. (This ^ could be the definition of Segment B)


Flow Trigger: When profile (recipient) joins Segment B

This flow can then follow up with people who’ve taken a qualifying action after receiving the campaign email you sent to Segment A.

Here’s a quick screenshot to show you how you can set up an Profile Property Update step in a flow.


For example, let’s say you want to track people who have interest in a specific category of products. This property might be indoor_interest for a home decor brand. Then the values of the property could be yes or no and that would be updated to yes for the people who join Segment B and enter this flow. Here’s a Klaviyo help doc to get you started with custom profile properties. 


You might also use a conditional split to decide what happens after Email 1 is sent, depending on actions taken, or properties about a profile. Then other emails could be sent, and so on…


However, there may be a simpler solution to what you’re trying to accomplish. If you’re willing to describe more specifically what you’re trying to do, I’m happy to help you further! You could send screenshots here as well if it’s helpful to you. 





Userlevel 1
Badge +1

Thanks Gabrielle! I think that makes sense, but I’ll have to play around a bit to be sure. 🙂🙂


Appreciate your insights. 



Userlevel 1
Badge +1

OK, I have a follow-up. If I send an EDM to a segment (that part makes sense) how do I set-up for a custom property to toggle based on IF recipient clicks the campaign email OR receives the campaign email? 


In your example, how do I toggle Indoor_Interest from No to Yes, based on their interaction with the email. 

(The support doc seems to indicate that I can change the state manually, via a form, or import via CSV, none of which fit the automated approach I want to take via receiving the campaign email.) 

If I can sort that out, I think the rest makes sense! 



Userlevel 1
Badge +1

@ebusiness pros I wonder if you can help with my follow up above? 


If I send an EDM to a segment (that part makes sense) how do I set-up the campaign for a custom property to toggle based on IF recipient clicks the campaign email OR receives the campaign email? 

Userlevel 6
Badge +25

I’m glad you found my feedback helpful @Brian at Hey Lemonade!


Yes, the support doc does focus on manual updates to a custom property. For automating updates to a custom property, there are two paths. 


  1. Create a link that will add a specific property to someone’s profile when it’s clicked. Here’s a help doc that can walk you through setting that up.
    1b. I’ve used this several times for clients, and it’s helpful for when you have a quick, simple question that could be asked in scenarios like a Welcome Series. 
  2. Use a Profile Property Update step in a flow to automatically add or update values for a custom property on someone’s profile.
    2b. I also use this for my clients, when I don’t want to be dependent on the precise link being clicked in order to collect data about people in Klaviyo.


In your case, the path I recommend you do now is #2. You could create a “data automation” type of flow that’s focused on updating the custom profile property. OR you can create this as one step in a flow that follows up to your campaign email, like the scenario I described where you have a flow triggered by someone joining Segment B. 


So returning to your latest question:

How do I set-up for a custom property to toggle based on IF recipient clicks the campaign email OR receives the campaign email? 


You’ll create a flow, triggered by someone joining a segment.

Trigger segment definition: IF someone has Received Email at least once over all time where Campaign Name equals [name of the specific campaign email you’re referencing]

OR IF someone has Clicked Email at least once over all time where Campaign Name equals [name of the specific campaign email you’re referencing]


After that flow trigger is configured, you’ll configure the Profile Property Update block. Let’s revisit my screenshot from earlier. 


This is what the flow logic will look like, and you may or may not decide to send an email after the profile property is updated. Likely, you’ll want a time delay before the email is sent.


Next step: Configure the Profile Property Update block

If you haven’t already created your intended profile property in Klaviyo, then you’ll select “create new property” as shown in this screenshot. 


My recommended path is to FIRST create this custom property on a test profile, so you can select “update existing property” instead. Both paths will accomplish the same thing, so do what feels easiest to you!

See my example property here.


High level tips:

I recommend you create your trigger segment based on an action someone’s actually taken, so you know they’re already engaged with your marketing. So I’d create this trigger segment based on IF someone has Clicked Email.


For my clients, the Received Email event has an insufficient level of action taken by the recipient to warrant a profile property being updated. 


When setting the custom profile property values with in a flow: focus on the primary value you want to know. So for example, if the property is optin_ROI_spreadsheet like my screenshot, the yes value is much more important to have awareness of than the no value.


That means the trigger segment will prioritize people who meet the conditions to have the yes value added to their profile. Make sense?





Userlevel 1
Badge +1

Thanks Gabrielle @ebusiness pros that makes sense! i will look at it in more detail, now that I know what to look at/for. 

I also realised (inspired by you) that I *could* create an EDM campaign from the very first email by creating a segment with nothing in it (e.g. Segment_FreemiumEDM), creating a flow that sends an email when someone is added to that segment with the trigger of Is Added To Segment_FreemiumEDM (along with all of my follow-up flow actions), and then (manually) adding attributes to the segment definition and generating (‘updating’) the segment, so that everyone who is added gets the initial email. 

I appreciate your insights and your inspiration. Definitely a newbie to Klaviyo and it it not *always* logical in the way that I want it to be. 




Userlevel 6
Badge +25

You’re welcome, Brian! Sounds like your flow system is coming together nicely.


Sometimes it helps to sketch this out on paper so you can visualize how all the pieces will work together, especially if you’re creating multiple flows. 


You’ve got this! Just take it slowly, one step at a time. It may seem overwhelming at first, but as you practice it’ll get easier and easier. 


Conditional splits in a flow also give you an opportunity to do things like set a yes OR no value on their profile for a custom property based something they have or have not done (that’s how you’d configure the conditional split). 


So you don’t have to limit your flow triggers to people who qualify for a yes value, but it does simplify the logic of your flow overall. I encourage you to start with simpler logic for trigger segments and flows, and you can always add more complexity later!


You’re always welcome to DM me here if you have more questions @Brian at Hey Lemonade 





Userlevel 1
Badge +1

Thanks again @ebusiness pros ! 


I’m excited about “Conditional splits in a flow also give you an opportunity to do things like set a yes OR no value on their profile for a custom property based something they have or have not done (that’s how you’d configure the conditional split).” this bit. Already, mapping out some (overly complicated!) flows, but will start slow.