I have an interesting idea that I hope I can properly convey. ActivePieces, like pretty much all similar automation tools, processes a workflow in a very linear fashion.
This make sense if
Step 2 was dependent on
Step 1 and
Step 3 was dependent on
Step 2. However, in my experience, this is not how most automations work.
What if the steps happened more asynchronously?
In this example, my trigger could trigger multiple actions at the same time. You only need to nest a step if it relies on a previous step in some way.
I feel that something like this could really set ActivePieces apart from all other competing products.
I hope I properly conveyed my idea here. Let me know if I can provide any further clarity.
@joeworkman Your proposal is interesting. I’m more familiar with the idea of “multiple triggers” where you can add Trigger 1, Trigger 2, Trigger 3 then all of them lead to executing the same consequent steps.
Now when it’s 1 Trigger and multi paths, do you have a real life scenario where this could help?
Also, a simple workaround for this is to add the trigger then send 3 HTTP requests to 3 async URLs (other flows that start with Webhooks on Activepieces for example) which allows you to run the 3 flows in parallel, all triggered by 1 Trigger.
Here is a workflow that I will be moving off Zapier and onto AP soon.
- Steps 1-3 must run. Although I will eliminate step 3 and guarantee a result in Step 2.
- Step 6 requires Step 5.
- The rest of the actions only rely on data from Step 2. Therefore, steps 4 on could be ran asynchronously.
Another benefit of running async is that a failure in one step will not stop the execution of the other steps below it since they will not be dependent.
I too felt it. While a linear approach offers simplicity, it can be quite restrictive. Similar to algorithm functions, we should have the flexibility to incorporate conditions like “if” and others for a more dynamic approach.
@ashrafsam I was wondering your thoughts on this? Think the idea has any legs?
Another potential implementation of this idea could be that if you want a step to be asynchronous, then that step should be a separate workflow. That separate workflow could then have whatever steps you want.
The idea of asynchronous flows makes so much sense… I use different automation platforms, the ones that allow asynchronous flows are 100% on top of my list.
I think it would be a great feature to add to your automation builder.