G Suite (Gmail API) to Office 365 Migration Guide

This is the complete onboarding task flow for migrating folders and documents from from G Suite to Office 365 via the Gmail API endpoint. 

This migration guide contains the necessary steps to perform the actual migration, but there are many steps to preparing for 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. If you have never performed a migration before, we suggest reading that before beginning the steps outlined in this scenario.

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.

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.

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

Migrated Items

Office 365


  • Inbox
  • Folders
  • Email
  • Contacts
  • Calendars
  • Tasks
  • Journals
  • Notes
  • Server-Side Rules
  • Folder Permissions
  • Post (when the destination is Exchange or Office 365)
  • Calendar acceptance status emails

Not Migrated

  • Safe Sender/Block Lists


Not Migrated

  • Notebooks


Not Migrated

  • Data


Office 365 Archive


  • Folders
  • Email
  • Contacts
  • Calendars
  • Tasks
  • Journals
  • Notes
  • Server-Side Rules
  • Folder Permissions
  • BCC Recipients

Step 1: Source & Destination Preparation

Prepare the Source Environment

The G Suite (Gmail API) source endpoint requires your tenant service account to be set up and Google APIs to be enabled.


  • Subscription to Google Cloud Platform.

  • Google Super Administrator account.

  • Ability to set up a service account on the G Suite tenant.

  • Service account must be set up before the MigrationWiz project is created.

 1: Create a Google Project

  1. Go to the Google Cloud Platform (GCP) Console and sign in as a super administrator. Choose one of the options below:

    • If you haven't used the Google Cloud Platform Console before, agree to the Terms of Service and click Create Project.

    • If you have used Google Cloud Platform Console before, at the top of the screen next to your most recent project name, click Down to open your projects list. Then, click New Project.

  2. Enter a project name and click Create.

  3. When the new project creation completes, at the top of the screen next to current project name, click Down icon and select the newly created project name from the list.

 2: Enable APIs for Service Account

  1. From the Google Cloud Platform Console, click Menu > APIs & Services > Library.

  2. Enable the following APIs by selecting the specific API and clicking Enable.
    Repeat for each API listed below:

    • Google Calendar API

    • Gmail API

    • Contacts API

    • Admin SDK

Make sure that the respective services are enabled within the Google tenant. You can control services for your users using the instructions on this page: Control who can access G Suite and Google Services.


 3: Create Customer Tenant Service Account

  1. From the Google Cloud Platform Console, click Menu > IAM & Admin > Service accounts.

  2. Click + Create Service Account at the top middle of the screen and enter a name.

  3. Click Create.

  4. Assign the role of Owner to the new Service Account by selecting Owner from the Role drop down menu.

  5. Click Continue to move to the next step, then click the Done button.

  6. You will now be returned to the "Service Accounts" page. 
  7. On ‘Service accounts' page, click vertical ellipsis under 'Actions’ column for the service account created above.
  8. Click Create key.

  9. Make sure that JSON is selected as "Key Type."
  10. Click Create.

  11. Click Close.

Make sure that you download the key as a JSON file and make a note of the name and location of the file. This JSON file will be used when setting up the migration endpoint in the Mailbox Migration project.

The JSON file must contain information in the following fields: “type”, “private key”, and “client email”. If these mandatory fields are empty the file upload during endpoint creation will fail.


4: Setting the Scopes for the Migration

From the Google Cloud Platform Console:

    1. Click Menu
    2. Click IAM & Admin
    3. Click Service Accounts
    4. Find the service account that was set up in Step 3: Create Customer Tenant Account.
    5. Find and copy the service accounts Unique ID number. This is the Client ID number that will be used in a later step.
      • This field often needs to be added to the view. Click on the Column display options button and add a checkmark to Unique ID, then click OK.
      • This Client ID should be considered similar to Administrator account passwords and handled securely.
    6. You will now have one of two options, depending on if the Google UI has been updated in your tenant. 
    Classic Google UI New Google UI
    1. Go to the G Suite admin page at google.com
    2. Click on Security
    3. Click on Advanced Settings
    4. Click Manage API Client Access.

     Once these steps are complete:

    1. In the Client ID field, paste the Unique ID copied above.
    2. In the OAuth scopes (comma-delimited) field, paste all scopes listed below:
      1. For source endpoint :

        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/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

    3. Click Authorize.

     You should now see your specific Unique ID and the associate scopes listed.


