Home > Perform SharePoint Online Migrations > Create a Migration Policy
Export to PDFA SharePoint Online migration policy allows you to define the migration scope of objects and permissions, configure the filter policy, conflict resolution, user mapping, column mapping, and other settings for SharePoint Online Migration.
For SharePoint Online to SharePoint Online Migration, configure a To SharePoint Online migration policy by completing the following steps:
Click Policies under Settings in the left pane.
Click Migration policies to access the Migration policies page.
Click the SharePoint Online tab and click To SharePoint Online.
Click Create migration policy. The Create migration policy panel appears.
Enter a name and an optional description for the policy, and then click Next.
In the What do you want to migrate? section, configure filters to define the objects you want to migrate:
Scope – Select or deselect the Structure and/or Content checkbox to define in bulk the SharePoint objects you want to migrate.
Site – Select whether you want to migrate the listed objects and configurations.
List – Select whether you want to migrate lists/libraries, settings, public views, and Power Apps that are used to customize list forms.
*Note: To migrate Power Apps for lists, make sure you purchase sufficient subscriptions of Power Platform objects (Power Apps/Power Automate flows), and the app profile and service account used in the SharePoint Online connection have sufficient permissions.
Content – Select whether you want to migrate the listed content.
Permissions – Select whether you want to migrate permissions at each level.
If you select to migrate the permissions of data shared with you in OneDrive, the migration performance will be affected.
When migrating to a site that is connected to the Microsoft 365 Group, you can select the Map the Owners, Members, and Visitors SharePoint groups to the destination Microsoft 365 Group checkbox to map the source owners to owners and members of the destination Microsoft 365 Group and map the source members and visitors to members of the destination Microsoft 365 Group. (The setting is available when the source site is not connected to the Microsoft 365 Group.)
Guest users are added via the Microsoft 365 admin center, and can be added as SharePoint administrators, permission users and users related to shared links.

