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.
Overview
This Google Workspace to Microsoft 365 Mail Migration Guide shows you how to migrate your Gmail mailboxes, calendars, and contacts to Microsoft 365.
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 PagePrerequisites
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:
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
What is Migrated
The following items are migrated during a Google Workspace to Microsoft 365 mail migration:
Limitations
The following items are NOT migrated:
- Email signatures
- Vacation responders
- Google Chat messages
- Google Meet recordings
- Calendar attachments
- Shared calendars permissions
Migration Process
The Google Workspace to Microsoft 365 mail migration is a five-step process:
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:
Access Google Admin Console
Go to admin.google.com and sign in with your Super Admin account.
Navigate to Gmail Settings
Go to Apps > Google Workspace > Gmail > End User Access.
Enable IMAP Access
Check Enable IMAP access for all users and select Allow any mail client.
Save Changes
Click Save. Changes may take up to 24 hours to propagate to all users.
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:
Cloudiway Google Service Account (Recommended)
This is the default and recommended option. Cloudiway manages the Service Account for you.
Select Cloudiway Google Service Account
Keep the default option Cloudiway Google Service Account selected.
Enter Domain Names
Enter the Google Workspace domain name(s) you want to migrate.
Enter Migration Account
Enter the email address of a Google Workspace Super Admin account that will be used for the migration.
Enter Migration Account Password
Enter the password for the migration account.
Optional Fields
You can optionally provide a Phone Number and Favorite Logon Location (City) to help with authentication.
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:
Select Expert Mode
Select Custom Google Service Account (Expert Mode).
Create Service Account
Create a Service Account in Google Cloud Console with domain-wide delegation enabled.
Upload Service Account JSON
Upload the JSON key file from your Google Cloud Service Account.
Enter Admin Email
Enter the email address of a Google Workspace Super Admin for impersonation.
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:
Automatic (Recommended)
This is the default and recommended option. Cloudiway automatically creates and configures the Entra ID application.
Select Automatic Tab
Keep the default Automatic tab selected.
Enter Administrator Account
Enter the Email Address and Administrator Password of a Microsoft 365 Global Administrator account.
Regular O365 Tenant
Leave the Regular O365 Tenant toggle On (unless you're using a GCC or sovereign cloud).
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:
Select Manual Tab
Click on the Manual tab.
Create Entra ID Application
Create an Entra ID Application in Azure Portal with the full_access_as_app permission.
Enter Application Details
Enter the Application ID, Tenant ID, and Client Secret from your Entra ID application.
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.
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. |
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). |
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:
Option 1: Discovery (Get List)
Click on User List > Get List to automatically discover all Gmail mailboxes from the source Google Workspace tenant.
Then specify the following parameters:
Target Recipient Type
Select Mail as the Target Recipient Type.
Matching Rule
Choose how source emails should be mapped to target emails:
- Mail Exact Match: source email = target email ([email protected] → [email protected])
- Keep Email Prefix Same as Source: only the domain changes ([email protected] → [email protected])
- FirstName.LastName: (e.g., [email protected])
- F.LastName: (e.g., [email protected])
- FLastName: (e.g., [email protected])
- LastNameF: (e.g., [email protected])
Target Domain
Specify the target domain for the migrated users.
Option 2: Import User List
Click on User List > Import to upload a CSV file containing the users to migrate.
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
Click on Browse
Click on the BROWSE button to open the file selector.
Select your CSV file
Locate your CSV file on your computer and select it.
Select Connectors
Select the appropriate connectors in the Source and Target fields.
CSV File Format
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.
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.
- 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.
For Individual Users
- Under the Users tab, select all the users you want to submit
- Click on MIGRATION
- Click the Start button
For User Batches
- Under the Batches tab, select the user batch you want to submit
- Click on MIGRATION
- Click the Start button
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
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.
Get a free migration quote in minutes — entirely self-service.