Prepare the Destination Environment

  1. Set up user accounts on the destination Office 365 tenant and assign licenses. These can be created in several ways. We have a few options listed below:

  2. Create an administrator account in Office 365 to be used for migration or use the global admin account for the tenant. The minimal service account requirements are full access rights to the mailbox and impersonation rights. We recommend using impersonation over delegation because it is Exchange Online.

  3. Test Mailbox Access

    ​See the section below that refers to the specific software you are using.

    In addition to all the specific steps detailed below, Microsoft provide a very useful tool too: Microsoft Remote Connectivity Tool.

    ​Microsoft Office 365:

    To test mailbox access on Microsoft Office 365, perform the following:

    1. Open the browser to https://portal.microsoftonline.com​.
    2. When prompted for credentials, enter the user name and password of the account to be used to access the mailbox.
      • This can be either the credentials of the end user mailbox itself or administrative credentials.
      • To migrate using administrative credentials, enter administrative credentials into OWA.
      • The result is a successful login to the Office 365 portal.
    3. Click on the Outlook link at the top right of the page.
      • The Inbox should be visible.
    4. If using administrative​​e credentials, change the URL so that it looks like the following https://mail.office365.com/owa/user@example.com
      • Only change the portion of the URL after the OWA virtual directory by replacing it with the primary SMTP address of the mailbox.
      • user@example.com is the primary SMTP address of the mailbox being accessed.
      • The Inbox of the mailbox user@example.com should be visible​​​.

        Test that the administrator can access user mailboxes. Test access to the tenantname.onmicrosoft.com addresses, not to the domainname.com addresses. Make sure that the tenantname.onmicrosoft.com account is attached to each mailbox in Office 365. By default, it should be attached, but if not, it will need to be added as an alias to each account. This can be done through the Office 365 admin portal or via PowerShell scripts. Learn how to test mailbox access:

Create a Mailbox Migration Project

  1. From MigrationWiz dashboard, click Go To My Projects.

  2. Click Create Project

  3. Select a Mailbox migration type. 

  4. Click Next Step.

  5. Enter a project name and select a Customer from the list.

    • If the customer hasn’t already been created, you can do so here.

    • To create a new customer, click New, provide required details including primary email domain and company name, and click Save.

  6. Click Next Step.

  7. Select G Suite (Gmail API) endpoint from the source drop-down menu.

    • If an endpoint has not been created, click New.

      1. Enter a name in the Endpoint Name field.

      2. Select G Suite (Gmail API) from the Endpoint Type drop-down menu.

      3. Upload the JSON file for your service account setup.

      4. Provide a valid administrator email address for G Suite account which matches the end user domain.

  8. Select the Office 365 destination endpoint from the destination drop-down menu.

    • If an endpoint has not been created, click New.

      1. Enter a name in the Endpoint Name field.

      2. Select Office 365 from the Endpoint Type drop-down menu.

      3. Select Provide Credentials or Do Not Provide Credentials as needed.

        • If you select Provide Credentials, the form expands to present more fields for username and password. The credentials will be used by MigrationWiz to access the service selected. In most cases, you must provide credentials for an administrator account on those services, as this will enable MigrationWiz to have full access to the cloud service.

        • If you select Do Not Provide Credentials, then MigrationWiz will request credentials from end users before a migration can be started. This may slow your migration, as you are now dependent on the end users to provide these credentials.

  9. Click Save, Go to Summary and then Save Project.

Add Items

Add the accounts (also referred to as "items") that will be migrated to the project. There are several ways to do this. 

Quick Add
This option allows you to add items one at a time. You have to enter an email address, login name, and password for each user if you didn't enter administrative credentials when setting up the project. You only have to provide an email address if you entered administrative credentials when setting up the project.
Bulk Add

MigrationWiz allows you to bulk import mailboxes into the system.

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 on Bulk Add.
  5. Follow the instructions on the page.

The Autodiscover process within MigrationWiz can be used to discover items from the Source environment, so that they can be imported into your projects.

There are few requirements in order for this to work:

  • The Source has to be Exchange 2007 or later, or Office 365, or G Suite. If you are using Autodiscover from G Suite, all G Suite domains must be added to the list of domains in the Endpoint.
  • The endpoint on the Source needs to use admin credentials.
  • For mailbox migration projects, the admin account that is specified within the Source endpoint needs to have a mailbox associated with it.
  • The admin mailbox must be listed in the public Global Address List (GAL).
  • The migration project type needs to be a Mailbox migration. For the exact steps to be followed during your migration, refer to the relevant Migration Guide. All Migration Guides can be found on the Help Center site.

One additional item to note here is that there is not a way to restrict the IP addresses that the connection will come from.  This means that the steps outlined in our IP Lockdown guide will not apply here.  If your environment requires that any IP addresses be whitelisted, it is recommended that items be added to your project using on of the other available options.

Autodiscover of items will not work while using Modern Authentication

Autodiscovery exposes the following items:

  • For mailbox migration, autodiscovery will list all mailboxes at the Source.

Steps to Run Autodiscover

  1. Navigate to the project you want to import users into.

  2. Ensure that you have created an endpoint for the source project.

  3. Once in the project, on the top navigation bar, click on the Add drop-down, then select Autodiscover Items. This will begin the Autodiscover process.

  4. Once discovered, click on the Import button, to import the items into your MigrationWiz project.

Purchase and Apply UMB Licenses

Licenses are required to run a migration project in MigrationWiz. To obtain license pricing information, or to purchase licenses, click the Purchase button in the top of your MSPComplete or MigrationWiz dashboard.

Payment: We accept credit cards, and wire transfer in certain situations.  

  • When purchasing with a credit card, payment is immediately processed during checkout. If successful, licenses are granted to your account instantly.

  • Wire transfers are available for purchases of 100 or more licenses. If you are purchasing at least 100 licenses, you will be presented an option to purchase via wire transfer during checkout. A wire transfer checkout will generate an invoice with wiring information for your accounts payable department and bank. Once the funds are received by our system, the licenses are granted to your account immediately. 

For this project type it is recommended to use our User Migration Bundle licenses. 

  • This license enables you to migrate the user's mailbox, documents and archive data.

  • Further information on User Migration Bundle Licenses:

    • User Migration Bundle Licenses have unlimited data available per license.

    • User Migration Bundle Licenses are applied to the customer's users, for whom you'll be performing migrations, and are valid for one year.

    • Read the Apply User Migration Bundle Licenses to the Customer's Users article for more information about how to apply the licenses to Users for migrations.

Set Advanced Options

Set the Project Advanced Options. These are customization options which help MigrationWiz perform within specific environments. 

Migrating Gmail Labels

Two Advanced options are available to handle migration of Gmail labels to destination:

  1. Convert Labels to Folders: with this option, user labels from source are converted to folders at destination and mails are duplicated in each of its corresponding folders at destination.

  2. Convert Labels to Exchange Categories: with this option, a single copy of all source mail will by migrated a custom destination folder titled All Mail. All labels from the source are converted to Exchange categories and marked on each item at the destination. 

For steps and instructions, see:
Converting and Migrating Gmail Labels

Google does not have a folder hierarchy for email, but rather a virtual view called Google Labels. Google Labels cannot be translated properly to other messaging systems. Even Google itself does not represent present Labels consistently. Messages are stored as a single instance within the Google mail store, but shown when enumerating multiple labels within the web interface. When an IMAP client such as Outlook or your mobile device is connected to Google, the Labels are presented as folders and downloaded multiple times, taking up additional storage.

When migrating from Google, there are several choices to convert labels to the new messaging environment. There are pros and cons in each approach, and it is important to understand the implications in order to make an informative decision. The options are: 1) convert Labels to folders or 2) convert Labels to Exchange categories.

Convert Labels to Folders:

The first and most popular approach is to convert Labels to folders. What this means is that the organization and views will be similar to what is already experienced in Google today. The downside is that the mailbox size will increase because the messages are stored in each corresponding folder. There is no concept of single storage for each item when multiplied across folders.


  • Similar view and structure as Google.
  • Consistent experience across web access, desktop client (i.e., Outlook), and mobile device.
  • Only archived items are migrated into the All Mail folder.


Note: If a Label contains a "/" ​​MigrationWiz will create subfolders. For example, for a Label called aaa/bbb/ccc at the Source, MigrationWiz will create a folder aaa, then a folder bbb within aaa, and then a folder ccc within bbb. Also, while the migration is in progress, the user must not rename any of those folders.


Convert Labels to Exchange Categories

