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:

Google Source Connector configuration in Cloudiway - showing Cloudiway Google Service Account and Custom Google Service Account options
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:

Microsoft 365 Target Connector configuration in Cloudiway - showing Automatic and Manual tabs
Microsoft 365 Connector Configuration

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 Migration Global Settings interface in Cloudiway platform
Global Settings configuration screen

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 User List

The User List 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 User List

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

Create Manual Entry

Manually add individual users one by one.

Option 1: Discovery (Get List)

Click on User List > Get List to automatically discover all Gmail mailboxes from the source Google Workspace tenant.

Cloudiway User List menu
User List menu - Get List option

Then specify the following parameters:

1

Target Recipient Type

Select Mail as the Target Recipient Type.

2

Matching Rule

Choose how source emails should be mapped to target emails:

3

Target Domain

Specify the target domain for the migrated users.

Monitor Progress: You can monitor the progress of this task in the User List: Get List Logs.
Gmail mailboxes discovery results
Discovery results - Gmail mailboxes discovered

Option 2: Import User List

Click on User List > Import to upload a CSV file containing the users to migrate.

Cloudiway User List Import
User List - Import option
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

Click on Browse

Click on the BROWSE button to open the file selector.

3

Select your CSV file

Locate your CSV file on your computer and select it.

4

Select Connectors

Select the appropriate connectors in the Source and Target fields.

CSV File Format

CSV import file format for Gmail migration
CSV import file format for Gmail migration

Option 3: Create Manual Entry

Click on User List > Create to manually add individual users. Enter the source Gmail address and the target Microsoft 365 email address for each user.

Step 4: Verify Mapping Table

Cloudiway automatically populates this mapping table when source mailboxes are discovered by Get List functionality. However, make sure that the mapping table was populated correctly and that you are not missing any email addresses.

Mapping Table in Cloudiway platform
Mapping Table configuration
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. Under the Users tab, select all the users you want to submit
  2. Click on MIGRATION
  3. Click the Start button
Start migration for individual users
Starting migration for individual users

For User Batches

  1. Under the Batches tab, select the user batch you want to submit
  2. Click on MIGRATION
  3. Click the Start button
Create migration batch
Creating a migration batch
Start batch migration
Starting batch migration

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.