---
title: Module Migrator
slug: module-migrator
description: The Module Migrator automates safe updates of deprecated modules, guiding manual steps, scanning scenarios, and creating or updating versions as needed.
image: https://archbee-image-uploads.s3.amazonaws.com/oAyFj2GHlBeBVWF5OAir2/mFeJvKCriXwWHqI6Z4ml0_domino-zoomin-purple-a-1.png
docTags: 
createdAt: 2025-04-24T15:11:52.920Z
---

**Module Migrator** is a standalone app designed to address breaking changes and automate the migration of deprecated app modules to their latest versions. It eliminates the need for manual scenario updates or skips identifying what the breaking changes are. The Module Migrator reduces effort, accelerates the migration and adoption of new features.

:::hint{type="info"}
Migration is not supported for all apps. You can view the full list of currently supported apps in the Module Migrator itself.
:::

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/UODS7fEMn81fYCybmLR3Y-20260424-065106.gif)

:::hint{type="warning"}
Certain complex configurations require manual intervention. In these instances, the module provides specific guidelines to help you complete the migration successfully.
:::

## Key benefits

- **Scalability:** Automatically updates multiple scenarios at once.
- **Provides clarity:** For risky scenarios, the Module Migrator minimizes user struggle to identify exactly what changed between versions and how to map old configurations to new ones.
- **Simplifies complexity:** Eliminates human error due to manual migration.&#x20;

***

## Flexible module migration processes

### Safe recreation

The safe recreation method is a "safety-first" workflow, allowing users to transition to updated module versions without risking the integrity of their current production environment. Instead of applying changes directly to the live scenario, this method generates an independent clone of the original scenario.&#x20;

During the replication process:

- Module Migrator intercepts the legacy modules and replaces them with their updated counterparts.
- Remaps parameters and adjusts for breaking changes in the background.&#x20;
- You are prompted to select a designated destination folder for this new version, to separate it from the original.&#x20;

**How to use it**: Select the **Create a new scenario** option in the **Module Migrator&#x20;**>**&#x20;Migrate outdated modules**.

### Direct update

In this method, you can update your scenarios instantly without the overhead of managing duplicate files. The system scans the existing scenario, identifies the outdated components, and overwrites them with the latest versions directly within the original scenario. It automatically maps the old configurations to the new module structure and updates downstream dependencies in real time, ensuring the scenario is ready for immediate use.

**How to use it**: Select the **Update original scenario** option in the **Module Migrator&#x20;**>**&#x20;Migrate outdated modules**.

:::hint{type="info"}
**Things to remember**

- **For** scenarios **with polling triggers&#x20;**- If the recreated scenario starts with a polling trigger, you must select the first record to run from (by date, ID, from now on, etc.), then activate the new scenario and turn off the original scenario.
- **For** scenario&#x73;**&#x20;with instant triggers&#x20;**- If the recreated scenario starts with an instant trigger, you must switch the webhook - which means, you must unlink it from the original scenario and select it in the new scenario. In case of recreating a scenario with instant trigger, the webhook is removed in the copy, so the original scenario remains functional.
:::

***

## Create a connection with the Module Migrator app

Make provides two ways to connect to the Module Migrator app:

- OAuth2
- API key

To create the connection **using OAuth2**, continue to the [Create the connection in Make](docId:2uDlv6fL-ezWeVxJDXMNB) section.

To create the connection **using an API key**, you need to [obtain your API key in Make](docId:2uDlv6fL-ezWeVxJDXMNB).

### Obtain your API key in Make&#x20;

If you are connecting using an API key, you should first obtain an API key in your Make account.

To obtain the API key:

::::WorkflowBlock
:::WorkflowBlockItem
Log in to your Make account.
:::

:::WorkflowBlockItem
Click **Profile Icon > Profile**.
:::

:::WorkflowBlockItem
Click on the **API** tab. If there is no existing API key, create one by clicking **Add token**. If there is an existing API key, go to step 5.
:::

:::WorkflowBlockItem
Add the label and scopes for your token and click **Save**.

Use the following scopes - `organizations:read`, `teams:read`, `scenarios:read`, `scenarios:write`, and `connections:read`
:::

:::WorkflowBlockItem
Copy the **API Key** value and store it in a safe place.
:::
::::

You'll use this value in the **API key** connection field in Make.

### Create the connection in Make&#x20;

To create the connection:

::::WorkflowBlock
:::WorkflowBlockItem
Log in to your Make account, add a Module Migrator module to your scenario, and click **Create a connection**.
:::

