How to migrate mail and contacts of G Suite customers to Office 365, without using the end-user’s password?

In this process, we will migrate the mail and contacts from G Suite to Office 365, without using the end-user password. All we need here is the Admin login details of the G Suite and the Office 365. Please follow the steps below to accomplish the same.

Create JSON file for the API Key

  • Click Create Service Account and, in service account name, give the service account a name, such as "migration-my project”.
  • Click on Create.

  • On the Service account permissions (optional) screen, click on Continue. Under Create key (optional) click on Create Key.

  • Under Key type, select JSON, and then click on Create.

Note: Keep a track of the JSON key-file that is automatically downloaded, as you will need its filename during the steps.

  • Click on the Email for the Service Account you just created to enter the details page. Alternately, you can click the dots under the Actions column and click on the Edit action. On the Service account details page, note the Unique ID.

Note: If you see an area that says Show Domain-Wide Delegation, click to expand that section. Then, enable the checkbox to Enable G Suite Domain-Wide Delegation, and then click on Save.

Enable API usage in your project

  • Go to the Developer Page for API Library and sign in as the Google user you used above in Create a Google Service Account.
  • Search for the following APIs, and then for each one, if necessary, click Enable to enable them for your project: Gmail API, Google Calendar API and Contacts API.

  • Once enabled, do the same for other Google Calendar API and Contacts API and then follow the below steps to grant the permissions.
  • Go to the G Suite Admin page and sign in as G Suite admin for your tenant. Click Security, then click Advanced Settings, and then click Manage Domain Wide Delegation.
  • Now, next to the API Clients list, click on Add New.
  • In Client ID, type the ClientId 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.

NOTE: All settings and changes done from the G Suite, will go to Office 365 portal and the migration will start by using the JSON file.

Login to your Office 365 and start the migration from the portal of exchange

  • Follow the below screenshot and go to Recipients > Migration, and start the process of migration by choosing Migrate to Exchange Online.

  • Prepare your CSV file containing the set of all of the users you want to migrate, for example, creating the file and saving it as

Email Address:


  • Choose here the G Suite {Gmail} Migration

  • Now use JSON file that you downloaded above during G Suite Service Account Setup. Follow the process and use the JSON file here for the migration to continue.

  • Under Start the batch, fill in the names or aliases of anyone who should be notified about the batch progress. Then select how you want to begin and complete the batch. When done, click New.

Finalizing your migration

Ask a question

"Hey couldn't find what you were looking for in our knowledgebase? Please enter your question here".

First Name *
Last Name *
Email Address *
Question *
Captcha *