Skip to main content
Question

Airtable Automation Unexpected Results

  • June 1, 2026
  • 3 replies
  • 39 views

JBFriedman
Forum|alt.badge.img+7

I am trying to create a task management database for a small farming operation. Each year, many tasks will follow the same pattern of dependencies, duration, and time between. I currently have 4 tables: 

  • Plants: As I add plants to the list, I can generate tasks for the Task table with an automation that pulls tasks from the Templates - Task List table.
  • Templates:  Lists the different available task templates. 
  • Templates - Task List: Lists the different tasks associated with each Template. Also links dependent Predecessor and Successor tasks.
  • Tasks: The final output table, where tasks from the Templates - Task List table are added when the automation from the Plants table is triggered. This automation works. 

Certain details are included in the Templates - Task List table and called to the Task List via lookup or rollup fields, including Days Before Next Task and Duration. I also have a marker (checkbox) to indicate which task is the starting task in a sequence. Another automation (also working) also connects the generated tasks to the correct predecessor and successor tasks in the generated list.

I have a formula that looks up the start date from the predecessor task and adds the appropriate number of “days between” to generate the expected start date for each task (called “DEV | DateAdd”). This requires a date in the Start Date field for the first task in the sequence (marked with the checkbox and called to this table via lookup field). Once the first one is added, the dates trickle down correctly in this formula field. However, I need all my start dates in the same column (Start Date) for (1) ease of use and (2) so I can use the Timeline view in my interface. 

Task List Grid View
DEV | DateAdd formula

Rather than having to go retype every date in the Start Date field, I want to create an automation that just takes the date from the DEV | Date Add field and puts it in the Start Date field. I also want the Start date to update automatically if I change any of the dates in the column, and I want to lock certain dates (like final termination date for the season) so they don’t change once they’re added. In theory, this should be fairly simple, but it’s returning some odd results and I’m having trouble figuring out what I’m doing wrong.

Automation Trigger
Automation Action

It originally tried to enter the DEV | Date Add value for the starting task, but that’s always going to be blank, so it caused an error. Easy fix: add a condition to the automation so it doesn’t run on that record. 

Then it was causing a strange loop where it would just constantly redo the fields, changing the dates to something that appears random because the math ain’t mathing. So to try to fix that, I added a formula called “AUTO | Start Date Matches” to check if the DEV | Date Add field matches the Start Date field. It returns a simple YES or NO. I changed the automation to only run if the check formula returns NO for a field. 

Now, it’ll change the dates correctly once, then immediately change some of them to random dates that don’t match the DEV | DateAdd field or honor the automation set up. Then the automation just stops and leaves things incorrect, even if the check field is NO and the dates aren’t honoring the formula. It’ll even change the start task and tasks with locked dates, which it shouldn’t be doing at all. You can view the automation in action here. And here is a copy of the base: https://airtable.com/appmZMKUT1WpuHan2/shrHAcDvikePeSCxm.

I have been working on this for hours and my brain is mush. I hope I have given all the pertinent details, but if I can clarify anything, just say the word. Can anyone offer any suggestions for how to get this to work properly?

I’m also open to suggestions for ways to simplify this whole set up. (I do have plans to trigger the task generation with an interface button, I just haven’t built it yet.)

3 replies

Forum|alt.badge.img+6
  • Participating Frequently
  • June 1, 2026

Looks like this is an Airtable automation re-trigger problem.  When your automation updates Start Date, that field change can trigger the automation again on adjacent records.  Your YES/NO check slows it down but doesn’t fully stop it, especially when multiple records update in quick succession and the formula recalculates mid-run.

Something worth trying:

First you can try adding a condition to skip records where Lock Date is checked, it looks like the conditon may not be fully configured yet based on what you’re describing.

Next you can consider restructuring the trigger a bit: instead of “AUTO | Start Date Matches contains NO”, try triggering only when the DEV | DateAdd field itself changes.  This makes the trigger more specific and reduces the likelihood of it firing on records that were just updated by the automation.

Finally, when you see random dates that is usually a sign that the automation is running on records in an unexpected order.  Airtable doesn’t guarantee sequential record processing.  If record #3’s Start Date depends on record #2 being updated first, you can get bad math if they run out of order.  Unfortunately there isn’t really a clean fix within a single automation, some builders work around this by chaining separate automations with a short delay, or running date propagation from script actions instead.  That gives you control over the order.

If you are open to a script, the Scripting action could be triggered once and walk through all records and set Start Dates in order.  This is a much cleaner solution than chaining conditional automations.


JBFriedman
Forum|alt.badge.img+7
  • Author
  • Participating Frequently
  • June 1, 2026

Thanks for the great ideas! I was working on writing a script when I noticed that if I didn’t delete End Dates before deleting start dates to test my system, it would add start dates back in. I realized it was likely the dependency settings throwing a wrench in things, and once I disabled those, the issue resolved itself. Thank you for pointing me down the path that gave me the right answer, and for suggesting a script, which I think will be a better fit for my use case. 


TheTimeSavingCo
Forum|alt.badge.img+32

Hm, may I know what issues you faced using Record Templates for this?  Using that would help you set all the predecessor etc tasks and dates automatically instead of needing automations (based on my understanding of what your workflow, anyway, apologies if I’ve misunderstood!)

It seems like a great fit for what you’re trying to do and I’m thinking if I could help you solve the issues you faced you could use that instead

https://support.airtable.com/docs/using-record-templates-in-airtable

I’ve set up a base here for you to check out.  In the screenshot below you can see Task 2 has a predecessor of Task 1, and its Start Date is automatically calculated:

 

And here’s how it looks in action:

 

I do free half hour calls and would be happy to jump on and do a screenshare and troubleshoot if you’d like, and you can grab a time here!