Google Workspace to Microsoft 365 Migration

In this blog, we’ll guide you through the process of moving mailboxes from Google Workspace to Microsoft 365. We’ll cover important things to think about, common problems you might face, and the best ways to make the switch smooth and hassle-free.

Watch video

Join us on our YouTube channel for an in-depth video on Google Workspace to Microsoft 365 Migration where we explore every step of the migration process, tackle challenges, and discover the best strategies for a seamless switch.

Google Workspace to Microsoft 365 migration

You can migrate the following functionalities from Google Workspace to Microsoft 365 or Office 365:

  • Emails
  • Calendars
  • Contacts

Prerequisites for Google Workspace to Office 365 Migration

If we talk about pre-requisites, you need to meet certain pre-requisites in both Google Workspace and Microsoft 365 so that the data can move securely from Google Workspace to Microsoft 365.

In this type of migration, the data is moved in batches. So we need to make sure the users who are migrated, and the users who are not migrated yet, can exchange emails.

Let’s assume we have 3 user accounts in Google Workspace and we are migrating these 3 users to Office 365.

google workspace to office 365 migration process 1

And out of 3 users, 1 user is migrated to Office 365. Now the users who are not yet migrated, wants to send emails to the user that is migrated from Google to Microsoft 365.

google workspace to office 365 migration process 2

In Exchange Hybrid deployment we have a term that is called Routing Domain which is domain.mail.onmicrosoft.com. This routing domain is used to route emails from on-premises to Microsoft 365. And to route emails from Office 365 to on-premises, External Email Address attribute is used. In the same way, we need a routing domain that can route the emails from Google Workspace to Microsoft 365.

google workspace to office 365 migration prerequisites

1. So the first pre-requisite for Google Workspace to Microsoft 365 migration is, we create a subdomain in Google Workspace. But make sure you create a subdomain for the domain that is verified within Google Workspace. For example if I am using m365concepts.com domain in Google Workspace, I need to create a subdomain 365mail.m365concepts.com for the same domain. A subdomain allows un-interrupted email communication between the users who are migrated to Microsoft 365 and the users who are not yet migrated. When you create a subdomain in Google Workspace, it adds an email address within all the user accounts with that subdomain.

2. The next prerequisite is, we add this subdomain in Microsoft 365. And why we do this, we will discuss this in few minutes.

3. The 3rd prerequisite is, we create one more sub-domain in Google Workspace, so that the users who are migrated to Microsoft 365 can send emails to the users who are not yet migrated. This sub-domain will be used as, External Email Address domain.

4. After this we need to create mail users in Exchange Admin Center for the user accounts that we want to migrate from Google Workspace. And we need to add the routing domain to each mail user account. This routing domain is the sub-domain that we created in Google Workspace and we added in Microsoft 365.

Apart from this, in external email address for these mail users we will add Google Workspace external email address sub-domain. This sub-domain will be used to route emails from the migrated users to the users who are not yet migrated. If you have few users to migrate, you can create mail users manually, and if you have large number of users, then you can use a script to import users from a CSV file.

Important: If you are familiar with Exchange Hybrid Deployment, when a migrated user sends an email to on-premises user that email is routed through External Email Address. External Email Address tells that this particular user is not part of this organization. And where you have to route this particular request. In the same way, we will add the external email address to the mail user in Exchange Online so that the emails can be routed to Google Workspace.

5. The next pre-requisite is, we need to assign required permissions to the Admin account of Google Workspace. We will use this admin account for the migration. This account needs 2 permissions, Project Creator and Create Service Accounts.

6. And the last prerequisite for this migration is, we will enable few APIs on Google Workspace. Like, Gmail API, Google Calendar API, Contacts API, and People API.

How to migrate Google Workspace to Office 365

So let’s move towards our lab, let’s meet all these pre-requisites one by one and let’s migrate mailboxes from Google Workspace to Microsoft 365.

Step 1. First we will create a subdomain in google workspace. We will go to Account > Domains > and click Manage Domains.

add sub domain in google workspace 1

Click Add a domain.

add sub domain in google workspace 2

Type the sub-domain name and select User alias domain. This will add this sub-domain to all the users as a secondary email address. Click Add domain and start verification.

add sub domain in google workspace 3

Note: You don’t have to prove ownership for this sub-domain because the parent domain is already verified in Google Workspace.

This subdomain will be used to route emails from Google Workspace to Microsoft 365. The domain that I am using here, m365concepts.com, this domain is verified in google workspace, and is being used for all the users. And the MX record for this domain is also pointing to Google Workspace. So that the users can receive emails from Internet.

Step 2. Now we will go to Microsoft 365 Admin Center > Setting > Domains > click Add domain and type the name of subdomain 365mail.m365concepts.com. Click Use this Domain. We will use this sub-domain for the secondary email addresses for the mail users.

add sub domain in Microsoft 365

I have already verified the parent domain (m365concepts.com) in my Tenant. Because I want to use the same domain for the users that I am migrating from Google Workspace. But the MX record for this domain is still pointing to Google Workspace. So make sure you have to only verify the domain in your Tenant. Do not add MX record for now.