This method will migrate the Google All Mail Label only. The All Mail Label contains all messages within the Google mailbox and results in only one copy of each message being migrated, thus the mailbox size is similar to that of your Google mailbox. 


  • Single copy all messages are migrated, thus no inflation of mailbox size.
  • Labels are converted to Exchange categories and marked on each item.
  • End Users can create virtual views in Exchange with search folders based on categories.


Note: When selecting this option, you must ensure the All Mail Label is not being filtered.

Selecting one of the options:

The first option (convert Labels to folders) is the default. If this is chosen, no additional configuration is needed. If the second option (convert Labels to categories) is chosen:

  1. Sign in to the MigrationWiz account.
  2. Edit the Project.
  3. Click on Advanced Options .
  4. Select the desired Gmail all mail folder option​.


Migrating Suggested Contacts (Other Contacts)

There are two recommended options, outlined for migrating suggested contacts.

Migrating G Suite Suggested Contacts to Exchange

Suggested contacts are placeholder contacts that Gmail creates automatically, based on the email addresses you send email to and receive email from. Creating these contacts enables recipient auto-completion when you compose new email. By default, MigrationWiz does not migrate suggested contacts. However, if desired you can update your project's Advanced Options in order to migrate these items.

To enable migration of suggested contacts:

  1. Sign in to your MigrationWiz account and navigate to your project.
  2. In the menu at the top of the screen, click Edit Project.
  3. Click Advanced Options.
  4. Under Contact Handling, click Migrate Suggested Contacts.
  5. Click Save Options.
  1. Migrate Suggested Contacts (Other Contacts): Contacts appearing under ‘Other contacts’ label in google contacts will be migrated to destination folder 'Suggested contacts'. These will not appear under primary My Contacts.

  2. Skip Suggested Contacts (Other Contacts): Contacts appearing under ‘Other contacts’ label are not migrated.

Migrate Chats

Chats, by default, won’t be migrated with MigrationWiz. In order to migrate chats from Gmail to Office 365, you’ll need to add a support option into the advanced options.

  1. Select Edit Project, then Advanced Options.

  2. Under Support/Support Options add: MigrateChats=1

5: Run Migration

Perform the migration, using one of the following strategies. More information on each strategy is included in the Migration Planning and Strategy Guide linked in the beginning of this guide. 

  • Full Migration strategy. For small migration projects that are less than 50 users, we recommend a Full Migration strategy. This is a single, full-pass migration, and requires licenses. This migration selection will migrate all identified and supported items.  
  • Pre-Stage Migration Strategy: This strategy includes a Pre-Stage pass and a Full (Delta) pass. This migration selection will migrate all identified and supported items before the selected date. This migration option requires a license of the appropriate type.

Additional Migration Types

  • Trial - Free migration pass. This migration selection is used to test the migration server.  It will migrate up to 10 items per folder or up to 5 MB of data per mailbox. A full migration with a license will pick up where the trial left off. 
  • Verify Credentials - Free migration pass. This migration selection will test to make sure that the credentials being used for migration are correct and will allow a successful connection. No data is migrated.
  • Retry Errors - Free migration pass. Once a Full or Pre-Stage migration has completed successfully, Retry Errors can be run to retry only failed items.

For large migration projects that are more than 50 users, we recommend a Pre-Stage Migration strategy. This is a multiple-pass migration.

Important: Recent changes to the Dropbox APIs prevent us from adding watermarks on files in the Destination Dropbox accounts. Therefore, if you perform a partial migration, reset the items in MigrationWiz, and then perform the migration again, you will end up with duplicate files at the Destination. If you must rerun the migration, we recommend that you first delete all files already migrated to the destination Dropbox accounts.


Once you have chosen your migration strategy: 

  1. Click on the name of the Project you want to run.
  2. Select one or more items to migrate by checking the box next to the item name. If you want to select all the items, click the checkbox to the left of Source Email.
  3. Click on the Start button and select the type of migration to run.
  4. If you want to delay your migration, then select the checkbox marked "Automatically start the migration at", and enter the date and time to have the migration start. To start a migration immediately, you do not need to select the scheduling option.
  5. Click Start Migration.

Request Statistics

Click the pie chart icon in the MigrationWiz dashboard to receive an email containing all the project migration statistics. 

Post-Migration Steps

Click the bar chart icon in the MigrationWiz dashboard to receive an email containing all the project migration statistics.

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