Help

How to Add Delay as an Action in Airtable Automation?

11399 7
cancel
Showing results for 
Search instead for 
Did you mean: 
Sannit_Vartak
5 - Automation Enthusiast
5 - Automation Enthusiast

Hi,

here is the solution to this frequently asked question. Just replace the value in delay( ) to change the time of delay. The maximum delay you can give is 30 Sec per action or automation will fail. For adding more delay the work way around is to add two scripts actions one below the other (See Image).

function delay(ms) {
var limit = new Date();
limit = limit.setMilliseconds(limit.getMilliseconds() + ms);
while ((new Date()) < limit) {
    // do nothing
    ;
}
}
delay(20000); //delay 20 second



Screenshot 2023-03-07 144354.png

7 Replies 7

Just be aware that if the purpose of the delay is to let field values update, such as waiting for an attachment to upload, you will still have the original field values unless you do something to get the updated values, such as a “find records” action to get the new field values. Otherwise you will still be working with the original old field values.

Indeed! and in such cases, you can add one more search Action

gilles_prevotal
6 - Interface Innovator
6 - Interface Innovator

Hi Sannit_Vartak, and thank you for cutting so many trees in the jungle of threads pertaining near or far to this subject !

Works fine, but this warning in red in the code editor on my side ennoys me ... Do you think it is reliable ? Did you had the same by your side ?

 

Yes you can ignore the error 🙂 

Any ideas on how to find that record again?  My trigger is "when a record enters view".  Then I run this delay script.  Then I want to find the same record that just entered the view and send an email populated with that record data.  

More specifically, a PM opens a Job# (primary field), and adds lots of data about the job in other fields.  But not every job# uses the same fields, so I have the record enter a new view (thru filters) as soon as the primary field is not empty.  I want to delay the automation 10 minutes to allow time for any other info to be manually entered by the PM before the email goes out.   But it looks like I need to find the record that just entered the view to be able to pull data from it for the email body.  I don't know how to find it again.

Maybe a new formula field "Created in the last 10 minutes" that the automation can search for?  but that's kind of sloppy, because what if the PM begins entering data into an existing blank record?  the automation will fail.

Andreanne_St-Ge
6 - Interface Innovator
6 - Interface Innovator

Hey @Aaron_Hess,

You probably figured this out since but since I was using this thread and saw that no one replied back, I just made the automation do an edit to my entry right after the script (check a box, for example). Then, I can get the info back from that 'edited' entry in the next step of my automation.
Hope this helps!

Hey !

Since that thread i came to understand my problem.

You can wait as long as you wish, but it stays hard to tell when all the fields of the record will be updated.

A robust way to do it, that i have adopted since that thread is to read the record again, nothing more !