How to Merge Routes in Make.com

The Issue

Make.com does not provide a native merge routes feature. This can cause messy workflows when you want to route conditionally and then continue the scenario from a single point.

Example Problem

Imagine you want to:

1. Search for a user in the database (and capture their ID)
2. If the user does not exist:
   - Create a new user (and capture their ID)
3. Do something with the captured user ID
4. Do something else afterwards

Make.com does not allow you to conditionally fork your scenario and then merge it back easily.

The Solution

This solution requires using scenario variables to merge your routes manually.

Steps of merging:

  1. Create a scenario variable (e.g., called user_id) to store the user ID after checking the database.
  2. Set the user_id variable after searching for the user:
  • If the user exists, save their ID to the user_id variable.
  • If not, the variable remains empty.
  1. Use a Router module with two routes (or more, as you wish):
  • Route 1:
    • Inserts a new user into the database.
    • Saves the newly created user ID into the user_id variable.
  • Route 2 (Default Route):
    • At the beginning, use a “Get Variable” module to load the current value of user_id.
    • This allows you to access the correct user_id regardless of which route ran.

Why Use the “Get Variable” Module?

When using routers, all data before the router is copied into each route. This means:

  • Updating a variable inside one route does not update the variable value in other routes.
  • The router passes a copy of the data, not the original source.

Therefore, to have a consistent, updated variable (user_id), you need to explicitly fetch the latest value with the “Get Variable” module inside each route.

After Applying the Solution, the Flow Looks Like This:

1. Search for user (and capture ID)
2. Set variable "user_id" with the found ID (or leave empty if not found)

3. If user does not exist:
   - Create user (and capture new ID)
   - Set variable "user_id" again (this updates the variable globally)

4. Get variable "user_id"  
   (to retrieve the updated value, e.g., the new user ID if created)

5. Do something with the captured ID  
   (by referencing the "user_id" from the "Get Variable" module)

Before and after Images

Keep in mind:
The route sequence is very important, the default route should always be the last one!

Before:

After:

1 Like