Ready to migrate?
Admin Guide

Google Workspace to Microsoft 365 Mail Migration Guide

This guide is aimed at experienced system administrators who are capable of connecting to remote systems and using a variety of administration tools.

15 min read Updated: 2024-12-15 Google Workspace to Microsoft 365

Overview

This Google Workspace to Microsoft 365 Mail Migration Guide shows you how to migrate your Gmail mailboxes, calendars, and contacts to Microsoft 365.

Important: Cloudiway migrates between existing user mailboxes and does not provide a tool to provision user mailboxes. Therefore, the user mailboxes must be created in Microsoft 365 prior to the migration.

Cloudiway uses IMAP and Google APIs (Calendar API, People API, Tasks API) to read data from Google Workspace. It uses Microsoft Graph API and Exchange Web Services to write data to Microsoft 365. All network operations are performed over TLS 1.2.

Looking for our Google Workspace Migration Solution?

Discover all features, pricing, and use cases for Google Workspace to Microsoft 365 migration.

View Solution Page

Prerequisites

To perform the Google Workspace to Microsoft 365 Mail Migration, you need to configure both a Google Service Account and an Entra ID Application.

Google Workspace Requirements

Cloudiway uses a Google Service Account with domain-wide delegation to access Google Workspace mailboxes. You have two options:

Automatic Mode (Recommended): Cloudiway can automatically create and configure the Google Service Account for you. Simply authorize Cloudiway with your Google Workspace Super Admin account and the platform handles the rest.

If you prefer to create the Service Account manually, you will need:

Google Cloud Project

Create a project in Google Cloud Console

Service Account

Create a Service Account with domain-wide delegation

API Scopes

IMAP access enabled, Calendar, People, and Tasks API scopes

JSON Key File

Download the JSON key file for authentication

Microsoft 365 Requirements (Target)

Cloudiway uses an Entra ID Application with Application Permissions to access Microsoft 365 mailboxes:

App Registration

Create an application in Microsoft Entra ID

API Permission

Microsoft 365 Exchange Online → full_access_as_app (Application)

Admin Consent

Granted by a Global Administrator

Certificate Authentication

OAuth 2.0 client credentials flow with certificate

Automatic Setup: The Cloudiway platform can automatically create and configure both the Google Service Account and the Entra ID Application. Simply authorize Cloudiway with your Super Admin (Google) or Global Administrator (Microsoft 365) account.

What is Migrated

The following items are migrated during a Google Workspace to Microsoft 365 mail migration:

Gmail Messages
Labels (as Folders)
Google Contacts
Primary and Secondary Calendars
Calendar Events & Attendees
Shared Calendars Permissions
Recurring Events
Attachments
Starred Messages
Read/Unread Status
Contact Groups
Calendar Settings
Calendar Permissions
Google Tasks
Gmail Filters (Rules)
Labels to Folders: Gmail labels are converted to folders. Cloudiway does not duplicate emails - if an email has multiple labels, only one folder is selected based on a priority system (Sent Items → personal labels → Inbox → zNoLabel).

Limitations

The following items are NOT migrated:

  • Email signatures
  • Vacation responders
  • Google Chat messages
  • Google Meet recordings
  • Calendar attachments
  • Shared calendars permissions
API Limits: Google Workspace has API quotas that may affect migration speed. The platform handles throttling automatically, but large migrations may take longer during peak usage times.

Migration Process

The Google Workspace to Microsoft 365 mail migration is a five-step process:

1
Create Connectors
2
Global Settings
3
Discovery
4
Mapping
5
Migration

Step 1: Create Connectors

For Cloudiway to migrate your mailboxes, it needs to be able to communicate with both your source Google Workspace and target Microsoft 365 tenants. To do this, Cloudiway uses connectors.

Google IMAP Configuration

Before creating the Google Workspace connector, you must enable IMAP access in the Google Admin Console:

Google Workspace End User Access IMAP settings in Admin Console
Google Workspace IMAP settings in Admin Console
1

Access Google Admin Console

Go to admin.google.com and sign in with your Super Admin account.

2

