Home > Microsoft Teams To Google Chat Spaces Migration Process

Download this article

Microsoft Teams To Google Chat Spaces Migration Process

The sections below contain the general migration process for Microsoft Teams to Google Chat Spaces Migration. The details outlined in this document can serve as general guidelines with some minor adjustments.

More steps may be needed, and some steps included in the process may be optional according to your migration requirements.

Preparation

Before the migration, you need to identify what object types you want to migrate. See the Supported and Unsupported List.

1. Create a service account, app profile or delegated app profile with required permissions for source connection

To connect Fly to your Teams, create a service account, an app profile or a delegated app profile with the required permissions for the source connection.

2. Create a custom app profile with required permissions for destination connection

To connect Fly to your spaces, create an app profile with the required permissions for the destination connection.

3. Run the source tenant discovery (optional)

Before you migrate from Microsoft Teams, you can run a tenant discovery of Microsoft Teams 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 the user guide for Tenant Discovery for details

4. Create users in destination tenant

User mappings are required when executing migrations. Make sure users of the following data are created in the destination tenant before the migration.

  • Team Membership

  • Conversation sent by

  • Permission

  • Other data that needs users

5. External users

External users cannot be added directly to destination spaces during the migration. Make sure the external users have been added to the contacts before the migration.

6. Create Spaces in destination tenant (optional)

Fly can create spaces in the destination during the migration if the destination spaces do not exist.

  • If channel mapping is enabled, the destination space will be created using the name specified in the channel mapping.

  • If channel mapping is disabled, the destination space will be named in the format of [Team email address prefix]_**[Channel name]. For example, the source Team email address is Source@sourcecontoso.com and channel name is General, the destination space name will be Source_General.

7. Create source and destination connections

Refer to Create a Connection to connect Fly to your source and destination. The source connection including both the app profile and service account is recommended. The destination connection using the Google custom app profile is recommended.

8. Prepare mapping files

Configure Teams to Spaces mapping files and user mapping files:

  • Examples in the Teams to Spaces mapping file

    Examples in the Teams to Spaces mapping file.

  • Examples in the user mapping file

    A screenshot of a computer AI-generated content may be incorrect.

9. Design the migration policy

A Microsoft Teams to Google Chat Spaces 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 user with destination users, how to map users, and how to manage the sensitivity labels of files for Microsoft Teams to Google Chat Spaces migrations. Refer to Create a Migration Policy for details.

The Automatically complete newly created spaces option helps you to auto complete the destination new spaces after the full/incremental migration job. By default, the option will not be selected. After all messages are migrated to destination spaces, you can manually complete destination spaces by running a complete migration job. If you want to enable the auto complete, you can select the option in the migration policy.

10. Migration throughput

In Microsoft Teams to Google Spaces migrations, the job speed depends on the size of SharePoint Team sites and the number of conversations.

Conversation Migration Throughput:

Generally, a reasonable conversation migration speed is 3600 messages/hour/mapping.

The number of mappings that run in parallel is automatically allocated based on your purchased subscription. The more subscriptions you purchase, the more mappings you can run in parallel.

There are many factors which may affect migration performance:

  • The above throughput number is for the full migration. Generally, it may be lower for the incremental migration since Fly needs to spend quite some time checking the migrated items’ status for the incremental migration.

  • The above results are only ideal values after many tests. The migration speeds of different tenants may be different. We recommend that you estimate the daily throughput in the same way as the results of the pilot job.

11. Plan a pilot run

We recommend you perform a pilot run for the following purposes:

  • Get familiar with the Fly interface and understand the whole migration process.

  • Discover and resolve any potential issues before production migration.

  • Understand the throttling situation in case content size is large, and then try to resolve with the destination.

Migration Execution

Refer to the following sections to execute the migration based on the migration modes.

  • Classic mode – The destination spaces already exist.

  • Advanced mode – The destination spaces will be created during the migration but not completed.

Classic Mode (Space exists)

Refer to the following sections to execute the migration with the classic mode:

1. Configure projects and mappings in Fly

To configure projects and mappings, refer to Create a Project and Create Migration Mappings for details. Use the mapping file of data to be migrated to configure the migration project.

2. Perform regular full migrations

