Add a Time Delay to a Flow

Last updated at:


The Time Delay component in the flow builder is used to create delays—or wait periods—between messages or other components in your flow series.

If components are back-to-back, without any time delays, they will all occur simultaneously. For this reason, you will likely always want to ensure you have a Time Delay component between consecutive emails or SMS.

Add a Time Delay

To add a new time delay into a flow, drag the Time Delay component from the sidebar and drop it where you would like to create this waiting period. After you drop the time delay into your flow, you will be able to configure the details in the left-hand sidebar.


Configuration options for a time delay include:

  • Wait __ Minutes
  • Wait __ Hours
  • Wait __ Days
  • Wait __ Days and delay until a specific time of day

When you choose to create a waiting period of X days, each day will be calculated as a 24-hour period. If you choose to wait X days but specify a certain time of day, however, each day will be calculated as a calendar day to avoid prolonged wait periods depending on when a recipient enters your flow. To explain this further, consider the following scenario.

Let's say you want to have a time delay set to "Wait 1 Day, until 3PM" and then send an email:

  • Person A enters your series at 2 PM. Waiting 1 day (24 hours) would land your recipient at 2PM the next day and the email would send 1 hour later at 3 PM. The total amount of time between when they trigger the flow and when they receive the first email is 25 hours.
  • Person B enters your series at 4 PM. Waiting 1 day (24 hours) would land your recipient at 4PM the next day. In order to send at your specified time of 3 PM, we'd need to wait another 23 hours. This means Person B would receive your email almost a full day later than Person A. What happens instead is that Person B will receive the email at 3 PM the following day, 23 hours after they triggered the flow. 

To avoid the above problem, we'll only wait X "calendar days" instead of X "24-hour days" when your time delay includes a specific time of day. With this behavior, using the above example, Person A and Person B will both get the email at the same time. 

Delay Until a Specific Time

You may want to control what time of day recipients receive a specific flow email or SMS in your series. This can be useful when you want to normalize the time of day people receive your messages, for instance, if you know your audience typically opens emails at a certain time.

Within the settings for a Time Delay component, you can choose, "Delay until a specific time of day." If you have an SMS following this time delay, this will establish the send time for that SMS.

After choosing a time of day, you can then select a timezone. You can choose Recipient's Local Timezone in order to ensure each recipient receives your message at your preferred time, regardless of where they are located.

One benefit to choosing the "Wait __ Days" option, without selecting a set time, is that each recipient will then receive the SMS or email at the same time they took the flow's trigger action—the time someone took the trigger action is one data point that tells you the recipient was online engaging with your business at that time, and thus it might be a time they're typically active online. 

Delay Until a Specific Day of the Week

If you only want a flow email or SMS to send on specific days of the week, you can add a Time Delay component before it in your series and use the "Delay until a specific day(s) of the week" option.

Selected days (in blue) are the days of the week when the message does send. Unselected days (in gray) are the days of the week when the message does not send.

For example, let's say John enters your flow on a Tuesday:

  • You have a delay after the trigger to "Wait 2 Days," but delay until a Monday, Wednesday, or Friday.
  • John enters the flow on a Tuesday, we wait two days, and now it's Thursday. Because you only want emails to send on Monday, Wednesday, or Friday, however, we'll delay one more day until it's Friday.

When you delay until a specific day of the week, note that you will no longer see the expected number of days in any subsequent components (e.g., emails or SMS messages). For instance, if you have a Time Delay component that's set to wait 10 days and delay until Monday or Friday, it's not possible to determine when exactly a recipient will receive the following message; each person that is added to the flow is going to have a different number of days before they are sent the next message.

Timeline from the Flow Trigger

As you build out your flow, you will want to keep two different timing considerations top-of-mind:

  1. The time between components (as represented by time delays) 
  2. Timeline of each component from the trigger

Each flow represents a targeted customer experience. In order to build a series with timely touchpoints, it is important to think about the timing of each action in your flow relative to the activity or behavior that set the flow in motion.

For example, in a winback flow, you may have the first email send after 35 days. The second email may wait another 25 days, which brings the total number of days elapsed since the last purchase (the flow's trigger) to 60. 

To help you keep track of how far your flow is stretching from the trigger, you will notice "hints" on the Time Delay sidebar as well as below each action card on the canvas. Below, you will see the same winback example—notice the hint in the sidebar that appears as the time delay is configured, as well as the "Day 60" hint below Email #2.

There are certain situations when we can't determine a message's exact timing from the trigger. These situations arise specifically when you mix the following two Time Delay components in the same flow:

  • Wait __ Days
  • Wait __ Days and delay until a specific time of day

As explained above, when you specify "Wait X Days" and then provide a specific time, each day will be calculated as a calendar day and not a fixed 24-hour day. This means the exact delay period (in terms of hours) is not predetermined. This will vary depending on when someone enters the flow.

If you mix the two above triggers, you're combining one delay period that always has a fixed number of hours (Wait __ Days) with a delay period that has a variable number of hours (Wait __ Days and delay until a specific time of day) and we can no longer accurately calculate how many days a given message will send relative to the trigger.

Time Delays and Conditional Splits

A conditional split in a flow allows you to create two parallel paths for recipients based on a definition you establish. A conditional split can be defined based on any recipient properties or activity. After you drag in and set the condition(s) for your split, it functions as a decision point—when recipients reach this split they are evaluated as "yes" or "no" and are sent down the appropriate path.

If you add a time delay right before a conditional split, recipients will wait at the split until it's time for them to be evaluated. The time delay you set before a split is important, because a split is a point-in-time evaluation.

For example, let's say your conditional split is has Placed Order zero times over all time. If this is true for someone (a non-purchaser), they will go down the YES path. For those where this is false (existing customers), they will go down the NO path. It's possible, at any point, that someone in this flow may purchase from you and become a customer, so the timing of when this split is evaluated in your series is important.

If you intend to place messages on both the YES and NO paths of a conditional split, we recommend setting these emails or SMS to send immediately after the split itself by not adding time delays directly after it. This way, right after your split is evaluated, recipients will receive a relevant message. If you put an additional time delay after a split, before a message, it's possible that, after this additional wait period, the recipient will no longer qualify for that path.

In the below example of an abandoned cart flow, the goal is to send shoppers an email four hours after they initiated a checkout if they didn't end up completing the order. Here, we want to create two parallel paths based on whether or not this cart-abandoner has ever purchased before in the past. To achieve this, we add a Time Delay component to wait four hours after the trigger but, before we send a first abandoned cart reminder email, we added a conditional split to evaluate whether or not someone moving through this flow has bought before. After four hours, someone will either get email #1a or #1b depending on whether or not they bought at least once in the past.

Additional Resources

Read more about flow branching

Find out How Contacts Move Through a Flow.

Learn about Smart Sending for Flows


Was this article helpful?
25 out of 44 found this helpful