Step 3. Now we will go to Google Workspace again and we will create another sub-domain that will be used for external email address. That means, this sub-domain will be used to route emails from Microsoft 365 to Google Workspace.

In Google Dashboard go to Account > Domains > Manage Domains > Add a domain and type the subdomain gws.m365concepts.com. Select User alias domain and click Add domain and start verification.

add sub domain in google workspace 4 1

Step 4. Now the next step is, we will create mail users in Exchange Online for the user accounts that we want to migrate from Google Workspace. To verify the user accounts in Google Workspace, go to Directory > Users.

Go to Exchange Admin Center > Recipients > Contacts > Add a mail user.
Enter First Name, Last Name, Display Name
External Email Address will be [email protected] (username will be same as username in Google Workspace)
Type Alias and UserID
UserID domain will be m365concepts.com. You can use a different domain for these accounts as well. This completely depends on your business requirement.
Give it a password and click Create.

Step 5. Now we need to assign secondary email address for these mail users. In Exchange Admin Center we will go to Mailboxes, go to mailbox properties, and under Email Addresses click Manage email address types. Click + and select SMTP, and type initials and then select domain.

The domain that we will select will be 365mail.m365concepts.com. This email address will be used to receive emails from Google Workspace. Click Save. Like this we will add email address for all the mail users. If you have large of number of mail users, instead of doing this one-by-one you can use a PowerShell script as well.

Step 6: The next step is, we need to assign permissions to Google Workspace Admin Account. Open a new tab in browser and type console.cloud.google.com/cloud-resource-manager.

Click Create Project, give it a name, select your domain under Organization, and click Create.
Once the project is created, select your Organization name or the domain name, and on the right side under permissions click Add principal.
Under Add Principal, you will type Google Workspace admin account email address.
Under Assign Roles click select a role and type Project Creator.
To add another role, you will click Add another role and search for Create service accounts. And click Save.

google workspace permissions project creatort create service accounts

Note: Once you assign these permissions you might have to wait for 24 hours for the replication.

Step 7. Now the next step is, we need to enable APIs. On the same page click 3 lines > APIs and Services > Library.

enable APIs in google cloud

And with this we have completed all the required pre-requisites and we are good to start Google Workspace to Office 365 migration process.

Step 8: We will go Exchange Admin Center > Migration > and click Add migration batch.
Give name to the batch.
Select Migration to Exchange Online
Select migration type: Google Workspace

The add migration batch wizard will validate if all the prerequisites are met or not. There are 2 ways you can validate the pre-requisites. Automatic or Manual.

prerequisites for google workspace migration automatic and manual


If you select Manual, it will ask you to complete all these checks manually. But if you have already met all the prerequisites, you can simply click Start under Automate the configuration of your Google Workspace for migration.

This wizard will ask you to download a json file that will be used in the later step. And once all the checks are done, copy the Client ID, click on the link next to API access.
Paste Client ID
Go back to Exchange Admin Center and copy the scopes.
Go back and paste the scopes under Oauth scopes.
And Click Authorize.

Go back to Exchange Admin Center and click Next.
Click Create a new migration endpoint, click Next
Enter a name for Migration Endpoint and click Next.
Under Email Address you will type the Admin account for the Google Workspace on which we assigned Project Creator and Create Service Accounts permissions.
Import the JSON file that we downloaded in the previous step. Click Next.
Under Add users we will add the mail users that we want to migrate to Exchange Online. The format for CSV file will be, in column you will type EmailAddress, and in rows you will type the email addresses for the mail users. And save this file as CSV.
Under Target Delivery Domain, type the subdomain for Microsoft 365 that will be 365mail.m365concepts.com. Click Next. Click Save.

Now once this migration is completed, you will go to Active Users in Microsoft 365 Admin Center, and you will assign licenses to these users that have Exchange Online service included.

And once Google Workspace to Office 365 migration is completed for all users, point MX record to Microsoft 365 tenant.

Conclusion

We learnt what items of a mailbox can be migrated from Google Workspace to Microsoft 365, what are the pre-requisites for Google Workspace to Microsoft 365 mailbox migration. We learnt how to meet prerequisites, how to add permissions on Google Workspace admin account and how to enable APIs in Google Cloud.

Did you enjoy this article? You may also like A Deep Dive into Autodiscover. Don’t forget to follow us and share this article.

We welcome you to browse our other articles on Exchange Online:
Sophos Central Email Security integration with Exchange Online – Step by step guide.
Demystifying Autodiscover. A Deep Dive into Autodiscover.
Troubleshooting Inbound connector in Exchange Online
Troubleshooting Exchange Online Mail Flow: A Comprehensive Guide
Exchange Online Protection (EOP) interview questions and answers
Demystifying the High Risk Delivery Pool (HRDP) in Exchange Online
Exploring the Power of Public Folders in Exchange Online, Office 365 and Microsoft 365
50+ Exchange Online Mail Flow Interview questions and answers
What is Exchange Online
What is DMARC record
What is DKIM (DomainKeys Identified Mail) and how does it work
What is MX record (Mail Exchange)
Set up SPF record for Office 365 domains
How does SPF work (Sender Policy Framework)

Happy Learning!