Before running the job, we recommend you verify the mappings to ensure that the mappings are available for migration. Refer to Pre-analyze Mappings for details.

Then you can run a full migration job to migrate the objects based on your configured migration policy. Refer to Run Migrations to Migrate Objects for details.

3. Perform regular incremental migrations

Some issues may occur during a full migration job. Run an incremental migration job to handle new, updated, and failed data. Refer to Run Migrations to Migrate Objects about how to perform regular incremental migrations.

4. Communicate with end users (optional)

Notify end users of the migration schedule. Publish a message in each source Team to inform end users that they can run incremental jobs before final validation.

5. Perform the final incremental migration and migrate membership

Notify all users and make sure the source Teams do not have any new/modified objects. Then perform the final incremental migration job.

After you complete your migrations but the source membership is not included in the migrations, to make the destination Team available for users, you can run a Migrate membership job to only migrate the source membership, including owners, members, and guests. Refer to the user guide for details.

6. Perform the replacement of attachment URLs (optional)

After your migration jobs are finished, some attachment URLs may fail to be replaced with the corresponding destination Google Drive URLs, rendering them inaccessible to destination users. To ensure accessibility after the migration, you can run a Replace attachment URLs job.

By default, only URLs of attachments within the current Team sites or channel sites can be replaced.

If your source Teams contain URLs of attachments from other Teams or OneDrive, you can generate URL mapping report to get the inaccessible external attachments and configure URL mappings for them. Then, you can select the Replace external attachment URLs checkbox and run the Replace attachment URLs job to replace their URLs.

7. Validate migration results

Check the following items during the validation period:

  • Number of messages

  • Number of files

  • Format of conversations

8. Perform migrations for all other waves (optional)

This step is needed only if you have separated the mappings into multiple waves.

9. Perform the final validation

During the final validation, you should validate members of the destination spaces.

Advanced Mode (Space does not exist)

Refer to the following sections to execute the migration with the advanced mode:

1. Configure projects and mappings in Fly

To configure projects and mappings, refer to Create a Project and Create Migration Mappings for details. Use the mapping file of data to be migrated to configure the migration project.

2. Perform regular full migrations

Before running the job, we recommend you verify the mappings to ensure that the mappings are available for migration. Refer to Pre-analyze Mappings for details.

Then you can run a full migration job to migrate the objects based on your configured migration policy. Refer to Run Migrations to Migrate Objects for details.

3. Perform regular incremental migrations

Some issues may occur during a full migration job. Run an incremental migration job to handle new, updated, and failed data. Refer to Run Migrations to Migrate Objects about how to perform regular incremental migrations.

4. Communicate with end users (optional)

Notify end users of the migration schedule. Publish a message in each source Team to inform end users that they can run incremental jobs before final validation.

5. Perform the final incremental migration

Notify all users and make sure the source Teams do not have any new/modified objects. Then perform the final incremental migration job.

6. Run a complete migration job and migrate membership

Run a complete migration job to make the destination spaces available for end users.

After you complete your migrations but the source membership is not included in the migrations, to make the destination space available for users, you can run a Migrate membership job to only migrate the source membership, including owners, members, and guests. Refer to the user guide for details.

7. Perform the replacement of attachment URLs (optional)

After your migration jobs are finished, some attachment URLs may fail to be replaced with the corresponding destination Google Drive URLs, rendering them inaccessible to destination users. To ensure accessibility after the migration, you can run a Replace attachment URLs job.

By default, only URLs of attachments within the current Team sites or channel sites can be replaced.

If your source Teams contain URLs of attachments from other Teams or OneDrive, you can generate URL mapping report to get the inaccessible external attachments and configure URL mappings for them. Then, you can select the Replace external attachment URLs checkbox and run the Replace attachment URLs job to replace their URLs.

8. Perform incremental migrations for other waves (optional)

If there are new or modified objects in the source after the complete job, you can perform the incremental migrations to make sure all source changes are migrated to the destination.

9. Validate migration results

Check the following items during the validation period:

  • Number of messages

  • Number of files

  • Format of conversations

10. Perform migrations for all other waves (optional)

This step is needed only if you have separated the mappings into multiple waves.

11. Perform the final validation

During the final validation, you should validate members of the destination spaces.