You can use Migration Planner to assess your organization's Microsoft Exchange Online data before you set up an advanced data import to Google Workspace.
Step 1: Install Migration Planner
Before you begin: Make sure that you have Python 3.10 or later installed on your system.
Install Migration Planner on Windows
- Go to python.org/downloads and download the newest installer.
- Check the tcl/tk and IDLE and Add Python to PATH boxes.
At a command prompt or using Microsoft PowerShell to return the version IDs for Python and pip, enter the following commands:
python --version
pip --version
Install Migration Planner on macOS
Go to python.org/downloads and download the macOS installer. Or, use Homebrew from the Terminal app and enter the following command:
brew install python
If you're using Homebrew or encounter web interface problems, to install the Tkinter library, enter the following command:
brew install python-tk
At a command prompt or using Microsoft PowerShell to return the version IDs for Python and pip, enter the following commands:
python3 --version
pip3 --version
Enter the following command:
pip3 install customtkinter requests pandas psutil Pillow urllib3 sortedcontainers aiohttp certifi
Install Migration Planner on Linux
To install Python, enter the following command:
sudo apt-get update
sudo apt-get install python3 python3-pip
To install Tkinter, enter the following command:
sudo apt-get install python3-tk
To install dependencies, enter the following command:
pip3 install customtkinter requests pandas psutil Pillow urllib3 sortedcontainers aiohttp certifi
Step 2: Set up a virtual environment (if needed)
If your organization doesn't let you globally install packages, follow these steps to set up a virtual environment:
To create the environment, enter one of the following commands:
- For Windows, enter python -m venv venv.
- For macOS or Linux, enter python3 -m venv venv.
To activate the environment, enter one of the following commands:
- For Windows, enter .\venv\Scripts\activate.
- For macOS or Linux, enter source venv/bin/activate.
Enter the following command:
pip3 install customtkinter requests pandas psutil Pillow urllib3 sortedcontainers aiohttp certifi
Step 3: Set up Azure
Follow these steps to create a Microsoft Azure application in the Azure portal. For security reasons, we recommend that you register the new application as a single tenant.
- As an administrator, sign in to your Azure portal.
- Go to Azure Services
App registrations.
- Click New Registration and enter a name for your application (for example, Advanced import app).
- For Supported account types, click Accounts in this organizational directory only to create a single tenant application.
- Click Register.
Step 4: Grant API permissions for Azure
- In the Azure application, for Manage, click API permissions.
- Click Add permission
Microsoft APIs
Microsoft Graph.
For application permissions, select:
- User.Read.All
- Group.Read.All
- Mail.Read
- Contacts.Read
- Calendars.Read
- MailboxFolder.Read.All
- MailboxSettings.Read
Click Add permissions.
Click Grant admin consent for your organization.
Step 5: Create the client secret
- For Manage, click Certificates & secrets
New client secret.
- Enter a description, select an expiration period, and click Add.
- Copy the Client secret value and store it in a safe place. The value is displayed only once.
Step 6: Collect the application credentials
Important: Store the application credentials securely. If the credentials are leaked, hackers could access all your data.
Click Overview and securely note the following credentials:
- Application (client) ID
- Directory (tenant) ID
Step 7: Open Migration Planner (if needed)
If you created a virtual environment, complete these steps:
- At a command prompt or in the Terminal app, go to the folder with the cd path/to/migration-planner script.
Run one of the following scripts:
- For Windows, enter python migration_planner.py.
- For macOS or Linux, enter python3 migration_planner.py.
Step 8: Run Migration Planner
- In the Migration Planner Selector window, for Select Workload, select Exchange.
- For Tenant ID, enter the unique ID number for your Azure tenant.
- For Client ID, enter the unique ID number for your Exchange Online account.
- For Client Secret, enter the client secret value for your Azure tenant.
For Source, select an option:
- Scan All Users—Scan all of your organization's Exchange Online users.
Upload CSV—Upload a comma-separated values (CSV) file that lists the Exchange Online users you want to scan.
In your CSV file, add Email ID and Type column headers. In the Email ID column, enter an email address for each user or group mailbox that you want to scan. Use a separate row for each user. In the Type column, enter User or Group Mailbox to identify each email address.
Example:
Email ID Type kim@example.com User staging@example.com Group Mailbox
(Optional) To choose specific settings for data and tasks, click Show Advanced Settings and select any of the following settings:
For Scan Settings, select the types of data you want to scan for all users:
- Contacts
- Calendars
- Emails
- Encrypted Emails
- In-Place Archives
- Share Mails
- Group Mailboxes
To select the number of tasks the planner runs at one time, adjust the Concurrency slider.
To select how many batches of data the planner scans at one time, adjust the Parallel Batches slider.
Click Get migration estimates to start the Migration Planner.
You can review updates on the scan in real time while the planner runs.
When the scan is complete, review the migration plan, which includes an estimate on the amount of time that the data import tool will need to import all the scanned data with the advanced method.
(Optional) To save the information from a completed scan, click Export logs and Export full report.
Google, Google Workspace, and related marks and logos are trademarks of Google LLC. All other company and product names are trademarks of the companies with which they are associated.