:::WorkflowBlockItem
Select your **Connection type**: OAuth2 or API key.
:::

:::WorkflowBlockItem
Optional: In the ​​**Connection name​​** field, enter a name for the connection.
:::

:::WorkflowBlockItem
In the ​​**Environment URL** field, enter the URL address of your Make instance. For example `https://eu1.make.com`.
:::

:::WorkflowBlockItem
If you selected API key as your Connection type, enter your API key in the **API key** field.
:::

:::WorkflowBlockItem
Click **Save**.
:::

:::WorkflowBlockItem
If prompted, authenticate your account and confirm access.
:::
::::

You've successfully created the connection and can now use the Make app in your scenarios. If you want to make changes to your connection in the future, follow the steps [here](https://help.make.com/connect-an-application#tN2pJ).

***

## Module Migrator modules

:::ExpandableHeading
### Search  scenarios&#x20;

Before committing to a migration, you can execute an analysis for migration using the Search  scenarios module.

| **Field**  | **Description**                                                                                              |
| ---------- | ------------------------------------------------------------------------------------------------------------ |
| Connection | Select an account to connect to an existing account or create a new connection.                              |
| Folder     | Select the folder to scan for outdated scenarios.<br />Scenarios must be in at least one folder to be found. |

**Output**

By selecting a specific folder, the module generates a report detailing the:

- Impacted scenarios&#x20;
- Whether or not manual review is required after migration
- Modules to migrate
:::

:::ExpandableHeading
### Migrate outdated modules

Use the **Migrate outdated modules** module to migrate a scenario after analysis.

| **Field**                                                                                                                                                                    | **Description**                                                                                                                                                                                                                                                                                                                                                                       |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Connection                                                                                                                                                                   | Select an account to connect to an existing account or create a new connection.                                                                                                                                                                                                                                                                                                       |
| Scenario ID                                                                                                                                                                  | Map the scenario ID of the scenario you want to update.                                                                                                                                                                                                                                                                                                                               |
| Migration mode                                                                                                                                                               | **Create a new scenario** - Ideal for complex production  scenarios, this migration method creates a new copy in a designated folder while leaving the original untouched.<br />The name of the new scenario will be - \{ORIGINAL NAME} \[Migrated].<br />This type of migration is best suited for complex production scenarios which require manual steps.                          |
| **Update original scenario** -Ideal for rapid batch processing of low-risk scenarios, this migration method overwrites the existing scenario with an updated module version. |                                                                                                                                                                                                                                                                                                                                                                                       |
| Folder                                                                                                                                                                       | Select the destination folder for your scenario migration.                                                                                                                                                                                                                                                                                                                            |
| Migrate connections                                                                                                                                                          | **Deprecated connection type** - Select the connection to deprecate. <br />For example: Pipedrive API key<br />**Deprecated connection** - Select the specific instance you've set up in your account. <br />For example: My Pipedrive API connection<br />**New connection** - Select the new instance that you want to connect to. <br />For example: My Pipedrive OAuth connection |

**Output**

The module generates a report detailing:

- Total number of migrated modules
- Total number of outdated modules
- Review instructions with the change summary and modules to update
:::

***

## Example scenario before and after migration for direct updates

1. **Scenario before migration:**

:::Paragraph{indent="1"}
The scenario below contains deprecated modules marked with green arrows. The direct update method allows you to update a scenario by overwriting legacy modules with their latest versions instantly.&#x20;
:::

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/T0rnR6lhw_j0yuQI1jUXV_image.png" size="100" isUploading="false" width="1920" height="993" darkWidth="1920" darkHeight="993" showCaption="false" indent="1"}

2. **Scenario during migration:**

:::Paragraph{indent="1"}
When you run this scenario, the **Search** **scenarios** module scans for scenarios that need updates. Th&#x65;**&#x20;Migrate outdated modules** module returns a warning with instructions if a module update involves additional manual steps. Modules eligible for a direct update are replaced immediately.
:::

3. **Scenario after migration:**

:::Paragraph{indent="1"}
You will see that all deprecated modules have been replaced by their updated versions.&#x20;
:::

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/8pE8WxGqskK1dJf4SgEHq_image.png" size="100" isUploading="false" width="1920" height="997" darkWidth="1920" darkHeight="997" showCaption="false" indent="1"}

***

## How to use the Module Migrator

Updating legacy modules across multiple scenarios can be a complex task. This procedure guides you through building an automated workflow that identifies deprecated modules and migrates them using either a **Safe Recreation** path (for complex scenarios) or a **Direct Update** path (for simple, low-risk scenarios).

### Step 1: Search for the scenarios that need migration

Use the **Search** **scenarios** module to identify which scenarios need migration.

::::WorkflowBlock
:::WorkflowBlockItem
Log in to the Make platform.
:::

:::WorkflowBlockItem
&#x20;Add a **Module Migrator** > **Search scenarios** module to your scenario builder.

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/c6MUFgPbgV5DYS5vpf-dt_image.png)
:::

:::WorkflowBlockItem
In the **Connection** field, select an account to connect or create a new connection using OAuth or API keys.&#x20;
:::

:::WorkflowBlockItem
From the **Folder&#x20;**&#x64;ropdown, select the folder in which the scenarios are saved.

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/zlir3NkwNcv7pfCU6rW81-20260617-112335.png)
:::

:::WorkflowBlockItem
Click **Save**.
:::
::::

When run, this module outputs a bundle that shows the old and new module names and whether updates are needed.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/E03OBcoCikU-qf67s3i_L_image.png" size="100" isUploading="false" width="1920" height="998" darkWidth="1920" darkHeight="998" showCaption="false" indent="1"}

### Step 2: Add a router  to route the scenarios for migration.&#x20;

In this step, you will add a router to route the scenarios that need manual updates and those that can be overwritten.

::::WorkflowBlock
:::WorkflowBlockItem
In your scenario builder, click the + sign after&#x20;**&#x20;Module Migrator > Search** scenarios module.
:::

:::WorkflowBlockItem
From the list of modules, add &#x61;**&#x20;Router**.



![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/zJvTWCkNg-TZnNwF7b_te_image.png)
:::
::::

### Step 3: (Safe recreation) Set up the Module Migrator > Migrate outdated modules module if manual steps are needed

In this method you can create a new copy of the scenario in a designated folder and leave the original untouched. Set up the **Module Migrator&#x20;**>**&#x20;Migrate outdated modules** if manual steps are needed for migration.&#x20;

::::WorkflowBlock
:::WorkflowBlockItem
To one end of the router, add a **Module Migrator&#x20;**>**&#x20;Migrate outdated modules** module. Follow the next steps to configure it as shown in the image below.

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/6_SDBj42CU5fLJz49YzUk_image.png)
:::

:::WorkflowBlockItem
In the **Connection** field, select an account to connect or create a new connection using OAuth or API keys.&#x20;
:::

:::WorkflowBlockItem
In the **Scenario ID** field, map the `Scenario ID` from th&#x65;**&#x20;Module Migrator&#x20;**>**&#x20;Search** scenarios module.
:::

:::WorkflowBlockItem
From the **Migration mode** dropdown, select **Create a new scenario**.&#x20;
:::

:::WorkflowBlockItem
From the **Folder&#x20;**&#x64;ropdown, select the folder.
:::

:::WorkflowBlockItem
In the **Deprecated connection type** field, select the type of deprecated connection.&#x20;

For example: Pipedrive API Key
:::

:::WorkflowBlockItem
In the **Deprecated connection** field, select the name of the connection.

For example: My Pipedrive API Key connection
:::

:::WorkflowBlockItem
In the **New connection** field, select the new type of connection.&#x20;

For example: My Pipedrive OAuth connection
:::

:::WorkflowBlockItem
Click **Save**.
:::
::::

### Step 4: (Direct update) Set up the Module Migrator > Migrate outdated modules module if manual steps are not needed

In this method, the system overwrites the existing scenario with the updated module versions. This type of migration is best suited for rapid batch processing of low-risk scenarios.&#x20;

::::WorkflowBlock
:::WorkflowBlockItem
To the second end of the router, add another **Module Migrator&#x20;**>**&#x20;Migrate outdated modules** module. Follow the next steps to configure it as shown in the image below.



![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/Vgd4RT0ii7vckD0Kn5RAE_image.png)
:::

:::WorkflowBlockItem
In the **Connection** field, select an account to connect or create a new connection using OAuth or API keys.&#x20;
:::

:::WorkflowBlockItem
In the **Scenario ID** field, map the `Scenario ID` from th&#x65;**&#x20;Module Migrator&#x20;**>**&#x20;Search** scenarios module.
:::

:::WorkflowBlockItem
From the **Migration mode** dropdown, select **Update original scenario**.&#x20;
:::

:::WorkflowBlockItem
In the **Deprecated connection type** field, select the type of deprecated connection.&#x20;

For example: Pipedrive API Key
:::

