My automation test runs well, but fails when row is modified based on real date

Goodmorning, I hope some can spot the mistake I made in on the page: ‘sending a page’

Testing the automation rule, it works, but when the checkbox is checked (based on a date change) it fails to email the page. The idea is to have an overview of expenses email every quarter, thus 4 times a year. For the sake of the test, I’ll put today as start of a new Q (while it should be Oct 1).

All details on this dummy page.

I haven’t yet gotten to the bottom of it, but I believe that automation will fail when

a) it tries to read a “volatile” value (a result of Now(), Today(), or User(), which is calculated in a browser but not on Coda backend)
b) it tries to read a value that has pending edits to it (e.g. when you edit a cell and then try to use its value in the same automation run)

At least that was my assumption for a while, because I remember I saw both scenarios working for me at least once. So there must be something else to it.

Testing the rule works because testing happens in a browser where every step is calculated right away and your browser context can easily read all the fresh data. Backend processing (by automation bot) happens differently and only works with the latest available snapshot of data. It doesn’t spin up a browser just so that formulas would be recalculated during an automation run.

These are just my assumptions; Coda backend is a black box and I don’t think any engineer would shed much light on this because it’s a trade secret. I can only speculate based on my general knowledge about how software is usually built.

hi @Paul_Danyliuk thanks again for the wonderful feedback. It seems a rather profound problem then for many automations I had in mind are date/time based and thus ‘volatile’ like expense notes every week / month, holiday overviews, etc. etc.

I’ll think it over because this has a serious impact on what I had in mind with Coda :wink:

hi @Paul_Danyliuk, the solution for the issues passes via the automation on the right : Automate action every first Monday of month?

In the end it is way simpler than I assumed.
Cheers, Christiaan