Home > Perform Microsoft Teams Migrations > Create a Migration Policy
Export to PDFA Microsoft Teams migration policy allows you to define the migration scope of Team objects, the destination format of channel conversations, the conflict resolutions, whether to replace source email addresses/meeting links with destination, how to map users, and how to manage the sensitivity labels of files/emails/Teams for Microsoft Teams migrations.
For Microsoft Teams to Microsoft Teams Migration, configure a To Microsoft Teams 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 Microsoft Teams tab and click To Microsoft Teams.
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:
Team – Select the objects of source Teams you want to migrate. With the Membership option selected, you can continue selecting to migrate guest users and/or external users.
Guest users are added via the Microsoft 365 admin center, and can be added as team members and private channel members.

External users can be added to shared channels 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 into 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.
Channel conversation format – Define the format of the migrated conversations in the destination by selecting the corresponding option.
Recreate messages and hierarchy – Migrate the source conversations as messages and keep the source hierarchy of the conversations to the destination.
You can select a date to only migrate the conversations after the specified date.
Archive messages to an HTML file in channel folder – Migrate the source conversations as an HTML file and store the HTML file in the destination channel folder. You can find the HTML file in the Files tab of the migrated channel in the destination. The HTML file is named in the format of Team’s email address prefix**_source channel name_ConversationHistory.html. For example, Team01_Channel01_ConversationHistory.html
*Note: In the classic mode, migrated messages will be posted by the destination service account or the consent user of the delegated app profile. The senders and sent time of source messages will be displayed in the content of destination messages.
The screenshot below demonstrates how to migrate the conversations.

Source conversations.

Conversation migrated via the advanced mode.

Conversation migrated via the classic mode.

The HTML file.
Define the time zone for messages – Select a time zone for messages migrated to the destination.
*Note: If you also define a different time zone by the TimeZone customized feature, Fly will use the time zone defined by the customized feature.
SharePoint team site – Choose whether to migrate the following objects of source team sites.
All data in SharePoint team site – Select this checkbox to migrate all data of source team sites.
Only the default Documents library – Select this check to migrate only the default Documents libraries in team sites of Teams and private channels.
Group mailbox – Select the Mailbox checkbox to migrate mailbox items of source Group mailboxes.
Migration policy for team site and group mailbox – Select a policy type according to your requirements.
Simple policy – This option allows you to customize how to migrate Team data. However, the migration scope of SharePoint and Exchange data cannot be customized.
*Note: SharePoint and Exchange data will be migrated based on the default settings that are pre-configured when you first create a corresponding policy without any changes. Refer to the following screenshots for details.

SharePoint data that will be migrated.

Exchange data that will be migrated.
Use custom SharePoint Online and ExchangeOnline migration policies – If you want to also customize how to migrate SharePoint and Exchange data, select this option to configure and use SharePoint and Exchange migration policies.
With this option, you can ignore step 8 and the mail/file configurations in step 10, including Replace email addresses of senders/recipientsbased on user mappings, Replace meeting links with the destination information, and options of managing the sensitivity labels of files/emails during the migration.
*Note: If you have configured the filter policy in the SharePoint migration policy and will run the full migration job in Teams migrations with the SharePoint migration policy, do not change the filters in subsequent incremental jobs.
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 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 content. | 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. |
| Resolution | Conflict | No Conflict |
|---|---|---|
| Skip | Ignore the conflicting item and do nothing in the destination. | A new item will be created. |
| Overwrite | Delete the conflicting item in the destination first and overwrite it with the source item. | A new item will be created. |
Click Next after you finish configuring the conflict resolutions.
In the Additional options & mappings step, configure the following settings for the migration.
Replace email addresses of senders/recipientsbased on user mappings – Select this checkbox if you want to replace the source email addresses of email senders/recipients with the destination ones. To make this setting available in the migration, you must configure user mappings for the source email addresses.
Replace meeting links with the destination information – With this checkbox selected, the Teams meeting links in emails will be replaced with the destination information and correctly linked to the meeting when users click them. If it is not selected, the meeting links can be kept but cannot be directed to the meeting. To make this setting available in the migration, you must configure user mappings for the source meeting organizers. When you select this option, there are some notes that need your attention, refer to the Notes When Replacing Meeting Links section in for details.
Sync privacy settings of Teams created by Fly – Select this option to synchronize the updated privacy settings of source Teams to destination Teams.
*Note: This only applies to destination Teams created by Fly.
To manage the sensitivity labels of files/emails during the migration, select an option below:
*Note: If the source does not have the Microsoft Information Protection (MIP) service implemented or source files/emails do not have any sensitivity labels applied, select the first option for your migration to ensure a successful job.
No label insource, or migratefiles/emails with source label to destination (if file/email has label encryption, it will be inaccessible in the destination) – Select this option if there is no sensitivity label applied on source files/emails, or you want to keep the source sensitivity labels of the files/emails to the destination.
After the migration, the migrated files/emails 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/email in the destination) – Select this option if you want to remove the source sensitivity labels from the files/emails.
After the migration, the migrated files/emails 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/emails during the migration, and applies existing destination sensitivity labels with the same display name to the migrated files/emails in the destination. The source sensitivity labels applied to source files/emails 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/emails with existing destination sensitivity labels.
According to the label mappings, Fly will remove the source sensitivity labels from the migrated files/emails during the migration, and apply the destination sensitivity labels to the migrated files/emails in the destination. The source sensitivity labels applied to source files/emails 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 Teams during the migration, select an option below:
*Note: To manage the sensitivity labels, we recommend you provide both the service account and app profile in the destination connection.
If you only provide a service account or app profile, data in SharePoint sites must be migrated together with Teams. Additionally, if the destination Teams already exist before the migration, make sure the conflict resolution for SharePoint team site is Merge.
*Note: If the source does not have the Microsoft Information Protection (MIP) service implemented or source Teams 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 Team to the destination – Select this option to not keep the source sensitivity labels to the destination Teams.
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 Teams.
Apply labels in the destination based on label mappings (labels must exist in both source and destination) – Select this option if you want 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 Teams 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.
User mapping – With a user mapping, you can map a source user 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 Add (
) button to the right of the field 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 and click View details to view 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 that have not been configured in user mappings, you can choose to map the users based on User principal name prefix, Display name, and/or Email address prefix. (Email address prefix is only supported for users of team sites.) Refer to the table below for property examples:
| 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@ |
3. Click Next after you finish configuring the options and mappings.
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 Microsoft Teams to Microsoft Teams Migration, configure a To Microsoft Teams 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 Microsoft Teams tab and click To Google Chat Space.
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:
Team – Select the objects of source Teams you want to migrate. With the Membership option selected, you can continue selecting to migrate guest users and/or external users.
Guest users are added via the Microsoft 365 admin center, and can be added as team members and private channel members.

