MULTI-BRANCH piece? I would like to have a multi-branch piece for more complex flows (Conditional sub-flows)

So I am building out a bigger flow, and based on ONE parameter I need to choose between a lot of flows.

This means I use a LOT of nested BRANCH pieces. This both consumes many credits, it slows the server, and just is messy to work with.

I would love to have a MULTI-BRANCH piece, that can easily match values to start the right “sub-flow”:

Is this possible?

EDIT: I have started to think about this as “conditional sub-flows”, since it will make a choice based on several conditions, and can then start a sub-flow based on that condition.

This can be used for a LOT of different things. :blush:

Having a good way to setup sub-flows has been talked about, you could have one flow send a webhook to a sub-flow in AP but this could get very messy very fast :slight_smile:

1 Like

Yes, but now in my use-case this is solved. I could use Dynamic Values, and that solved a bunch of “if this then that” problems.

I orginally started to build out a Master flow to send different cases to different Google sheets, and then run sub flows. But now I think I can put all into one small flow, and rely more heavily on Dynamic Values.
Am building this out as we speak.

Mo showed me how. :sunglasses:

1 Like

Hi @Preben Can you please show us how you did it?
Im facing the same problem, I want to build a workflow with multiple branch legs (If XYZ is A, If XYZ is B, If XYZ is C, If XYZ is D …)
And then each one A,B,C,D… have different workflow after the branch…

Thanks.

2 Likes

@Javier_Martinez without knowing your specific scenario, you can also do something like this to trigger a separate webhook.

With that said, I still would love to have a dedicated router or switch based on a parameter (if a, then this, etc) :slight_smile: .

4 Likes

This would be great to have! Other automation apps call it a “router”.

2 Likes

This is one of THE BASICS that we use in basically every make flow and this being amiss is keeping me from even testing activepieces further and investing more into that ecosystem.

Obviously there are workarounds but I use nocode tools to have an EASIER time than when I’m coding, not a harder time.

3 Likes

Exactly I think @Abdul should look this further

Note that the branches should not necessarily be exclusive.

Having multiple branches which can run nonexclusively and which have a defined order is a major win for simplicity.

2 Likes

@Preben If you can show how you made use of “Dynamic Values” with a quick video it would be great. Thanks.

1 Like

This is on our Product Strategy board on Miro. It’s coming up soon. If you have any detailed thoughts about it, please add them here so we can work on it as per your expectations.

6 Likes

@ashrafsam
As per my past software developement experience,
I will extend the the concept of Sub-flows into SubRoutines or Functions Or Procedures (whatever terminology you wish)

Example.
MainFlow1 (similar to Main Function)

Some trigger → Calls FunctionA() → Pass Parameters (I,J,K) → Returns ValueA (optional)or nothing → Continue the MainFlow1

FunctionA Flow (ex. Send Email To Particular address)

FunctionA (Inputs Params I,J,K) → Do some action inside this sub-flow → Returns ValueA (optional)or nothing

Benefits

  1. SubRoutines / Functions Can be reused by Any other FlowA, B, C, etc.
  2. Avoid repetition of the same flow steps.

Cons

Not sure how will ActivePieces show the Step wise Real time running of SubRoutines flow

2 Likes

This would be an amazing feature and will be a game changer for ActivePieces.

When I think of a router, it can have multiple routes and each route can include an optional filter. This will enable a flow to have multiple tasks running in parallel (for example, posting to multiple social media accounts).

The filter will allow a single route to only execute if it matches a specific criteria (similar to a branch), otherwise it gets skipped.

The ability to orchestrate multi-subflows instead of multiple nested binary forks would be so helpful! Allowing for multi-conditional logic would allow for a defined order, a potential fall-back/catch-all option if none of the previous conditions are met, significantly reduce repetition, and streamline flows.

1 Like