G Suite (IMAP) to Hosted Exchange Migration Guide

This migration guide will walk through the complete setup and migration process for a G Suite (IMAP) to Hosted Exchange migration. There are a number of additional tools and resources that will also be helpful for this process. These are linked throughout the migration guide. 

First migration?

If this is your first time performing a migration, we have created a Migration Planning & Strategy Guide to walk you through planning, set-up, and general migration best practices.


MigrationWiz is a migration tool, not a syncing tool. If changes are made at the source after migration, they will not sync to the destination, nor will changes made at the destination sync to the source. We do not have “live” monitoring of changes (as with a sync agent) and we cannot handle scenarios such as conflict resolution without user interaction.

MigrationWiz supports the capability to share migration projects across a Workgroup. When the Project Sharing feature is turned on, all Agents besides those who are Inactive can view all migrations projects. 

We are not able to support migrations with two-factor or multifactor authentication. 

The maximum file size for migration through MigrationWiz varies by migration type and environment, but may never exceed 60GB.

Some item types are not migrated. Click the bar below to expand the full list of what item types are and are not migrated. We are constantly working to create a better migration experience for you, so these items may change.

Consider the following limitations related to this type of migration:

  • When migrating from G Suite as a source, contacts in Contact Groups (which look like subfolders of the Contacts folder) will migrate to the top-level contacts folder on the destination. Folders will be created for each group but the contacts will not be sorted into those folders.
  • Calendars can have multiple Owners. An Owner is anyone with "Make changes and manage sharing" permissions, so shared calendars will be migrated to users with these permissions by default.
Which items are migrated?

Always Migrated

  • Inbox
  • Folders/Labels
  • Email
  • Muted Email (as regular email)
  • Contacts
  • Calendars (including links for Google Hangouts within calendar meetings)
  • Calendar Notifications 

Links for Google Hangouts are a new default feature added to Google Meetings. Microsoft 365 doesn't have the corresponding property to map. Therefore, when migrating to Microsoft 365, the links for Google Hangouts are added to the beginning of the meeting description body text on Microsoft 365.

With Google API Endpoint at Source

With this endpoint, all items listed above migrate as before. However, utilizing the API endpoint enables migration of the following items as well. The following items are not migrated via the IMAP endpoint. 

  • Google Categories (Category flags, i.e. Social, Promotions, Updates, Forums)
  • Snoozed and Scheduled emails - these are migrated like regular emails to custom destination labels. Their properties are not migrated.
Which items are not migrated?

Not Migrated in Any Instance

  • Calendar Reminders
  • Chats in Google Spaces will not be migrated in any instance
  • Google Spaces
  • Appointments
  • Chat message attachments
  • Google Groups for Business (including forums and collaborative inboxes)

Not Migrated As Source

  • Calendar Attachments.
  • Calendar Reminders.
  • Tasks.
  • Chats and chat history.
  • Google Categories (i.e., the Google category flags: Social, Promotions, Updates, Forums).
  • Email attachments that are links to Google Drive.
  • Some calendar colors.
  • Personal Folder and Calendar Permissions.
  • Mailbox Rules.
  • Automatic Replies (Out of Office Messages).


All color category meta tags are transferred over, but Microsoft 365 does not have direct color mappings from Google G Suite, and so certain colors do not get mapped over, thus the colors are not displayed in Microsoft 365 for the calendar entries.

Not Migrated As Destination

  • Calendar Attachments.
  • Exceptions of recurring appointments.
  • Google Groups for Business (including forums and collaborative inboxes).

For additional features and limitations, please visit MigrationWiz: Migrated and Not Migrated Items.

G Suite specifics

OAuth administrative credentials will not function properly with G Suite for Business Legacy free accounts, G Suite Legacy free accounts, or Google Apps Legacy free accounts. Unfortunately, migration of Google Legacy free accounts is not supported. For additional G Suite-specific details, see our Gmail/G Suite Migration FAQs article.

Important: Migrating from a G Suite/Gmail endpoint requires an administrator email address that matches the end user domain. All accounts being migrated must be in Active status in the tenant. Users that are set to a status of Inactive will not be able to fully migrate and will fail in the project.

Exchange troubleshooting and questions

Our Exchange Mailbox Migrations FAQExchange Migration Setup and Planning FAQ, and Exchange Mailbox Migration Troubleshooting guides contain a number of common questions and concerns, along with more information, guidance, and steps to resolve issues such as throttling.

Prepare the Source Environment

Grant access to G Suite Accounts

