Articles on: Microsoft 365

How to Migrate Google Workspace (GMail) to Microsoft 365

Articles on: Microsoft 365

How to Migrate Google Workspace (GMail) to Microsoft 365

**Start a Google Workspace migration batch with the new Exchange admin center (New EAC)**


Microsoft's data migration tool is currently unaware of tools enforcing messaging records management (MRM) or archival policies. Because of this, any messages that are deleted or moved to archive by these policies will result in the migration process flagging these items as "missing". The result is perceived data loss rather than actual data loss, which makes it much harder to identify actual data loss during any content verification checks.

Therefore, Microsoft strongly recommends disabling all MRM and archival policies before attempting any data migration to mailboxes.

In the new Exchange Admin center at, go to Migration and then click Add migration batch.

The migration batch wizard opens. On the first page, configure the following settings:

o    Give migration batch a unique name: Enter a unique name.

o    Select the mailbox migration path: Verify that Migration to Exchange Online is selected.

When you're finished, click Next.

On the Select the migration type page, select Google Workspace (Gmail) migration, and then click Next

On the Prerequisites for Google Workspace migration page, expand the Manually configure your Google Workspace for migration. As described in the section, configure the following steps:

o    Create a Google Service Account

o    Enable API Usage in your project

o    Grant access to the service account for your Google tenant

When you're finished, click Next.

On the Set a migration endpoint page of the wizard, select one of the following options:

o    Select the migration endpoint: Select the existing migration endpoint from the drop down list.

o    Create a new migration endpoint: Select this option if you're a first-time user.


To migrate Gmail mailboxes successfully, Microsoft 365 or Office 365 needs to connect and communicate with Gmail. To do this, Microsoft 365 or Office 365 uses a migration endpoint. Migration endpoint is a technical term that describes the settings that are used to create the connection so you can migrate the mailboxes.

If you selected Create a new migration endpoint, do the following steps:

o    On the General Information page, configure the following settings:

Migration Endpoint Name: Enter a value.

Maximum concurrent migrations: Leave the default value 20 or change the value as required.

Maximum concurrent incremental syncs: Leave the default value 10 or change the value as required.

When you're finished, click Next.

o    On the Gmail migration configuration page, configure the following settings:

Email address: Enter the email address that you use to sign in to the Google Workspace.

JSON key: Click Import JSON. In the dialog that appears, find and select the downloaded JSON file, and then click Open.

Once the endpoint is successfully created, it will be listed under Select migration endpoint drop-down.

Select the endpoint from the drop-down list, and click Next.

On the Add user mailboxes page, click Import CSV file and navigate to the folder where you have saved the CSV file.

If you haven't already, create a CSV file containing the set of all of the users you want to migrate. You will need its filename below. The allowed headers are:

o    EmailAddress (required): Contains the primary email address for an existing Microsoft 365 or Office 365 mailbox.

o    Username (optional). Contains the Gmail primary email address, if it differs from EmailAddress.



When you're finished, click Next.

On the Move configuration page, enter the details and then click Next.

On the Schedule batch migration page, verify all the details, click Save, and then click Done.

Once the batch status changes from Syncing to Synced, you need to complete the batch.

To learn more, see the following topics:

Completion of migration batch: See Completion of migration batch in new EAC.

How the migration happens on the backend: See Overview of the proces

**Perform Google Workspace Migration to Microsoft 365 or Office 365 in Classic EAC in Exchange Online**

The migration process takes several steps and can take from several hours to a couple of days depending on the amount of data you are migrating.


Before you begin Google Workspace migration:

Ensure you are signed into Google Workspace as a project creator.

You have completed the following procedures:

Create a subdomain for mail routing to Microsoft 365 or Office 365

Create a subdomain for mail routing to your Google Workspace domain

3.      Provision users in Microsoft 365 or Office 365

**Manual Google Workspace migration process**

Manually configuring G-Suite for migration to Microsoft 365 or Office 365



2 minutes to read

Following procedures are to be performed, if you are attempting manual migration of Google Workspace with either Classic or New EAC:

Create a Google Service Account

Enable API usage in your project

Grant access to the service account for your Google Tenant

(**Create a Google Service Account**

1.    Using a Chrome browser, sign into your Google Workspace admin console at

In a new tab or window, navigate to the Service Accounts page.

Select Create project, name the project and choose Create.

Select + Create service account, enter a name, choose Create and then Done.

Open the Actions menu, select Edit, and take note of the Unique ID. You'll need this ID later in the process.

Open the Show domain-wide delegation section.

Select Enable G Suite Domain-wide Delegation, enter a product name for the consent screen, and choose Save.


The product name is not used by the migration process, but is needed to save in the dialog.

Open the Actions menu again and select Create key.

Choose JSON, then Create. The private key is saved to the download folder on your device.

Select Close.

Enable API usage in your project

If your project doesn't already have all of the required APIs enabled, you must enable them.

Go to the Developer page for API Library and sign in as the Google user you used above in Create a Google Service Account.

Select the project that you used above.

Search for the following APIs; each one must be enabled. Select Enable to enable them for your project:

o    Gmail API

o    Google Calendar API

o    Contacts API

o    People API

Grant access to the service account for your Google tenant

Go to the Google Workspace Admin page and sign in as Google Workspace admin for your tenant.

Click Security, then click API Controls, and then click Manage Domain Wide Delegation.

Next to the API Clients list, click Add new.

In Client ID, type the Client Id for the service account you created in the Create a Google Service Account section above.

In OAuth Scopes, add the required scopes in comma-separated format, with no spaces in between. For example:,,,,

If the OAuth Scopes are entered incorrectly, the resulting list won't match and the migration process will fail later, after you start the migration batch.

Click Authorize. Verify that the resulting list shows the expected four (4) OAuth scopes.


It may take anywhere from 15 minutes to 24 hours for these settings to propagate.

Updated on: 31/01/2023

Updated on: 01/07/2024

Was this article helpful?

Share your feedback


Thank you!