I have a button containing RunActions() that is pressed by an automation a certain time (and it’s taking action as me, not as the automation bot).
The button has nested RunActions(), something like:
RunActions(
ModifyRows(1),
ForEach(List,
RunActions(
SendEmail(),
_delay(_noop(), 5000),
ModifyRows(2)
)),
ModifyRows(3)
)
When the button is pressed manually by me, the RunActions() are all run syncronously one after the other, and I can see this happening in real time because of the various ModifyRows() and SendEmail(), and I can see them happening one after the other.
ie. ModifyRows(3) doesn’t occur until after the email is sent and ModifyRows(2) has completed.
But when the button is triggered by an automation (and the automation is only pressing the button and nothing else), I dont see any changes in the Coda UI until after the automation has completed, and then it appears that the RunActions() all occur at the same time.
So it seems that the button processing has occured in the background, before being updated in the Coda UI.
The ModifyRows(2) is writing a Now() value to a field, and these are all showing the exact same time when triggered by an automation, but different times when the button is pressed manually - about 5 seconds apart, due to the delay().
But the emails are being sent 5 seconds apart even when the automation has pressed the button, so the automation is not ignoring the delay().
Does anyone have any insight as to if RunActions() always run synchronously, or sometimes asynchronously, and do they run differently if triggered by an automation or not?
Thanks!