External users can be added as permission users and users related to shared links if the two related tenants have enabled cross-tenant access for each other. You can enable the cross-tenant access by completing the following steps:
Log in to the Microsoft Entra ID admin center.
Click External Identities.
Click Cross-tenant access settings.
Click Add organization under the Organization settings tab.
In the Add organization panel, enter the tenant ID or domain name of the tenant for which you want to allow the member, and click Add.
Then after about 24 hours, you can manually add the member to the target shared channel.
Workflows and user alerts – Select whether you want to migrate the workflow definitions and user alerts.
*Note: By default, user alerts will be automatically disabled during the migration to avoid interruption. You can manually Enable User Alerts for the destination SharePoint Online after the migration.
Filter policy – A filter policy can help you set up filter rules to define what objects can be included in your migrations. Select the checkbox and select a filter policy to include/exclude the defined objects for the migration. You can enter the keyword of a filter policy in the Search filter policy text box and click the Search (
) button to search the filter policy.
You can also click the Add (
) button to create a new filter policy, enter a name and an optional description for the filter policy, and define the filter rules for each SharePoint object level. Refer to SharePoint/OneDrive Filter Policies for examples of filter policies that users can configure.
In the Conflict resolution section, configure the following conflict resolutions when the source object conflicts with an existing one in the destination.
| Resolution | Conflict | No Conflict |
|---|---|---|
| Skip | Ignore the conflicting object and do nothing in the destination. | A new object will be created. |
| Merge | Merge the source and destination objects. | A new object will be created. |
| Resolution | Conflict | No Conflict |
|---|---|---|
| Skip | Ignore the conflicting content and do nothing in the destination. | A new content will be created. |
| Overwrite | Delete the conflicting content in the destination first and overwrite it with the source content. | A new content will be created. |
| Overwrite by last modified time | The conflicting content with the latest modified time will be preserved in the destination. | A new content will be created. |
Click Next to continue.
In the Options section, define how to manage the sensitivity labels, IRM restrictions, and the default destination user of files/sites during the migration:
To manage the sensitivity labels of files during the migration, select an option below:
*Note: If the source does not have the Microsoft Information Protection (MIP) service implemented or source files do not have any sensitivity labels applied, select the first option for your migration to ensure a successful job.
No label insource, or migratefiles with source label to destination (if file has label encryption, it will be inaccessible in the destination) – Select this option if there is no sensitivity label applied on source files, or you want to keep the source sensitivity labels of the files to the destination.
After the migration, the migrated files that have label encryption may not be accessed in the destination.
If a label exists, remove it during the migration (source label remains, it is removed from the file in the destination) – Select this option if you want to remove the source sensitivity labels from the files.
After the migration, the migrated files do not have any sensitivity labels and can be accessed in the destination.
Apply same label in the destination (same label must exist in the destination) – This option removes the source sensitivity labels from the migrated files during the migration, and applies existing destination sensitivity labels with the same display name to the migrated files in the destination. The source sensitivity labels applied to source files will not be removed from the source tenant.
Apply labels in the destination based on label mappings (labels must exist in both source and destination) – With this option, you can configure sensitivity label mappings to replace the source sensitivity labels applied to the migrated files with existing destination sensitivity labels.
According to the label mappings, Fly will remove the source sensitivity labels from the migrated files during the migration, and apply the destination sensitivity labels to the migrated files in the destination. The source sensitivity labels applied to source files will not be removed from the source tenant.
Click the Add (
) button to Create Sensitivity Label Mappings to map the source and destination labels based on their display names. You can also select a previously created label mapping from the drop-down list to use it (Clicking View details can view and edit the detailed information of the selected label mapping.).
To manage the sensitivity labels of sites during the migration, select an option below:
*Note: If the source does not have the Microsoft Information Protection (MIP) service implemented or source sites do not have any sensitivity labels configured in the Sensitivity setting, select the first option for your migration to ensure a successful job.
No label in source, or do not copy source label on site to destination – Select this option if there is no sensitivity label applied on source sites, or you do not want to keep the source sensitivity labels to the destination sites.
Apply same label in the destination (same label must exist in the destination) – Select this option to not keep the source sensitivity labels, and apply existing destination sensitivity labels of the same display name to the destination sites.
Apply labels in the destination based on label mappings (labels must exist in both source and destination) – Select this option to configure sensitivity label mappings to map the source sensitivity labels to existing destination labels based on their display names. You can click the Add (
) button to Create Sensitivity Label Mappings to map the source and destination labels based on their display names.
If the source sites are applied with the source labels configured in the mapping, the Sensitivity setting value of their destination sites will be updated to the mapped destination labels.
Information rights management – Select the Remove source IRM restrictions from files checkbox if you want to remove the source IRM restrictions during the migration. If you deselect this checkbox, the source IRM restrictions will be kept to the destination, and the migrated files may be inaccessible in the destination.
Define a default destination user – Select the Use this user to replace the metadata of users that do not exist in the destination checkbox to replace the metadata of users that do not exist in the destination with a specified user during the migration. If you deselect this checkbox, the metadata of source users will be kept.
In the Mappings section, configure the following mappings for the migration:
User mapping – With a user mapping, you can map a source user/group to a destination one. You can also map a domain in the source to a destination domain. Users, securities, and user-related metadata can be migrated based on user mappings. Click the Add (
) button to create a new one. Refer to the Create User Mappings section to view how to create a user mapping.
You can also select a previously created user mapping from the drop-down list to use it (Clicking View details can view and edit the detailed information of the selected user mapping.). You can enter the keyword of a user mapping in the Search user mapping text box and click the Search (
) button to search the user mapping.
*Note: For the users/groups that have not been configured in user mappings, you can choose to map the users/groups based on User principal name prefix, Display name, and/or Email address prefix.
| Property | User Principal Name | User Principal Name Prefix | Display Name | Email Address | Email Address Prefix |
|---|---|---|---|---|---|
| Property Example | JohnSimon@onmicrosoft.com | JohnSimon@ | JohnSimon | JohnSimon@onmicrosoft.com | JohnSimon@ |
Template mapping – Template mappings allow you to map a source template to a destination template. The source template will be replaced by the configured destination template. You can create mappings at the site level and list level. Click the Add (
) button to create a new one. Refer to the Create Template Mappings section to view how to create a template mapping.
In the Customized features section, you can add customized features by entering the corresponding customized feature strings. Click Add customized feature, and then enter a customized feature string to configure a customized feature. Refer to Customized Features for SharePoint Online/OneDrive Migration for details.
Click Next to continue.
Configure the Notifications setting to send migration email notifications to specific recipients after the migration.
Send project level notifications (all mappings within a project) – The migration email notifications are based on the project level, which summarizes the project name and the mapping count of each migration status.
Recurrence – Enter a positive integer to define the recurrence days for the notifications.
Start date and time – Select a start date and time to send the first notification. The later notifications will be sent at the selected time based on the recurrence.
If you want to configure the end date and time of the notifications, you can select the Configure end date and time checkbox and select a date and time.
Send migration email notifications to – Define the recipients who will receive the notifications.
Email template – Create an email template for the notifications by clicking the Add (
) button. Refer to Manage Email Settings for details on how to create an email template. You can also select an existing email template from the drop-down list.
Send individual mapping level notifications – The migration email notifications are based on the mapping level, which summarizes the migration status, the project name, the source and destination email addresses, the migration start and finish time, and the migration person.
Define the notification scope for mappings – Select For failed mappings only to send notifications for the failed mappings only, or select For all mappings to send notifications for all mappings.
Send migration email notifications to – Define the recipients who will receive the notifications.
Person running the migration – The person who runs the migration will receive the notifications.
Additional recipients – Enter the email addresses of other recipients. Separate multiple email addresses with a semicolon (;).
Email template – Create an email template for the email notifications by clicking the Add (
) button. Refer to Manage Email Settings for details on how to create an email template. You can also select an existing email template from the drop-down list.
Click Save to save the migration policy. After creating the migration policy, you can click Set as default to set the policy as the default policy for migrations.
On the Migration policies page, you can manage existing policies.
For SharePoint Online to Google Drive Migration, configure a To Google Drive migration policy by completing the following steps:
Click Policies under Settings in the left pane.
Click Migration policies to access the Migration policies page.
Click the SharePoint Online tab and click To Google Drive.
Click Create migration policy. The Create migration policy panel appears.
Enter a name and an optional description for the policy, and then click Next.
In the What do you want to migrate? section, configure filters to define the objects you want to migrate:
Scope – Select the Only migrate objects in the top-level folder checkbox to only migrate the objects in the top-level folder. The subfolders and objects under them will not be migrated.
Permissions – Select whether you want to migrate permissions at each level.
Select the Migrate source site/library/folder permission tothe Google Drive folder checkbox to migrate site/library/folder permissions. In the destination shared drive, the migrated site/library/folder will have both permissions migrated from the source and permissions inherited from destination parent. In the destination user drive, the migrated library/folder will have permissions migrated from the source.
If you do not select this checkbox, the migrated site/library/folder in the destination will inherit permissions from its parent.
Select the Migrate source file/item permissions checkbox to migrate file/item permissions. In the destination shared drive, the migrated file/item will have both permissions migrated from the source and permissions inherited from destination parent. In the destination user drive, the migrated file/item will have permissions migrated from the source.
If you do not select this checkbox, the migrated file/item in the destination will inherit permissions from its parent.
You can select the Map the Owners, Members, and Visitors SharePoint groups to map migrate the users and groups in the default SharePoint groups to the destination based on the user mappings and permission mappings configured in your migration policy.
Select the Migrate source shared link permissions checkbox to migrate the permissions of source shared links to the destination. If you do not migrate shared link permissions, destination migrated shared links will be unavailable. With this checkbox enabled, you can also select if you want to migrate the expiration dates of the permissions.
Select the Migrate external user permissions checkbox to migrate external users to the destination. If no user mapping is configured or the mapped user for an external user cannot be found at the destination, Fly will automatically create the external user in Google and restore their permissions.
Filter policy – A filter policy can help you set up filter rules so you can control what lists, folders, and files can be included in your migrations.
Configure a filter policy to include/exclude objects – Select the checkbox to configure a filter policy for lists, folders, and files.
You can enter the keyword of a filter policy in the Search filter policy text box and press Enter on the keyboard button to search the filter policy. You can also click the Add (
) button to create a new filter policy, enter a name and an optional description for the filter policy, and define the filter rules for the List, Folder, or Document level. Refer to SharePoint/OneDrive Filter Policies for examples of filter policies that users can configure.
Migrate versions (only support the latest 100 versions) – Select the checkbox to migrate file versions in the migration.
*Note: The destination Google Drive supports a maximum of 100 versions.
All versions – Select this option to migrate all versions.
Latest versions – Select this option to migrate latest versions and enter a number between 1 and 100 to define the number of versions you want to migrate.
In the Conflict resolution section, specify the conflict resolution when the source folder or file conflicts with an existing one in the destination.
Refer to the following table to view the supported Folder level conflict resolutions.
| Resolution | Conflict | No Conflict |
|---|---|---|
| Merge | Merge the source and destination folders. | A new folder will be created. |
| Skip | Ignore the conflicting folder and do nothing in the destination. | A new folder will be created. |
| Resolution | Conflict | No Conflict |
|---|---|---|
| Skip | Ignore the conflicting file and do nothing in the destination. | A new file will be created. |
| Overwrite | Delete the conflicting file in the destination first and overwrite it with the source file. | A new file will be created. |
| Overwrite by last modified time | The conflicting file with the latest modified time will be preserved in the destination. | A new file will be created. |
Click Next to continue.
In the Migration to shared drives section, you can select the Automatically create shared drives when the destination drives cannot be found checkbox. With this option selected, Fly will automatically create shared drives when no shared drive or user drive with the name configured in the migration mapping can be found in the destination. If this option is not selected, the migration job will fail when the shared drive or user drive cannot be found.
In the Options section, define whether to migrate metadata of folders, files, and list items, and how to manage the sensitivity labels of files during the migration:
SharePoint Online metadata and items – Custom columns and column values of folders and files, as well as list items are not supported in the destination Google Drive. To migrate the metadata of folders and files, and list items, you can select the following checkboxes to migrate the data to Google sheets.
Migrate metadata of folders and files in libraries to Google sheets
Migrate metadata of folders and items in lists to Google sheets
To manage the sensitivity labels of files during the migration, select an option below:
*Note: If the source does not have the Microsoft Information Protection (MIP) service implemented or source files do not have any sensitivity labels applied, select the first option for your migration to ensure a successful job.
No label insource, or migrate files with source label to destination (if file has label encryption, it will be inaccessible in the destination) – Select this option if there is no sensitivity label applied on source files, or you want to keep the source sensitivity labels of the files to the destination.
After the migration, the migrated files that have label encryption may not be accessed in the destination.
If a label exists, remove it during the migration (source label remains, it is removed from the file in the destination) – Select this option if you want to remove the source sensitivity labels from the files.
After the migration, the migrated files do not have any sensitivity labels and can be accessed in the destination.
In the Mappings section, configure the following mappings for the migration:
User mapping – With a user mapping, you can map a source user/group to a destination one. You can also map a domain in the source to a destination domain. Users, securities, and user-related metadata can be migrated via user mapping. For a group mapping, only source group permissions will be migrated; the group membership will not be migrated.
Click the Add (
) button to create a new one. Refer to the Create User Mappings section to view how to create a user mapping. You can also select a previously created user mapping from the drop-down list to use it (Clicking View details can view and edit the detailed information of the selected user mapping.). You can enter the keyword of a user mapping in the Search user mapping text box and press Enter on the keyboard to search the user mapping.
*Note: For the users/groups that have not been configured in user mappings, you can choose to map the users/groups based on User principal name prefix and/or Display name.
Switch on/off the button of each property to configure whether you want to map users/groups based on that property.
Click the Up or Down button of a property to configure the sequence for mapping users/groups.
Permission mapping – With a permission mapping, you can map source SharePoint Online permission to a destination Google Drive permission.
Click the Add (
) button to create a new one. Refer to the Create Permission Mappings section to view how to create a permission mapping. You can also select a previously created permission mapping from the drop-down list to use it (Clicking View details can view and edit the detailed information of the selected permission mapping.). You can enter the keyword of a permission mapping in the Search permission mapping text box and press Enter on the keyboard to search the permission mapping.
In the Customized features section, you can add customized features by entering the corresponding customized feature strings. Click Add customized feature, and then enter a customized feature string to configure a customized feature. Refer to Customized Features for SharePoint Online/OneDrive Migration for details.
Click Next to continue.
Configure the Notifications setting to send migration email notifications to specific recipients after the migration.
Send project level notifications (all mappings within a project) – The migration email notifications are based on the project level, which summarizes the project name and the mapping count of each migration status.
Recurrence – Enter a positive integer to define the recurrence days for the notifications.
Start date and time – Select a start date and time to send the first notification. The later notifications will be sent at the selected time based on the recurrence.
If you want to configure the end date and time of the notifications, you can select the Configure end date and time checkbox and select a date and time.
Send migration email notifications to – Define the recipients who will receive the notifications.
Email template – Create an email template for the notifications by clicking the Add (
) button. Refer to Manage Email Settings for details on how to create an email template. You can also select an existing email template from the drop-down list.
Send individual mapping level notifications – The migration email notifications are based on the mapping level, which summarizes the migration status, the project name, the source and destination email addresses, the migration start and finish time, and the migration person.
Define the notification scope for mappings – Select For failed mappings only to send notifications for the failed mappings only, or select For all mappings to send notifications for all mappings.
Send migration email notifications to – Define the recipients who will receive the notifications.
Person running the migration – The person who runs the migration will receive the notifications.
Additional recipients – Enter the email addresses of other recipients. Separate multiple email addresses with a semicolon (;).
On the Migration policies page, you can manage existing policies.
Configure the following settings on the mapping page:
Enter a name and an optional description for the mapping.
In the Template mapping section, set up template mappings on site or list level.
In the Site template mapping tab, enter the template ID in the Sourcetemplate and Destination template text boxes. You can also click the down arrow (
) button and select the desired template name (The corresponding template ID will be displayed after the selection.).
Click Addto add a new mapping.
To delete site template mappings, select the corresponding checkboxes and click Delete.
In the List Template Mapping tab, enter the template ID in the Sourcetemplate and Destination template text boxes. You can also click the down arrow (
) button and select the desired template name (The corresponding template ID will be displayed after the selection.).
Click Addto add a new mapping.
To delete list template mappings, select the corresponding checkboxes and click Delete.
Click Save to save the settings for this mapping.
Complete the following settings on the mapping page:
| Source Column Type | Destination Column Type |
|---|---|
| Single line of text | Single line of text, Multiple lines of text, Choice, Choice (allow multiple selections), Currency, Number, Date and Time |
| Choice | Single line of text, Multiple lines of text, Choice, Choice (allow multiple selections), Currency, Number, Date and Time |
| Number | Single line of text, Multiple lines of text, Choice, Choice (allow multiple selections), Currency, Number, Yes/No |
| Currency | Single line of text, Multiple lines of text, Choice, Choice (allow multiple selections), Currency, Number, Yes/No |
| Yes/No | Single line of text, Multiple lines of text, Choice, Choice (allow multiple selections), Currency, Number, Yes/No |
| Date and Time | Single line of text, Multiple lines of text, Choice, Choice (allow multiple selections), Date and Time |
| Choice (allow multiple selections) | Single line of text, Multiple lines of text, Choice, Choice (allow multiple selections), Currency, Number, Date and Time |
| Managed Metadata | Managed Metadata, Managed Metadata (Allow multiple values) |
| Managed Metadata (Allow multiple values) | Managed Metadata, Managed Metadata (Allow multiple values) |
| Lookup | Lookup, Lookup (Allow multiple values) |
| Lookup (Allow multiple values) | Lookup, Lookup (Allow multiple values) |
| Person or Group | Person or Group, Person or Group (allow multiple selections) |
| Person or Group (allow multiple selections) | Person or Group, Person or Group (allow multiple selections) |
Configure the following settings on the mapping page:
Enter a name and an optional description for the mapping.
In the Content type mapping section, enter content type names in the Source content type and Destination content type text boxes.
Click Add to add a new mapping.
To delete content type mappings, select the corresponding checkboxes and click Delete.
Click Save to save the settings for this mapping.
URL mappings allow you to map a source URL added to a source object to a destination URL to make sure the URL works in the destination. Refer to the following table to view the supported and unsupported URLs of source objects.
| URL Type | URL Type | Supported Status | Comment |
|---|---|---|---|
| Column Value | Hyperlink or Picture | Supported | |
| Column Value | MediaFieldType | Supported | |
| Column Value | Note | Supported | |
| Column Value | HTML | Supported | |
| Column Value | Link | Supported | |
| Column Value | Image | Supported | |
| Column Value | Summary Links | Supported | |
| File Content | URL inserted in Office file | Unsupported | |
| File Content | URL inserted in other file | Unsupported | |
| Page | URL inserted in page | Supported | |
| Page | URL inserted in web part | Partially supported | The URL Mapping function is not supported for URLs inserted to Text web parts on modern pages. |
| Navigation | Heading | Supported | |
| Navigation | Link | Supported | |
| Workflow | URL in workflow action | Supported | |
| Web Part | Link inserted in web part | Supported |
Configure the following settings on the mapping page:
Enter a name and an optional description for the mapping.
In the URL Mappings section, you can add the URL mapping one by one or import multiple mappings in bulk.
Add URL mapping – Enter the URL in the Source URL and Destination URL textboxes and click Add to add a new mapping. The following formats are supported for source and destination URLs.
Import URL mappings – Click Import. In the Import panel, you can download the template for mapping examples and configure mappings directly in the file. You can click Export in this section to export a mapping file and modify it. After the configurations, in the Import panel, import the mapping file by dragging the file or browsing the file from the local location. Click Save to save the mappings.
The formats in the screenshot below are supported for source and destination URLs.

To delete URL mappings, select the corresponding checkboxes and click Delete.
Click Save to save the settings for this mapping.
Configure the following settings on the mapping page:
Enter a name and an optional description for the mapping.
Select the Auto map checkbox to automatically map the label based on the label name if the source label is not configured in label mappings.
In the Label mapping section, enter the display names of the source and destination sensitivity labels in the Source label and Destination label text boxes. If the source or destination sensitivity label is a sub label, enter the display name of the sensitivity label in the format of parent sensitivity label name*/*sensitivity label name.
Click Add to add a new mapping.
To delete sensitivity label mappings, select the corresponding checkboxes and click Delete.
Click Save to save the settings for this mapping.
Complete the following settings on the mapping page:
Enter a name and an optional description for the mapping.
In the Permission mapping for user drive and Permission mapping for shared drive sections, choose a Google Drive permission for each source permission.
If the existing SharePoint/OneDrive permissions cannot satisfy your requirements, you can create a new permission by clicking Add, entering the permission name, and choosing a Google Drive permission level for it.
Click Save to save the settings for this mapping.
There are some notes need your attention: