Staged migration

This article describes how to use CodeTwo Office 365 Migration to migrate all your data in two stages. Use the links below to learn more about:

Characteristic features of the staged migration

This migration type assumes that mailboxes and other user-related data are migrated in two (or more, if necessary) stages. It is recommended for medium-sized and larger enterprises, where the volume of data is too high to be migrated overnight or over the weekend, as in the case of cutover migration. The staged migration is a perfect solution for companies that are operating 24/7 and cannot afford a longer maintenance break in their operation. The migration process is often divided into two stages, based on a specific date:

  • in the first stage, you only migrate data that is either older or newer than a specific date. After the migration is completed, the domain is transferred to the target server and/or the MX records are updated.
  • in the second stage, you migrate the remaining data.

In most cases, the newest data (e.g. from the last 2 weeks or month) is migrated first, during the weekend or outside the company’s working hours. This is followed by the domain switch and/or the MX records change. Once the users begin working in the new environment, they have only the newest data available, while the remaining data is being migrated in the meantime.

How to perform the staged migration in CodeTwo Office 365 Migration


Keep in mind that some steps described below may differ in the case of using a CSV file with matched source and target mailboxes to perform a migration (e.g. from a hosted Exchange server). Instructions on how to configure a migration job for this scenario can be found here.

First stage of the migration

  1. On the Dashboard tab, click Create a new migration job. Select whether you want to migrate from the source Exchange on-premises, Office 365, or IMAP server.
  2. Enter a friendly name for the migration job that is unique.
  3. In the Mailbox types step, select if you want to migrate primary mailboxes, archive mailboxes or both.
  4. In the Source mailboxes step, expand the Source server drop-down list and click Add new source connection. Configure the connection according to the source server of your choice:

    In case you have configured a source server connection earlier, you can just select it from the aforesaid drop-down menu.


    When you’re migrating from an IMAP server, you will not be able to continue the migration job at all once you change the domain on your source server.

  5. 5a. If you have selected Exchange on-premises / Office 365 as your source server, you need to specify mailboxes you want to migrate. Leave the default settings to migrate all data, including public folders.
  6. 5b. If your source mailboxes are stored on an IMAP server, create a CSV file containing the information about all mailboxes you want to migrate.
  7. In the next step, Target mailboxes, either select an existing target server connection or click Add new target connection in the Target server drop-down list. Learn more about configuring a new target server connection here. When done, proceed to the next step.
  8. You now need to match the source mailboxes with their counterparts on the target server. Click Match mailboxes to open the Match Mailboxes window. If you want the program to do the matching for you (on the basis of Active Directory attributes), click Automatch > Automatch all mailboxes or use Ctrl or Shift to select, respectively, one mailbox at a time or multiple rows and click Automatch > Automatch selected mailboxes. You can also match the mailboxes manually, or change the matching parameters and try the automatching feature one more time. If you need to create mailbox-enabled users on your target server first, you can also do that in the program. When the matching process is completed, remember to click Save in order to apply your changes. The Match mailboxes window can now be closed.
  9. The Scheduler step is optional. If you want to start the migration manually, and leave it until finished, simply go to the next step. If you prefer the program to run the migration only during certain hours or days, click the Enable scheduler checkbox and adjust the settings to your needs.
  10. Now, you need to configure the time filter accordingly.
    1. If you want to migrate most of the data in the first stage of the migration, choose the Migrate only items older than option, and select the appropriate date from the date picker (preferably 1-2 months before today’s date). Keep in mind that the items from that exact date will NOT be migrated.
    2. If you want to move to Office 365 as soon as possible, you should migrate only the newest data in the first stage. To do so, choose the Migrate only items not older than option, and select the date that will provide you with enough data to work with (preferably from the last month or 2 weeks). Items created or modified on that date will also be migrated.
  11. In the Folder filter stage, you can specify which items you want to migrate. If you decide to exclude some folders from the first stage of migration, make sure that you include them, if necessary, in the second stage. Learn more about the folder filter.
  12. You can leave the default values provided in the Advanced settings step or adjust them to your needs accordingly.
  13. The Job summary step provides you with an overview of all your settings. If everything is OK, click Finish.

The migration job will start automatically if you have enabled the scheduler. Otherwise, go to the Jobs tab, select your migration job and click Start on the menu to start it manually.

Second stage of the migration