:::WorkflowBlockItem
In the **Deprecated connection** field, select the name of the connection.

For example: My Pipedrive API Key connection
:::

:::WorkflowBlockItem
In the **New connection** field, select the new type of connection.&#x20;

For example: My Pipedrive OAuth connection
:::

:::WorkflowBlockItem
Click **Save**.
:::
::::

### Step 5: Set up filters&#x20;

You can set up two filters - one filter to catch scenarios that require human intervention, the other to to automatically handle updates without manual review.&#x20;

::::WorkflowBlock
:::WorkflowBlockItem
To the first route, right-click and add a filter.&#x20;
:::

:::WorkflowBlockItem
In the **Label&#x20;**&#x66;ield, type *Create.*
:::

:::WorkflowBlockItem
Select **No** in the **Set the route as a fallback. A fallback route is a backup route that is used if the source data didn't go through any other route. One router can have only one fallback route** field.
:::

:::WorkflowBlockItem
In the **Condition** field, map `Requires manual review`= `true`.
:::

:::WorkflowBlockItem
To the second route, right-click and add a filter.&#x20;
:::

:::WorkflowBlockItem
In the **Label&#x20;**&#x66;ield, type *Auto.*
:::

:::WorkflowBlockItem
Select **Yes&#x20;**&#x69;n the **Set the route as a fallback. A fallback route is a backup route that is used if the source data didn't go through any other route. One router can have only one fallback route** field.
:::

:::WorkflowBlockItem
Leave all other attributes to their default values.
:::

:::WorkflowBlockItem
Click **Save**.
:::
::::

### Step 6: Run the scenario

::::WorkflowBlock
:::WorkflowBlockItem
Click **Save&#x20;**&#x74;o save the scenario.
:::

:::WorkflowBlockItem
Click **Run once**.
:::
::::

When you run the scenario, you should see the following results:

- If your scenario requires additional manual steps, it goes through the first filter - **Create**. Once the **Migrate outdated modules** module is executed, a warning bundle is returned stating that **All modules were migrated, but some module settings need to be updated. To finish migrating, follow the instructions in the 'Review instructions' section below.&#x20;**

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/T32MHbnU1zl-ToColwU3T_image.png" size="100" isUploading="false" width="1920" height="991" darkWidth="1920" darkHeight="991" showCaption="false" indent="1"}

- The output bundle tells exactly which module in your scenario is impacted and instructions to complete the required updates.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/KnO6O2qAEKsX1HMt4zXgG-20260424-055815.png" size="100" width="1920" height="993" position="center" darkWidth="1920" darkHeight="993" showCaption="false" indent="2"}

- A new duplicate scenario with the suffix \[Migrated] is added to your selected folder from Step 3.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/J32rC7Gz7KEB8L-TJIvcm_image.png" size="100" isUploading="false" width="1920" height="994" darkWidth="1920" darkHeight="994" showCaption="false" indent="1"}

- If manual steps were not needed, the scenarios go through the second route. This path automatically handles all scenarios that were simple enough to be updated without manual review.

## FAQs

The behavior of the Module Migrator depends on the **Migration Mode** you select. Please refer to the relevant section below.

## Mode: Create new scenario

Use this mode to create a fresh copy of your scenario without affecting the original.

### 1. Are Webhooks carried over in this mode?

**No.** If your scenario starts with a Webhook, the Module Migrator will remove the connection during migration. You will need to manually reconnect or create a new Webhook in the generated scenario.

### 2. Does the Migrator automatically create a new webhook?

**No.** The Module Migrator does not automatically generate new webhook during the migration process.

### 3. Is the "Increment" value preserved?

**No.** In this mode, the Module Migrator resets the Increment module value, and it will restart from **1**.

### 4. How can I prevent the Increment value from resetting?

1. Run the migration using **Create new scenario** mode.
2. Manually complete any remaining configuration in the new scenario.
3. Test the scenario to ensure the logic is functioning correctly.
4. **Export the Blueprint** of this new scenario.
5. **Import the Blueprint** back into your original scenario to overwrite the logic while retaining the original module states.

## Mode: Update Original Scenario

Use this mode to apply updates directly to an existing workflow.

### 1. Are webhooks preserved in this mode?

Yes. Because you are updating an existing scenario, the original webhooks remain intact and active.

### 2. Is the "Increment" value preserved?

Yes. The current state and history of your Increment modules are maintained.

### 3. Will this mode affect other manual settings?

Generally, no. This mode updates the module mapping and logic you have selected in modules.&#x20;
