We have set up a view in which products with a value lower than 3 end up. Then we are alerted by SMS. This is our stock level, which is also entered manually.
As soon as we change the stock level manually, e.g. to “12”, two automations are triggered, as this is first triggered with the value “1” and then with the value “2”.
Is there a way around this problem?
As strange as it sounds, this is how Airtable automations are designed to work.
Here are a few workarounds. They are all bad.
Have a different editable field to trigger the automation. For example, have a checkbox field that users click when they are done doing data entry. The automation doesn’t trigger until the checkbox is selected, and then the automation clears the checkbox as part of the run. However, this may result in lots of excess automation runs and the user might forget to click the checkbox.
Use a formula field that compares the last modified time of the editable field to
NOW() and trigger when the difference is large enough for the user to finish typing. Unfortunately using
NOW() is very inaccurate because it only updates every few minutes to every few hours, and it is resource intensive so it can slow down a base. This means there can be a long delay before the automation actually runs.
Use a script that introduces a delay and rechecks the field value before proceeding. This method can also use excessive automation runs and can also be tricky to code for various reasons.
Have data entry done by copy/pasting in the number as a whole versus typing in individual digits. This is usually not realistic from a user experience point of view.
Welcome to the community, @JF_1234!
As @kuovonne said, you will need to find another way to trigger your automation.
My favorite way that I use with most of my Airtable consulting clients is to create a single-select field where the user can choose an option that says something like “Send Text Message”.
That will trigger the automation.
Then, this very same single-select field will automatically change to let them know the outcome of their selection.
If the automation was successful, the single-select option will change to “Text Message Sent” and if it was unsuccessful, it will change to “Error” (along with the error message placed in another field).
As much as I appreciate that this is how automations are designed to work, it is causing a lot of problems for me. I have automations that enable real-time two-way sync with Jira (the standard Jira integration doesn't work for us because we have too many Jira projects). The way this works is causing a race condition whereby before a user is finished typing Jira sends an update back with the truncated field.
It also causes a cascade of automations because each record can be linked to other records as a parent, so for each keystroke all those records are changed and then synced with Jira.
It would be nice to be able to have an automation trigger when focus on the edited field is lost.
Inserting a delay in the automation and then retrieving the field might be the best option but it's less than ideal.