For MigrationWiz to access Google G Suite accounts for migration, authorization is needed to enable access to mailboxes on the source system.

OAuth is an authorization framework that enables applications to obtain limited access to user accounts, such as those on G Suite. OAuth delegates user authentication to the service that hosts the user account. OAuth version 2.0 enables authorization for web and desktop applications.

BitTitan migrations using the G Suite (IMAP) endpoints must enable OAuth 2.0 access to Google APIs in order to access G Suite accounts that are targeted for migration.

BitTitan products use OAuth 2.0 to authenticate to G Suite and utilize the G Suite (IMAP) endpoint in MigrationWiz for both mailbox and document migration projects. In order to obtain access to your G Suite data, it is necessary to add specifically allowed API scopes to the MigrationWiz project.

  • Enabling access is required for both G Suite mailbox and Google Drive document migration projects.
  • Mailbox migration projects require that a G Suite administrator grant access to the BitTitan client ID and scopes listed in this article.
  • Document migration projects require that a G Suite Super administrator grant access to the BitTitan client ID and scopes listed in this article and enable the API access. The steps to do this are included at the bottom of this article.

Steps in the G Suite Admin Console

Complete these steps to grant BitTitan client ID access to the appropriate scopes:

  1. Go to https://admin.google.com and authenticate as a Super Administrator.
  2. Click Security. If you do not see the security icon on your admin console home page, you do not have the necessary rights on your account to make these changes. Request Super Administrator access from the customer to implement these changes.
  3. Click Advanced settings. Google limits accessing and changing this setting to only G Suite Super Administrator accounts.
  4. You will now have one of two options, depending on whether your tenant has been updated to the new Google API or not. 
  5. Non-updated Google API Updated Google API
    • Go to the G Suite admin page at google.com
    • Click on Security
    • Click on Advanced Settings
    • Click Manage API Client Access.
  6. Click Manage domain-wide delegation.
  7. Click Add New.
  8. Enter 113321175602709078332 into the Client ID field. 
  9. Enter the following group of read-only scopes into the OAuth Scopes (comma-delimited) field, depending on whether G Suite is the Source or Destination.

    • G Suite as the Source (read-only scopes):
      https://mail.google.com/, https://www.google.com/m8/feeds, https://www.googleapis.com/auth/contacts.readonly, https://www.googleapis.com/auth/calendar.readonly, https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/admin.directory.group.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/drive, https://sites.google.com/feeds/, https://www.googleapis.com/auth/gmail.settings.sharing, https://www.googleapis.com/auth/gmail.settings.basic,https://www.googleapis.com/auth/contacts.other.readonly 
  10. Click Authorize.
  11. The client name is 113321175602709078332 (make sure there are no leading or trailing spaces, as this may cause the error "URL ends with an invalid top-level domain name."). This will grant BitTitan products access to the appropriate scopes.

More than one domain?

If you are migrating from multiple domains, repeat these steps for each domain.

IMAP folder size limits

To avoid unnecessary migration errors, it's important that the folder size limits on IMAP folders have been removed for all users. First, the administrator should confirm that all users have access to IMAP. See the Google support article Turn POP and IMAP on and off for users for those steps.

Setting folder size limits on IMAP folders is an end-user setting, and will need to be completed by each user. Once you've made sure all users have access to their IMAP settings, send each user the following directions:

  1. Click the gear icon
  2. Click on Settings
  3. Open the Forwarding and POP/IMAP tab
  4. Open Folder Size Limits
  5. Select the radio button for Do not limit the number of messages in an IMAP folder (default).

Export mailboxes

Export mailboxes to CSV file(s).

  1. From your Google Admin portal, click Users
  2. Click (3 vertical dots)
  3. Download Users
  4. Download All Users
  5. Click OK
  6. Save.

Prepare the Destination Environment

  1. Set up user accounts
  2. Ask the Hosted Exchange provider to create an admin account for migration that has full access permissions to all mailboxes.

Destination Admin Account

Providing an admin account when setting up your Destination endpoint is an important, but optional, step. Below is an example PowerShell script which will grant full access to rights to an account called MigrationWiz. Your Hosted Exchange provider will need to change the user name to match your admin account before running the script. Get-Mailbox -ResultSize Unlimited | Add-MailboxPermission -AccessRights FullAccess -User MigrationWiz If you do not provide an admin account when setting up your Destination endpoint, you will have to provide SMTP email addresses, login names, and passwords when adding Destination users to your MigrationWiz project.

MigrationWiz Steps