Navigate to Gmail Settings

Go to Apps > Google Workspace > Gmail > End User Access.

3

Enable IMAP Access

Check Enable IMAP access for all users and select Allow any mail client.

4

Save Changes

Click Save. Changes may take up to 24 hours to propagate to all users.

Note: You do not need to enable POP for Cloudiway tools to work. Only IMAP access is required.

Google Workspace Connector (Source)

Go to Connectors > New, select Google as connector type, set a connector name and select Mail. Click Next to configure the connector.

You can choose between two configuration modes:

Details step of the Google Workspace connector creation in Cloudiway: Cloudiway service account or Custom (Expert) mode, domain names and migration account
Google Workspace Connector Configuration

Cloudiway Google Service Account (Recommended)

This is the default and recommended option. Cloudiway manages the Service Account for you.

1

Select Cloudiway Google Service Account

Keep the default option Cloudiway Google Service Account selected.

2

Enter Domain Names

Enter the Google Workspace domain name(s) you want to migrate.

3

Enter Migration Account

Enter the email address of a Google Workspace Super Admin account that will be used for the migration.

4

Enter Migration Account Password

Enter the password for the migration account.

5

Optional Fields

You can optionally provide a Phone Number and Favorite Logon Location (City) to help with authentication.

6

Complete Setup

Click Next to review and save your connector.

Custom Google Service Account (Expert Mode)

If you prefer to create and manage your own Service Account:

1

Select Expert Mode

Select Custom Google Service Account (Expert Mode).

2

Create Service Account

Create a Service Account in Google Cloud Console with domain-wide delegation enabled.

3

Upload Service Account JSON

Upload the JSON key file from your Google Cloud Service Account.

4

Enter Admin Email

Enter the email address of a Google Workspace Super Admin for impersonation.

Documentation: For detailed instructions on creating the Google Service Account manually, refer to our Google Workspace Connector Configuration guide.

Microsoft 365 Connector (Target)

Go to Connectors > New, select Microsoft 365 as connector type, set a connector name and select Mail. Click Next to configure the connector.

You can choose between two configuration modes:

New connector dialog for Microsoft 365 in Cloudiway: connector name, source or target side, platform and products (mailboxes, files, sites)
New connector: Microsoft 365

Automatic (Recommended)

This is the default and recommended option. Cloudiway automatically creates and configures the Entra ID application.

1

Select Automatic Tab

Keep the default Automatic tab selected.

2

Enter Administrator Account

Enter the Email Address and Administrator Password of a Microsoft 365 Global Administrator account.

3

Regular O365 Tenant