External users can be added to shared channels 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 into 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.
Channel conversation format – Define the format of the migrated conversations in the destination by selecting the corresponding option.
Recreate messages and hierarchy – Migrate the source conversations as messages and keep the source hierarchy of the conversations to the destination.
You can select a date to only migrate the conversations after the specified date.
Define the time zone for messages – Select a time zone for messages migrated to the destination.
*Note: The feature is only available when the destination space is completed.
*Note: If you also define a different time zone by the TimeZone customized feature, Fly will use the time zone defined by the customized feature.
SharePoint team site – Choose whether to migrate the following objects of source team sites.
All data in SharePoint team site – Select this checkbox to migrate all data of source team sites.
Only the default Documents library – Select this checkbox to migrate only the default Documents libraries in team sites of Teams and private channels.
Group mailbox – Select this checkbox to migrate the Group mailboxes related to the source Teams to destination Google Group mailboxes based on the configured project mappings.
*Note: Due to the differences in data storage methods, the email size in Exchange will increase in the destination Google Group at a ratio of 3:4. The data size mentioned here is calculated based on Google’s storage capacity.
Migration policy for team site – Select a policy type according to your requirements.
Simple policy – With this option selected, Fly will use the default SharePoint to Google Drive migration policy to migrate SharePoint team site.
*Note: SharePoint data will be migrated based on the default settings that are pre-configured when you first create a corresponding policy without any changes. Refer to the following screenshots for details.

SharePoint data that will be migrated.
Use custom SharePoint Online migration policy – If you want to customize how to migrate SharePoint Online data, select this option to configure and use the SharePoint migration policy. With this option selected, you can ignore the step 8.
*Note: If you have configured the filter policy in the SharePoint Online migration policy and will run the full migration job in Teams migrations with the SharePoint Online migration policy, do not change the filters in subsequent incremental jobs.
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 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 content. | 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 after you finish configuring the conflict resolutions.
In the Additional options & mappings step, configure the following settings for the migration.
Replace email addresses of senders/recipients based on user mappings - Select this checkbox if you want to replace the source email addresses of email senders/recipients with the destination ones. To make this setting available in the migration, you must configure user mappings for the source email addresses.
Automatically complete newly created spaces – Select the checkbox to automatically run a complete migration job after every full or incremental job to make the spaces available.
Select how to replace attachment URLs – Select an option to replace attachment URLs in the source messages with corresponding destination URLs in Google Drive.
Replace attachment URLs when the migration of the Team site and channel site is completed (This option will affect the migration performance) – Replace all attachment URLs in the source messages when all Team sites and channel sites have been migrated. This option will take more time to complete the job.
Replace attachment URLs when all messages are migrated (URLs replaced before their corresponding files are migrated may become inaccessible in the destination and will need to be replaced again in subsequent jobs) – Replace the source attachment URLs for which corresponding URLs are available in the destination Google Drive during the migration. In the process, the replacement of those without corresponding URLs in the destination Google Drive will fail. You can run an incremental job to migrate the failed URLs.
User mapping – With a user mapping, you can map a source user 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 Add (
) button to the right of the field 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 and click View details to view 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 that have not been configured in user mappings, you can choose to map the users based on User principal name prefix, and/or Display name. Refer to the table below for property examples:
| Property | User Principal Name | User Principal Name Prefix | Display Name |
|---|---|---|---|
| Property Example | JohnSimon@onmicrosoft.com | JohnSimon@ | JohnSimon |
11. Click Next after you finish configuring the options and mappings.
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.
Complete 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.
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 full URLs of source and destination sites in the Source URL and Destination URL textboxes.
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.
To delete URL mappings, select the corresponding checkboxes and click Delete.
Click Save to save the settings for this mapping.