Help

Save the date! Join us on October 16 for our Product Ops launch event. Register here.

Re: How to add a delay as an action in Airtable automation

7633 3
cancel
Showing results for 
Search instead for 
Did you mean: 
Fahad_Sheji
6 - Interface Innovator
6 - Interface Innovator

Hey, I want to create an automation where when a new record is created, I want to wait for 90 mins and then proceed to the next step.

Is there a way of doing this with script or something else?

11 Replies 11

There is not a good way having a delay of exactly 90 minutes using only Airtable native automations. It is possible to introduce a very short delay of about 30 seconds to a few minutes using a scripting action, but not anything close to 90 minutes.

You could use a third party integration service, like Make.com to introduce a longer delay with a polling scenario that periodically polls for any records that need to be processed. Depending on how accurate you want the 90 minutes to be, it might take a lot of Make operations, though. Have a formula field that adds 90 minutes to the created time. Then have the Make.com scenario periodically poll for records where that formula field is in the past. Note that you cannot use an Airtable formula or view to identify these records because neither of them are accurate enough for a 90 minute interval.

Out of curiosity, what is the reason for the 90 minute delay?

@kuovonne has said already that there is "not a good way" to do what you want. I can think of a way, but I offer it with some trepidation, because perhaps it's not "a good way". You can decide for yourself. 🙂

Here it is....

One of my favorite ways automation triggers is When record enters a view. This method uses that trigger.

1. Create a field called (say) DelayResponseUntil. Make it a date+time field. 

2. Write an automation that sets the value of that field to the record creation date-time + 90 minutes or perhaps the date-time of the updating of some field + 90 minutes. 

3. Create a formula field named ReadyToRespond with the formula `DelayResponseUntil > NOW()`. Returns 1 or 0.

4. Created another field named (say) RespondedTo. Leave it empty by default. When I tested this I used a checkbox but a date-time field would probably be better.

5. Create a view that is filtered to show records where (a) the value in ReadyToRespond = 1 and (b) RespondedTo is empty. [Actually that second parameter is optional.]

6. Write your automation. Trigger is when record enters the view you created in step 5. The action for the automation is (a) send the email and (b) update the field RespondTo to be set to a checkmark (or current time, or whatever).

That's it. Since Airtable's polling for time-based triggers isn't sensitive to the second or even precise minute, this is a bit of a loose method and your emails aren't going to go out 90 minutes exactly after the time they're triggered; but it works. I tested it. 

And of course, you can add another action to your automation, to trigger ANOTHER automation.

Make sense? You think that would work?

William

 

@WilliamPorter   The issue with your system is that you are dependent on the NOW() formula function. The NOW() function does not update on a regular basis. If you are actively viewing the field with the NOW() function, it may appear to update every 2-15 minutes. However, when the base is closed, it might not update for an hour or two, and it is difficult to predict when it will update. I did not think this was an acceptable variation for a delay of 90 minutes. That is why I recommended a different method that can have less variation in the delay. 

Also, Airtable automations do not work on a polling basis. They are event driven.

Yeah, "polling" was the wrong word. I know automations are event driven: The event here is the appearance of the record in the new view.

You asked a question I myself was going to ask: Why the 90-minute delay. Haven't seen the OP's response. I'm assuming (perhaps incorrectly) that the 90-minute delay doesn't need to be precisely 90-minutes. As I said, if it does need to be precise, then my approach ain't gonna work. 

If my suggestion doesn't work, I'd agree that using Zapier or Make might. But I still wonder what's behind the need for the delay.

 

@WilliamPorter @kuovonne The dekay is for this.
When a lead comes to Airtable, I would like to wait 90 mins to see if they have booked a call with us, if they haven't then move them to a different table for the sales people to call them.

I was using MAKE for this but MAKE only allows delays up to 45mins, so I thought I'd use the automation function on Airtable to do that. 

Alright, I do have experience with MAKE.

I have 2 questions tho,
1. How do I create a formula field that adds 90mins in Airtable
2. How do I tell MAKE to only take the date in the formula field that's in the past

> How do I create a formula field that adds 90mins in Airtable.

Try this:

DATEADDDTCreated, 90'minute' )

 

Thank you for updating with the reason you want the delay. Can you share where you are seeing that Make allows delays of 45 minutes? My understanding is that Make natively supports delays of up to 5 minutes unless you use workarounds, but those workarounds are more robust than Airtable's and also do not have a limitation on the length of delay.

It is said in the MAKE documentation that one scenario can only run up to 45mins.

Make natively supports delays of up to 5 minutes, but the way I created a 45 min delay was by using the sleep module that only supported 5mins and I created 9 of them which made the delay 45mins.

Anyways thanks for your help, I found a solution to have a 90-minute delay in MAKE.
It's a shame that I can't do the same on Airtable but whatever.

Btw how does one add 1min delay as @kuovonne mentioned earlier?