Leave the Regular O365 Tenant toggle On (unless you're using a GCC or sovereign cloud).

4

Grant Admin Consent

Click GRANT ADMIN CONSENT to authorize Cloudiway to create the Entra ID application with the required permissions.

Manual

If you prefer to create the Entra ID application manually:

1

Select Manual Tab

Click on the Manual tab.

2

Create Entra ID Application

Create an Entra ID Application in Azure Portal with the full_access_as_app permission.

3

Enter Application Details

Enter the Application ID, Tenant ID, and Client Secret from your Entra ID application.

Documentation: For detailed instructions on creating the Entra ID application manually, refer to our Office 365 Connector Configuration guide.

Step 2: Configure Global Settings

After setting up source and target connectors, you're ready to configure your global settings. Navigate to Mails > Global Settings.

Mail Settings page: items to migrate, Convert email addresses option, date window and archive settings
Mail Settings

Migration Settings

Setting Default Description
Migrate Emails Enable Migrates email messages from Gmail to Microsoft 365.
Migrate Trash Enable Migrates items from the Gmail Trash folder.
Migrate Calendar Disable Migrates Google Calendar events, attendees, recurring meetings, and calendar permissions.
Migrate Contacts Disable Migrates Google Contacts to Microsoft 365, including contact details and contact groups.
Migrate Rules Enable Migrates Gmail filters to Outlook rules.
Migrate Notes Enable Migrates Google Keep notes to Microsoft 365.
Migrate Tasks Disable Migrates Google Tasks to Microsoft To Do.
Convert Email Address Enable Rewrites email addresses found in email headers, calendar items, and contacts. Replaces source Google Workspace addresses with their corresponding target Microsoft 365 addresses from the mapping table. Recommended to leave on.
Forwarder Settings Disable Configures email forwarding from source to target during migration.

Date Filters

Setting Default Description
Date From Empty Only extract emails from the source mailbox that are newer than this date. If empty, no lower date limit is applied.
Date To Empty Only extract emails from the source mailbox that are older than this date. If empty, no upper date limit is applied.
How Date Filters Work: Date From and Date To determine what is extracted from the source mailbox. If nothing is selected, the entire mailbox is extracted. Once emails are extracted, the Archive settings are evaluated to determine where the extracted mail is migrated (to the online mailbox or to the archive).

Archive Settings

Setting Default Description
Archive Mails Older Than Empty Date field to specify which emails should be archived. Emails older than this date are migrated to the archive, more recent items go to the primary mailbox.
Migrate to Archives Enable Enables archiving functionality. When enabled, the Archive Mails Older Than date is used to determine which emails go to the archive.
Migrate Everything to Archives Disable When enabled, migrates ALL emails to the archive instead of the primary mailbox, regardless of date.
Archive Location Online Archive Choose where to archive: Online Archive (Microsoft 365 In-Place Archive) or PST File (uploaded to the user's OneDrive).
Important: The selected options will be applied for every migration and for all users. Make sure to configure these settings before starting your first migration.

Save Your Settings

Click on the Save button at the bottom of the screen to update your global settings.

Step 3: Fill the User Mailboxes List

The User Mailboxes list (Mail > User Mailboxes) contains all Gmail mailboxes to be migrated. There are three ways to populate it:

Discovery (Get List)

Automatically discover all Gmail mailboxes from the source Google Workspace tenant.

Import CSV

Upload a CSV file with the list of mailboxes to migrate.

Create User

Manually add individual mailboxes one by one.

Option 1: Discovery (Get List)

In Mail > User Mailboxes, click Get list to discover the Gmail mailboxes of the source Google Workspace tenant and pair them with the target.

Get list button in the User Mailboxes toolbar of Cloudiway Mail Migration, next to Audit, Migrate, Migrate permissions and Stop
User Mailboxes: Get list

The Get user mailboxes dialog opens. Specify the following parameters, then click Get list:

Get user mailboxes dialog with source pool, target pool, target recipient type, matching rule and target domain fields
Get user mailboxes dialog
1

Source Pool and Target Pool

Select the connector pools of the source Google Workspace tenant and of the target Microsoft 365 tenant.

2

Target Recipient Type

Keep Standard for user mailboxes.

3

Matching Rule

Choose how source emails should be mapped to target emails:

4

Target Domain

Enter the email domain of the target Microsoft 365 tenant (for example company.com). It is used to build the target addresses.

Monitor Progress: You can monitor the progress of this task in the Get List logs tab of the User Mailboxes page.

Option 2: Import CSV

In Mail > User Mailboxes, open the Manage menu and click Import CSV to upload a CSV file containing the mailboxes to migrate.

Manage menu of the User Mailboxes page with Create user, Export CSV and Import CSV options
User Mailboxes: Manage > Import CSV
1

Prepare your CSV file

Create a CSV file with the source and target email addresses. For more details on the syntax of the CSV file, read our guide: How to Fill the Users/Groups CSV File

2

Open Import CSV

Click Manage > Import CSV. The Import mailboxes dialog opens.

3

Select your CSV file

Click the drop zone to browse your computer, or drag and drop your .csv file onto it.

4

Upload

Click Upload to import the mailboxes.

Import mailboxes dialog to upload a CSV file of source and target mailboxes
Import mailboxes dialog

Option 3: Create User

In Mail > User Mailboxes, click Manage > Create user to add individual mailboxes manually. Enter the source Gmail address and the target Microsoft 365 email address for each user.

Step 4: Verify the Mapping Table

Cloudiway automatically populates the mapping table when source mailboxes are discovered with Get list. Open Project Configuration > Mappings and make sure that every source email address is paired with the right target email address and that none is missing.

The Users tab lists each mapping with its first name, last name, source email and target email. Use the pencil icon to edit a row, New user to add one, or Export CSV and Import CSV to review and update the table in bulk.

Mappings page in Cloudiway listing users with first name, last name, source email and target email
Mappings: source and target email addresses
Critical Warning: Any error in the mapping table will cause corruptions and incomplete migrations (loss of metadata). If you make an error, you cannot rerun the migration as the delta pass will only propagate changes.

If you make an error in your mapping table, you will have to erase everything and restart the migration with new licenses.

It's important that all users exist in the mapping table before migration begins. Ensure that Google Workspace email addresses are correctly mapped to their corresponding Microsoft 365 email addresses.

Step 5: Run Migration

Now that you have performed all the pre-migration steps, you're ready to migrate.

Before running the migration:
  • Verify that the target email address is correct for each user
  • Ensure the target account already exists in Microsoft 365
  • Ensure the target account has a valid Microsoft 365 license assigned

Important: Cloudiway does not provision user accounts. All target mailboxes must be created and licensed before starting the migration.

Recommendation: We recommend you run a test migration on a single user first to check that your configuration produces the outcome you expect.

For Individual Users

  1. In Mail > User Mailboxes, stay on the User mailboxes tab
  2. Tick the checkbox of each mailbox you want to migrate
  3. Click Migrate in the toolbar
User Mailboxes list with three mailboxes selected and the Migrate button in the toolbar
Migrating selected user mailboxes

For User Batches

Batches let you migrate groups of mailboxes in waves.

  1. In Mail > User Mailboxes, open the Batches tab
  2. Click New batch to create a batch, then add its members
  3. Click Migrate on the row of the batch you want to submit
Batches tab of the User Mailboxes page with the New batch button and two batches listed with their members
Batches tab: creating a migration batch
Migrate button on a batch row to start the migration of all mailboxes in the batch
Starting the migration of a batch

Delta Pass

Cloudiway is an incremental migration platform that supports delta passes. For more details, read our complete guide: Delta Pass Mail Migration.

Every time you restart the migration of a mailbox:

  • Only items that haven't already been copied to the target will be migrated
  • Items that have been modified in the source will be updated in the target
  • The platform does not duplicate items, just updates them

How to Start a Delta Pass

To start a delta pass, simply restart the migration and the platform takes care of everything.

Delta Pass Limitations

Cloudiway is a migration platform, not a synchronisation platform. For this reason, we limit the number of delta passes:

  • You can submit as many migration passes as you want for 3 months
  • Until consuming the amount of GBs allowed by the assigned licenses
  • Usually, you only need one pass before the cutover and another after the cutover
Note: When migrating from Google Workspace, deletions from Gmail are propagated to Microsoft 365 during delta passes.

Frequently Asked Questions

How are Gmail labels migrated to Microsoft 365?

Gmail labels are converted to folders in Microsoft 365. Cloudiway does not duplicate emails - if an email has multiple labels, only one folder is selected based on a priority system: Sent Items first, then personal labels, then Inbox, and finally a special zNoLabel folder for emails without labels.

What happens to Google Calendar events?

Google Calendar events are migrated to Microsoft 365 calendars including recurring events, attendees, and event details. Both primary and secondary calendars are supported.

Are Google Contacts migrated?

Yes, Google Contacts are migrated to Microsoft 365 including contact details, photos, and contact groups.

Does Cloudiway support delta passes for Google migration?

Yes, Cloudiway supports delta passes for Google Workspace migrations. Every time you restart the migration, only items that haven't been copied will be migrated. You can submit migration passes for 3 months within your license quota.

Do I need admin access to both platforms?

Yes, you need Super Admin access to Google Workspace and Global Admin access to Microsoft 365. However, Cloudiway can automatically create and configure the required Service Account and Entra ID Application for you - simply authorize with your admin accounts.

Ready to Start Your Migration?

Get a free migration quote in minutes — entirely self-service.