Problem Description: Currently, when using a router in Make to split the flow based on specific conditions (for example, different values in a variable), we need to duplicate all subsequent modules in each route, even if these modules are identical for each route. This approach can be inefficient and results in a more complex design that's harder to manage and modify.
Example of the Current Scenario:
Suppose we receive colors as data: red, blue, and green.
We use a router to perform different actions based on the color:
If the color is red ➔ Module 1: Send an email
If the color is green ➔ Module 2: Send an SMS
If the color is blue ➔ Module 3: Send a WhatsApp message
After these specific modules, all routes need to continue with the same modules (for example, C, D, F, G), which are common across all color routes.
Issue: We currently have to duplicate modules C, D, F, and G in each branch of the router, increasing maintenance effort and reducing flow clarity.
Solution Proposal: Introduce a "Reverse Router" module that allows for reconnecting separate routes into a single flow before continuing. This would mean that after using a router to branch into specific modules, the data flow can rejoin into a single line and continue with the same set of shared modules (C, D, F, G) without duplicating them.
Visual Example:
Before (without Reverse Router):
/ ➔ Red Route ➔ Module 1 ➔ C ➔ D ➔ F ➔ G
Router --➔ Green Route ➔ Module 2 ➔ C ➔ D ➔ F ➔ G
\ ➔ Blue Route ➔ Module 3 ➔ C ➔ D ➔ F ➔ G
After (with Reverse Router):
/ ➔ Red Route ➔ Module 1 \
Router --➔ Green Route ➔ Module 2 -- Reverse Router ➔ C ➔ D ➔ F ➔ G
\ ➔ Blue Route ➔ Module 3 /