I’ve seen others raise this issue here but the threads all closed without anyone posting a resolution. I’ve got a few Airtable automations triggered by the “new record/updated record” piece, and have noticed that they keep running multiple times, even after running successfully. This has completely consumed ALL my tasks for the month (something that should never happen if the very few automations I’ve got set up just ran successfully once and stopped). Please help, how can I keep them from running over and over again?
I believe there is an infinite loop in this flow. Every time a record is updated, the flow triggers again. In step 5 or step 4, the record in the table is updated or created, which then triggers the flow once more because records are updated by the last step. This cycle will continue indefinitely.
Are you using the same table for both the trigger and step 4/5? If your use case involves creating a new record in table X and then finding a corresponding record in table Y—if it exists, updating it or creating a new record in table Y—you should use the “New Record” trigger instead of the “New or Updated Record” trigger.
Let me know your specific use case so that I can suggest a better approach for it.
@AnneBocc I think you have demonstrated a perfect example of recursion (function/flow calling itself).
The solution to this problem is to have a recursion ending condition.
Step 1. Have a APCreateUpdate column in TableA and Set it to 0 by default in airtable TableA
If the Row in the Airtable TableA is created via AP Flow (in your case inside the branch) then set APCreateUpdate = 1
Step 2. Then have a condition right at the beginning of the flow.
IF APCreateUpdate = 0 then continue the current flow
IF APCreateUpdate = 1 then immediately exit/end the current flow
Hi @kishanprmr, Thanks for the thoughtful reply, it makes total sense. I am using two different tables, so I wanted only to update table 2 based on what happens in table 1, basically. I’m trying to update deadlines, so if table 1 has a record whose deadline is changed, I want it to reflect in table 2. If table 1 has a a record with an updated deadline that table 2 doesn’t yet have, I want it to be created there. Does that make sense? So I don’t know exactly how the “new record” trigger would work here, because I’m not really ever creating new records in table 1, just updating the due dates on them. If you have any other thoughts, I’m all ears, but it’s already super helpful to have the issue diagnosed, so thank you so much
And wow, thanks for the suggestion, @startuphosting2015, this makes a lot of sense! The one thing I wanted to add just for clarity is that I’ve set the “last updated time” field in Airtable to “watch” only the deadline field in table 1. So this is what’s confusing to me – when other things change in the record, that shouldn’t trigger the “record update,” and I’m not changing anything in table 1 via this automation – the flow is only supposed to check table 1 to see if that deadline field has been updated.
Thanks for the details. Based on your use case, you have the right setup for your flow. Just to confirm, the first trigger step is configured for table 1, and the other Airtable steps are for table 2. Are you still experiencing an infinite loop?
Additionally, the “Last Updated Time” field will trigger the flow if any field in the record is updated.
Hi @kishanprmr, thanks for the quick reply. I had set up the “last updated” field on my Airtable to only trigger based on one other field in the table (see screenshot). It seems to be working that way – if I update the name of the record, for example the “last updated” field remains intact, it only changes when I update the “last done” field (see below):
I turned the automation off until I could fix it, so I’m not sure if I still get the infinite loop there, but I’ve got another automaton that works off that same first table, and that one is also running many times in a row, for some reason, even though I’m pretty sure it does NOT in any way contain a loop. I created it to basically paste a formula that results in a date into a date field (for some reason I can’t do that in Airtable itself, even though it’s very simple, it comes back saying the field date “cannot accept a string”).
It keeps running multiple times, I don’t know what to do – the “last updated” field only triggered twice yesterday, but I see multiple runs every five minutes from yesterday into today. Does anyone know how to disable this? I thought the “every five minutes” thing was perhaps to check for updates, but not that it would literally run every five minutes (plus it runs 10 times every 5 minutes, even if each run was successful!).
For this second flow, did you perhaps add new records to the table, which triggered multiple runs? Also, are the records fetched by these multiple runs are the same for which “last updated” field is updated?
Can you provide a scenario for this formula date column and what you want to achieve? Let me see if I can create it using the Date Formula Guide.
Thanks for checking in. I didn’t. And I looked, and it seems like the automation ran for every single record in the table, even those that don’t have deadlines (the field is blank) and therefore would never trigger the automation. This is so confusing!
Sure. What I want to do is basically automate a reminder of when tasks are due. I’ve got a single-select field called “frequency” where I select words like “monthly”, “weekly,” “biweekly” etc. I then created a formula field that spits back the next due date, based on when the task was last marked “done” (I have one automation in Airtable itself where when someone checks the “done” box, the “last done” date becomes TODAY, and then the box resets to unchecked. That works well). My only issue is that I want to copy the “next task due formula” (formatted as a date) into the “Next Deadline” field (a date field), but Airtable says a date field cannot accept a string as input, when I try to build the automation there, even though you can manually PASTE the formula field into the date field just fine (this blows my mind). So I built this date-pasting automation with Activepieces, which for some reason DOES succeed in pasting the formula’s result into the date field.
So basically I have already built what I want, I just don’t understand why it keeps triggering all the time, and also for records for which I don’t have deadlines and whose date fields are empty (the first branch in the automation is to check whether the date field is empty – if it’s empty, the automation isn’t supposed to run).
I managed to create what I wanted for this second automation within Airtable, so that one is solved, but PLEASE SOMEBODY HELP ME, I tried turning the other one on again, seeing as I didn’t really find any loops within it as we’d originally thought, and it is EATING THROUGH my automations, running incessantly! The kicker: I then turned it off, and it’s somehow STILL RUNNING!? I really would love actual customer support here if possible, because I don’t understand what’s going on. I do appreciate folks chiming in and giving advice, but I guess someone on staff should jump on too, if able?
Screenshots attached:
multiple consecutive runs, without any changes in the original table to trigger them
I had started the day at 45 tasks used, and then turned it on, and it quickly mounted to 213.
It kept running even after I turned it off!
now I’m at 622 (and counting? what is happening! it’s off!)
The issue has been resolved. Please recreate the Airtable ‘New or Updated Record’ trigger step to apply the changes. Now, if the table includes a ‘Last Modified Time’ column that updates only when the ‘Last Done’ column changes, it will not trigger the flow for records without a ‘Last Modified Time’ column.