Help

The Community will be undergoing maintenance from Friday February 21 - Friday, February 28 and will be "read only" during this time. To learn more, check out our Announcements blog post.

Re: Automation runs every time a character is entered - as opposed to when user is done editing

2408 0
cancel
Showing results for 
Search instead for 
Did you mean: 
jfoxworth
5 - Automation Enthusiast
5 - Automation Enthusiast

I have an automation that is set to run when a record is updated. The problem is that as the user types in one of the fields being monitored, the automation is called with every character entered or deleted. I want it to run when the user is finished editing - maybe when they hit "Enter" or when they click off the field for the record in question. Is there any way to do this? Seems unusable as is?

7 Replies 7

This appears to be Airtable's built-in behavior.
If you want the automation to only run when all of the specified fields are updated/contain values, you can use conditional logic in your automation action to only run when certain fields contain specific values or are not empty.

Also, this seems to lead to infinite loops when the action updates the same table that the "when record is updating/updated" automation is watching. Running the action after the record is updated seems safer @dashler78

jfoxworth
5 - Automation Enthusiast
5 - Automation Enthusiast

I'm confused. I am running the automation with the trigger "When record updated". This is triggering the automation every time a letter is changed. So, if someone wants to enter a new title for something, it is triggered for every letter strike. I want it to only trigger when the user is finished altering that field. That isn't what "When record is updated" is doing?

ScottWorld
18 - Pluto
18 - Pluto

Unfortunately, this is one of the flaws of that automation trigger.

The more reliable automation trigger for your situation would be “when a record matches a condition”, and have the person check a checkbox when they’re done entering the data which would trigger the automation.

Even better, instead of a checkbox, you can have the person choose an option from a single-select field instead, and can update that single-select field’s value during the automation to give feedback to the user, such as “Automation Running” or “Done” or “Error”. For more information on this approach, check out my posts in this thread.

(This would either trigger an Airtable automation, or you could also have this trigger an automation using Make’s webhooks and Make’s Airtable auromations. If you’ve never used Make before, I’ve assembled a bunch of Make training resources in this thread. For example, here is how you can use webhooks to instantly trigger a Make automation from Airtable.)

Alternatively, you can use Fillout's advanced forms for Airtable to update Airtable records from a form. That way, the user’s updates won’t get recorded in Airtable until the user presses the “submit” form on the form.

Hope this helps! If you’d like to hire an expert Airtable consultant to help you with anything Airtable-related, please feel free to contact me through my website: Airtable consultant — ScottWorld

Jason_Hill
6 - Interface Innovator
6 - Interface Innovator

ScottWorld nailed it. After many frustrations you are experiencing, I gave up on it sending emails for new records. It sends as you are typing.  I now always use a checkbox or single select field to send the emails. That way, it sends it only after I know it's complete. Another safety check I employ is to have the send email automation update another field such as a "sent" checkbox or a timestamp "date" field. That way, if anyone unchecks the original trigger by accident, it won't send the email a second time.

Lu
6 - Interface Innovator
6 - Interface Innovator

Sometimes you need a bit of both, e.g. an automation is triggered deliberately via a checkbox but some other precondition like an email address fails. If the record is corrected whilst that box is ticked, you're back in race condition territory. Adding a delay can help and the wise @kuovonne has the answer.

JR_Richardson
4 - Data Explorer
4 - Data Explorer

I also wanted to run a script autonomously when a specific field changes, but not on each character as discussed above. While reading through this and came up with a convoluted approach that seems to work.

My solution is:
1. A formula to establish a change in the required field:  LAST_MODIFIED_TIME({Tasks})

2. A formula to display whether the change was within or before 5mins of now:
IF(DATETIME_DIFF(NOW(), {Last Modified}, 'minutes') <= 5"<5min"">5min")

3. A view filtered to show all records that are >5min

4. Set the automation trigger to 'Records that enter the View ' targeting '>5min'.

In this approach, the records leave the targeted view when altered, and reappear 5 minutes later, and triggering the automation.

After testing and using shorter periods e.g. (1min) - Because I was impatient - it appears, that 'NOW', as far as Airtable is concerned, gets updated every 5 minutes so that seems like a good minimum.