Create a Mailbox Migration project

  1. Click the Go to My Projects button.
  2. Click the Create Project button.
  3. Select "Mailbox Migration" as your project type. For mailbox migrations, use administrative credentials to access mailboxes​. In most migration scenarios, the admin account needs to have full access rights to the Source mailboxes. 
  4. Click Next Step.
  5. Enter a Project name and select a Customer.
  6. Click Next Step.


Endpoints are now created through MigrationWiz, rather than through MSPComplete. The steps for this section outline how to create the endpoints in MigrationWiz.

If you are selecting an existing endpoint, keep in mind that only ten endpoints will show in the drop-down. If you have more than ten, you may need to search. Endpoint search is case and character specific. For example, Cust0mer will not show up if the search is customer. We recommend keeping a list of endpoints you have created, along with any unique spellings or capitalization you may have used.

You may either use existing endpoints, or create new ones.

To create a new source endpoint:

    1. Click Endpoints
    2. Click Add Endpoint
    3. Select G Suite (IMAP). 
    4. Enter the requested credentials
    5. Click Add Endpoint. 

To create a new destination endpoint:

  1. Click Endpoints
  2. Click Add Endpoint
  3. Enter endpoint name.
  4. Click + Find My Service Provider button
  5. Click the down arrow in the Service Provider field, and select the Hosted Exchange Provider (taking care to select the correct version of Exchange that the customer is running). This will auto-populate the Outlook Web Access URL with their verified URL.
  6. Or, instead of clicking on the + Find My Service Provider button, click the Exchange Server 2003+ button and manually enter the Outlook Web Access URL.
  7. Click the Provide Credentials radio button and enter the admin account credentials. These are the credentials that you obtained from your Hosted Exchange Provider when following the steps under the "Prepare the Destination Environment" section of this guide.

Add Users

Add the user accounts that will be migrated to the project. MigrationWiz allows you to bulk import mailboxes into the system. Bulk Add uses a CSV containing the source and destination email addresses for the users to add the users to the project.

Use the Bulk Add option, and then import from the CSV file that you prepared when following the steps under the Prepare the Source section of this guide.

To import one or more mailboxes:

    1. Sign in to your MigrationWiz account.
    2. Select the Project for which you want to perform the bulk import.
    3. Click Add.
    4. Click Bulk Add.
    5. Follow the instructions on the page.

Add the accounts (also referred to as "items") that will be migrated to the project.

If the list of mailboxes and passwords from the Hosted Exchange provider is not available, request that the users send these to MigrationWiz as part of the migration process.

Advanced Options

Under Support/Support Options

  • If using impersonation, the value for Maximum concurrent migrations​, under the Performance section, can be set to a very high value, e.g.,1000. There is no limit for this value if using impersonation.​
  • If not using impersonation, we recommend that you set the Maximum concurrent migrations​ value to a low number, such as 20.
  • If this is a very large project, the best results will be achieved by setting the project to use impersonation at the Source (as documented in the Prepare Source Environment section of this guide). However, many Hosted provider will not accommodate this request. If they do, checkmark the box for Use impersonation at source. Exchange impersonation (not delegation) utilizes per-user throttling quotas, which allows for a very large number of users to be migrated concurrently.
  • Set to use impersonation at the Destination. Checkmark the Use impersonation at Destination box. 

Run Verify Credentials

  1. ​Sign in to your MigrationWiz account​.
  2. Open the Project containing items you wish to validate​.
  3. Select the items you wish to validate.
  4. Click on the Start button in your dashboard.
  5. Select Verify Credentials from the drop-down list.

Once complete, the results of the verification will be shown in the Status section.​ 

Notify Users

Notify users that a migration is occurring. Send email to all users telling them the time and date of the migration.

Run Migration

Pre-Stage pass

  1. Select the users you wish to migrate
  2. Click the Start button from the top
  3. Select Pre-Stage Migration
  4. Under the Migration Scheduling section, from the drop-down list, select 90 days ago
  5. Click Start Migration.

MX Record Cutover

Change over MX records on the DNS provider's portal.

Also, include the AutoDiscover (CName) setting.

Send email to end users to let them know what to expect for their Outlook profile reconfiguration. 

Full (Delta) pass

  1. Select the users
  2. Click the Start button from the top
  3. Select Full Migration
  4. Click Start Migration

Run Retry Errors

Look through the user list and click any red "failed migration" errors. Review the information and act accordingly.

If problems persist, contact Support.


Was this article helpful?
0 out of 0 found this helpful