Delay

Delay Help & Support

What Delay Triggers and Actions are Supported?

Supported Triggers#

  • None yet!

Supported Actions#

  • Delay Until - Waits to run your Actions until a date or time that you choose.
  • Delay For - Waits for a set amount of time before completing your Actions.
  • Delay After Queue - Waits for a set amount of time after the last delay in a given queue. Used to deal with race conditions and rate-limiting. Learn More
Was this content helpful?

How to Get Started with Delay by Zapier

To get started with Delay, first, search for and select the Delay app:

selecting delay

Then, select the trigger that best fits your workflow:

delay options

Delay Until#

The "Delay Until" allows you to delay performing the next action until a particular date/time. You can set this up in one of two ways.

  1. You can type in a static date and time to tell your Zap exactly when to send along your trigger data to the action.

delay for static

  1. You can use a date field from your trigger app to tell the Zap when to delay the action until. Datetime modifiers will work in this field as well.

trigger fields to modify

Note that the maximum we can hold a task is for 1 month. If the date passed into the Delay Until field is greater than 1 month from when the zap triggered, it will error out.

Delay For#

If you're looking to delay sending data from your trigger to your action using a defined timeframe, you can do that using the "Delay For" trigger. Simply select the value and unit of time from the drop-down to set this up.

delay for details

Once you've filled out those fields, you can continue to setup the action and then test it out to make sure everything is working as you expected. If all looks good, we'll let you know and turn on your Zap.

Zap on

Note that the maximum we can hold a task is for 1 month, so you won't be able to set the Delay For trigger for longer than 4 weeks.

Delay After Queue#

This is an advanced version of Delay For. Instead of resuming after a set amount of time from now, it will lookup when the last delay for this step or a given shared queue will resume, and use that instead if found.

This action is used mostly to prevent Race Conditions and Rate Limiting, but can be used in any scenario where a Zap or multiple Zaps may trigger many tasks in parallel and you want to force them to run in series.

Check existing tasks in your Task History to get an idea how long Zaps take to complete and use that as Time Delayed For. Note that the maximum we can hold a task is for one month (31 days). Since the delays queue up, the maximum number of tasks in the queue depend on the Time Delayed For. If you set it to one day, then the maximum tasks in the queue is 31, which means that the 32nd task created within that period will error on the Delay step because the scheduled resume is too far away.

Be aware that the action is not a lock that can guarantee that the steps following it will never run simultaneously. Slowdowns in our infrastructure and auto or manual replays after errors may cause steps to still run at the same time.

Race Conditions#

Take a Zap that first tries to find a contact and then creates it when nothing is found. When two tasks related to the same contact run simultaneously, they could both complete the search before any of them has finished creating the contact. As a result, they'll both try to create the contact. In the best case the last task to attempt to create will error, but you could also end up with duplicate contacts.

Rate Limiting#

Take a Zap that triggers on each attendee after a webinar ends and adds them to a mailing list. Because hundreds of task all try to run the same action, many error because the requests exceed what mailing list app can or will process. Because all erred tasks will autoreplay at the same time, it may take a long time for all tasks to complete successfully and some may not before they reach the maximum number of autoreplays.

Was this content helpful?

Common Problems with Delay

Scheduling your Zap to Start#

Right now, you will not be able to delay when a Zap runs (ex: I want my Zap to look for new data once a day). We can send data from the trigger to the action every day, but not actually wait to check for new data in the trigger app. If you're needing to do this with one or several Zaps on your account, contact our Support team and they will be able to help you out.

If you're looking to take an action at a particular time each day, week, or month, our Schedule app can help with that.

How do I stop a task that's delayed?#

Delayed tasks will not continue if the Zap is turned off before the delay expires. Delay always respects the current Zap configuration. If a delay is skipped because the Zap is paused, it will not be re-triggered when the Zap is turned back on.

Example: If I delay an Action for two hours, turn the Zap off one hour later, and leave it off for 24 hours, the Actions after the delay will not run. However, if I delay an Action for two hours, turn the Zap off one hour later, and turn the Zap back on 10 minutes later, the Action will still be completed.

You can also prevent Delayed tasks from firing should you delete that entry from the https://zapier.com/app/history page. Tasks deleted in this way will not play the actions attached to the pending delay.

I want to delay until the next business day#

To set this up, you'll need three steps:

  1. First you'll need a Formatter Date/Time action to figure out what day of the week it is. Set it up to look like this:

In the Input field, paste in {{zap_meta_human_now}}, which will capture the timestamp. Adding "ddd" in the "Custom Value for To Format" will take the current timestamp and turn it into a "Sat" for Saturday.

  1. Next, use the Formatter Utilities action and the Lookup Table transform. Set it up to look like this:

.

This will take the output of the previous step and output a number of days to wait. So, for example, for Monday - Thursday, we only want to delay by one day. If it triggers on a Friday, we want to delay for 3 days (until Monday). And so on.

  1. Then follow it up with a Delay For action that uses the output of the Formatter table to delay:

My delay is releasing immediately#

When you delay until a time without a day specification, and the Zap triggers past that time, it will trigger instantly because that time has passed.

So, for example, if your delay is set up like this:

And the zap triggers at 5:00AM, the zap will trigger immediately. There are multiple ways to get around this, but they all involve multiple steps and/or multiple Zaps. The most straightforward is to have two similar Zaps that use a filter to check the current time None.

  • Zap 1: continue if the time is before 4:50 and use delay until 04:50
  • Zap 2: continue if the time is after 04:50 and use delay until 04:50 tomorrow

You can read more about using dates in a filter steps here..

What happens if the Zap triggers after the time I've delayed until?#

If you've set a Delay step to delay until a fixed date or date/time and the Zap triggers after that fixed date, it will continue to run as if there isn't a Delay step present. For example, if your Delay step is configured to delay until noon, and the Zap is triggered at 3PM, the Delay step will not delay the Zap at all, since the time it would delay to has already passed (noon of that day). Also note that the delay until date/time cannot be more than a day in the past, or the Delay step will raise an error.

Delaying a Zap to Run Actions at a Certain Time of the Day#

Scenerio:

"I want to execute an action at 10 a.m. every day. If it is before 10 a.m., I want the action to be ran today. If it is after 10 a.m., I want the action to be ran tomorrow. How can I do that?"

You can do this using two Formatter by Zapier steps and a Delay by Zapier step.

Here is how to set it up --

First Formatter step:

When you have chosen Formatter by Zapier, select "Date/Time." For "Transform," select Format. For "Input," enter . Set up "To Format" like this:

Select your time zone for "To Timezone." Set up "From Format" like this, using your time zone:

Second Formatter step:

When you have chosen Formatter by Zapier, select "Numbers." For "Transform," select Spreadsheet-Style Formula. Set up the following formula:

Delay step:

After selecting Delay by Zapier, select "Delay Until." Choose the output of step 3. The output will either be "today at 10a.m." or "tomorrow at 10a.m."

That should do it for you!

I Need to Delay a Step Longer Than 1 Month#

You can use Google Calendar's Event Start Trigger to create a long delay.

Was this content helpful?

Need More Help? - Our support team is happy to help -- send us a message

What is Delay by Zapier?

Built-In

Put your Actions on hold for a specified amount of time before sending data to another app. You can set up scheduled emails, get notified of incomplete tasks, send automatic follow-ups, and automate other tasks on your timeline.

Getting Started with Zapier

Need more help? Try the Zapier Help Center

Connect Delay to 1,500+ Apps

Connect the apps you use everyday and find your productivity super-powers.

By signing up, you agree to Zapier’s Terms of Service.