Once the first migration stage is completed, you need to transfer the domain (if applicable) to the target server and modify the MX records. Allow the changes to propagate, and then configure the migration job for the second stage, following the steps below:

  1. Reconfigure the source and/or target connections if you have changed the domain in either of them.
  2. Go to the Jobs tab and select your migration job.
  3. Select all mailboxes (press Ctrl+A), and click Refresh email addresses on the menu. If you encounter any problems, refer to this article for more information.


    The refresh functionality is not available when you’re migrating from an IMAP server.

Now, the remaining steps depend on the scenario you have chosen in step 9 above (A or B).


  1. 4a. Once the refresh is completed, click Edit on the menu.
  2. 5a. Go to the Time filter step and remove the filter, i.e. select Migrate all items regardless of their age.
  3. 6b. Optionally, if you have excluded any items in the Folder filter step during the first stage of the migration, you can now allow them to be migrated.
  4. 7a. Click Finish to save changes and close the migration wizard.
  5. 8a. Back on Jobs tab, click Run delta migration. This will migrate remaining data, as well as any new items that might have appeared on your source server during the MX records update.

Once the program has finished migrating all your data, you can remove the migration job from the program (click Delete on the Jobs tab).


  1. 4b. Click Run delta migration from the menu. The program will scan the source server for any new elements that could have been sent there during the MX records update. These items will be migrated to the target server.
  2. 5b. Click Edit and go to the Time filter step.
  3. 6b. This time select the Migrate only items older than option. Remember to specify the same date as in point 8-B above.
  4. 7b. Optionally, if you have excluded any items in the Folder filter step during the first stage of the migration, you can now allow them to be migrated.
  5. 8b. Additionally, you can also (re)configure the scheduler if, for example, you want the program to migrate the remaining data only outside the company’s operating hours.
  6. 9b. Click Finish.


If after the migration Outlook doesn't connect to the new Office 365 tenant, you also need to create a new Outlook profile and set it as the default one for each mailbox user. You can achieve these two goals in an automated way by using a GPO (see this article) or Microsoft Intune (see this article).

Once again, either click Start to start the migration job manually or leave it to the scheduler to start the job automatically during the specified time periods.

Cases for using the staged migration

  1. Quick transition
  2. Combining data mailboxes after the merger
  3. Slow internet connection

Quick transition

A company works 24/7. Since it operates on a legacy Exchange Server version, it has been decided to move all mailboxes to Exchange Online as soon as possible. However, there are tons of data to be migrated. The priority is to reduce the company's downtime to a minimum. The best solution would be to first migrate everything from the last 2 months so that the employees could have enough data to work with. This is done during the first migration stage. After this stage is finished, the MX records need to be updated to change the mail flow to a new server. The second migration stage, in which the remaining data is migrated, can begin immediately. All the users will have access to their older data after some time.

Merging two companies into a new one

Two companies are planning a merger that will take place sometime in the future. Since they are using old versions of Exchange Server, these companies plan to migrate the data belonging to both of them to Office 365. Both companies will still be working on their old environments during the transition period; therefore, a decision was taken to migrate most of the data now, and only the newest data shortly before switching to a new Exchange server, to guarantee a smooth migration at the time of the merger. In the first stage of the migration, the time filter will include only items older than one month, and the folder filter will exclude folder types other than emails. The migration should run 24/7, even during business hours of both companies. After this stage is finished, the second stage should take place just before the merger, e.g. over the weekend. It should be preceded by the MX records change, if necessary. This time the folder filter should include all the items that need to be migrated, and the time filter should be configured to include all the items, regardless of their age. Once finished, both companies, now combined, can work in the new environment.

Slow internet connection

Due to a bad IT infrastructure, a company plans to move to a new location as soon as possible. It has also been decided to migrate data to Office 365. Although a relatively small number of mailboxes needs to be migrated, the connection to the Internet is very slow. A cutover migration, in this case, would take too long, so it would be better to migrate all data in two stages. In the first stage, only data from the last two weeks is migrated, which is enough to allow the employees to start working in a new office, and with Office 365, as soon as possible. It is important to migrate all types of data during the first stage of migration, not only emails, and to configure the time filter appropriately. Once the first stage is completed, the MX records need to be updated before the second migration stage is implemented. During that stage, the time filter will no longer be used, and the scheduler can be configured either to allow the migration job to run all day or only when the company is closed. 

In this article

Was this information useful?