How to combine outputs from multiple router routes into one Array aggregator?

Hi everyone,

I’m building a scenario where I have several different routes running in parallel. Each route runs its own HTTP calls, iterators, and filtering, then produces a final set of results.

What I want:

  • No matter which combination of routes fire (maybe only 1, maybe all 4), I need to collect the final outputs from each route and merge them into a single dataset. (ofc the ones that dont fire wont have any info)

  • That merged dataset will then go to a final module

The issue:

  • The Array aggregator only seems to let me pick one module as the source.

  • Since my outputs come from 4 different routes, I don’t see a way to combine them all together.

My question:

:backhand_index_pointing_right: Is it possible to combine the results from multiple router branches into one aggregator? If so, what’s the best practice for setting this up (e.g., Set variable at the end of each route, Merge module, etc.)?

Thanks in advance for any guidance!

To pass variables between routes, you need to use set variable and get multiple variables modules.

Then you can join all the arrays using the built-in merge function.

Hope this helps! Let me know if there are any further questions or issues.

@samliew

Thanks for the reply! That makes sense. I just want to double-check something:

From my understanding, the Array Aggregator is still needed inside each route to combine all bundles (e.g. multiple results from an iterator) into a single array before saving it with Set Variable. Then at the end, I’d use Get Multiple Variables + Merge to join those arrays from different routes together.

Is that the right approach (so basically using both Array Aggregator and Set/Get Variable)?

Also, for the Get Multiple Variables step, do I only need one module after the router, or do I need to put a Get Multiple Variables at the end of each route?