Automations - asynchronous?

Do automations run asynchronous?

Automation A

  • …
  • calls Automation B
  • calls Automation C (that should have results from Automation B)

Will Automation C run after Automation B finished? Or after Automation B started?

Maybe a switch would be great, to call an external flow and tell the current flow to wait until it continues?

From my understanding if you use the 🆕 Trigger · When another automation calls · Workflow Automation along with the 🆕 Action · Call automation · Workflow Automation you have full control of the flow of the automation.

Is that what you are referring?

1 Like

Correct, but…
I call several other automations from one automation.

So instead of my example:

  • A calls B
  • A calls C (which needs results from B)

I would need to concatenate those:

  • A calls B
  • B calls C

If you try to build a bit modular, instead of having a lot of redundant code to put it into several automations, this will hit hard. Because I have also other automations that call B. C is not always the successor.

So my initial scenario would need an option - like a new element (@Tim ?) - that holds the automation until every step before is finished. Like:

  • A calls B
  • (wait until all is completed)
  • A calls C

There is already a “pause” element, but you never know how much time automation B needs. So more clean would be to define with each automation step, if it should wait until the automation before has finished.

In case there is the fear to have too many open automations, that never finish… there could be a threshold, when the automation breaks (by a timeout) or the maximum numbers of automation currently waiting in an organization to proceed.

I’m unsure if this could work, but what about adding a hidden single select that changes from “Standby” to “Automation Completed” at the end of the actions? Then, you add a filter to trigger automation when a single select changes to “Automation Completed.” It looks like your automation is quite complex, but maybe this could be a workaround.

2 Likes

Thanks @Luis … that sounds like a workaround, so when an automation starts, it locks an entry. I could probably also write a hidden code to know, which step in the process is done.

On the other hand, it just destroys my approach to work with native Tape functions in a more module way. As soon as I go that route, we are probably better of with native programming.

There seems to be a certain level of complexity, which is kind of the limit for a lowcode approach.

(But while we are talking about it: clean locking options like “wait until previous steps finished” and “wait until all calculations in the records are finished” - would further push this boundary.)

2 Likes

Not sure if this helps any, but I daisy chain everything using waits and calls.

A. On field update
B. (Wait), send email
C. Add comment
D. On date match

A → B
B → C

D → B

It’s less exciting because of how big the automation cards(?) are but one day we will be able to display them in a list or something less clunky.

2 Likes

Actually here is another example, where we run into problems…