Before the migration, you need to identify what object types you want to migrate. Refer to the Supported and Unsupported List.
To connect Fly to your Exchange Online, we recommend creating an app profile with the required permissions in AvePoint Online Services. Refer to Required Permissions to check the required permissions for Exchange Online Migration.
Before you migrate from Exchange Online, you can run a tenant discovery for Exchange Online to scan and report the object count, object type, object size, and other details. According to the discovery reports, you can better understand your source environment and plan for your migrations. Refer to user guide for Tenant Discovery for details.
If there are a large number of mailboxes in your tenant and you only want to migrate some of them, you can refer to Microsoft document to specify the mailboxes you want to migrate or the mailboxes that will not be migrated using Exchange PowerShell.
Add new Microsoft 365 users or synchronize users from the local Active Directory to Microsoft 365.
If the source domain will be moved to the destination environment:
It is recommended that you use the default email address (user@contoso.onmicrosoft.com) in migration projects. Or you can use email addresses ending with an owned domain. After the domain name of your source tenant is changed to your destination tenant for go-live, if the final incremental migration is needed, use Change mapping domain in Fly to update the email addresses in projects in bulk.
If the source domain will not be moved to the destination environment, you can just use different email addresses when configuring mappings in migration projects.
Refer to the user guide about how to prepare users.
Assign licenses to destination users to create mailboxes. Refer to Assign Microsoft 365 licenses to users for details.
Provision resource mailboxes and shared mailboxes (if needed) in the destination. If the shared mailbox or resource mailbox in the destination does not exist, Fly can create a new one.
Microsoft sets a default limit of 35 MB as the maximum size of a received message. We recommend increasing this to 150 MB before the migration to avoid any potential exceptions. Refer to larger email messages to configure the limit.
Sample PowerShell command:
Set-Mailbox -Identity user@contoso.com -MaxReceiveSize 150MB
Other limits such as rule quota limitation. Inbox rules are limited to 256 KB for all rules. Refer to Modify the space used by Inbox rules in Exchange Online to configure the limit.
Sample PowerShell command:
Set-Mailbox -Identity user@contoso.com -RulesQuota "<32 KB to 256 KB>"
During migrations, if you need to repair the migrated data and overwrite many items, we recommend that you disable both litigation hold and single item recovery on related destination mailboxes. If litigation hold or single item recovery is enabled, when items are deleted or overwritten, Exchange will automatically move those items to the Recoverable Items folder and take up storage there.
Litigation hold is not enabled by default while single item recovery is.
Refer to In-Place Hold and Litigation Hold in Exchange Online and Enable or disable single item recovery for a mailbox in Exchange Online for details.
Sample PowerShell Command:
Set-Mailbox -Identity user@contoso.com -SingleItemRecoveryEnabled $false -LitigationHoldEnabled $false
If retention policies are configured for the source data, check to make sure the destination retention policies are the same as the source retention policies. Otherwise, the destination data may be deleted due to different retention policies.
Microsoft uses throttling to manage Microsoft 365 operations and throttling limits will affect migration performance. Go to the Microsoft 365 admin center to lift the throttling restrictions.
Go to the Help (?) section of the Microsoft 365 admin center.
Enter EWS throttling as the search phrase.
Click Run Tests when you are asked to check your environment. Essentially, the tests check what EWS throttling applies to the tenant.

The support assistant checks the tenant settings and concludes that EWS is throttled (the normal situation). You will then be offered the chance to update the settings to the tenant EWS policy to lift throttling for 30, 60, or 90 days.
Select a number of days to adjust the policy, and then click Update Settings.

After a short delay, the support assistant will confirm that the settings have been changed.
To keep the source sensitivity labels applied on emails in the source tenant to the destination, before the migration, you need to create and publish the sensitivity labels in the destination. Refer to Create and publish sensitivity labels for details.
For email migrations, generally, a reasonable migration speed is 1.5 GB/hour/mapping. For the number of mappings that can be run, it is automatically allocated based on the subscription you purchased. The more user seats you purchase, the more mappings you can run in a project.
There are many factors which may affect migration performance:
The above throughput number is for full migration. Generally, it may be lower for incremental migration since Fly needs to spend quite some time in checking the migrated item status for incremental migration.
There may be throttling issues in the source and destination, which affect the migration performance.
Refer to Create a Connection to connect Fly to your source and destination Microsoft 365 tenants.
Project setup
Generally, we recommend that you create a project based on the business unit, such as divisions. Also, we recommend that you configure different types of mailboxes in different mapping files.
Other setup
Set mailbox mapping files and user mapping files (optional).
An Exchange Online migration policy allows you to configure the migration scope of objects, conflict resolutions, user mappings, and advanced options for Exchange Online migrations. Refer to Configure a Migration Policy for details.
There are some notes that need your attention:
If the source or destination mailbox is a Microsoft 365 Group mailbox or archive mailbox, the Auto-Complete Lists cannot be migrated.
If you select to migrate Recoverable Items folders, only the Deletions folders are supported to be migrated.
To migrate archive mailboxes, make sure the archive mailboxes exist in the destination.
Synchronize deletion is unavailable for folder level migration jobs.
After calendar permissions are migrated to the destination, notifications will be sent to the shared users. Users must log in to their mailboxes and accept the shared calendars to view them.
We recommend that you perform a pilot run for the following purposes:
Get familiar with Fly interface and understand the whole migration process.
Discover any potential issues early and resolve them before production migration.
Understand the throttling situation in case the content size is large, and then try to resolve with source and destination.