Getting started with the Zoom Team Chat Migration app

The Team Chat Migration app (Slack migration tool) is a self-service tool in the Zoom App Marketplace that provides end-to-end (E2E) migration of Slack chat history and data for users migrating from Slack to Zoom Team Chat. This tool can help users migrate Slack data and consolidate multiple Slack Workspaces into one Zoom account.

This app is designed to migrate:

Zoom uses a dashboard that allows admins to create migration jobs to replicate Slack data in real-time for public channels and private conversations (direct messages, group chat, and private channels). The Zoom app does not delete any of your data in Slack.

Learn more about using the Team Chat Migration app, Zoom Team Chat Migration app mapping, and troubleshooting the Team Chat Migration app.

This article covers:

How to understand Zoom Team Chat Migration app admin deployment

Zoom offers its own automated, migration service, Team Chat Migration application, to create jobs that migrate data in real-time when admins trigger the migration to run. This solution reduces the risk of data loss while maintaining Zoom’s enterprise-grade security. This dashboard connects to Slack using admins’ preferred OAuth 2.0 standard and real-time APIs.

The Zoom migration self-service app lets you configure migration jobs with variable date ranges to migrate: public channels, direct messages, group chats, private channels, channel manager and member permissions, files, reactions, and more. All threaded messages are preserved with the sender’s name and original time and date stamp.

The admin installing the Zoom Marketplace app must access role management on the web portal. They must ensure that they are assigned the correct chat management permissions—the Edit checkbox is selected for Chat Channels and Chat Messages roles. Otherwise, they will not be able to authorize the Zoom Slack Migration app because they do not have the required permissions.

Understand the Slack Migration app admin requirements and guidelines

Admin permissions

Admins must grant permission to the Slack workspace account or organization to install and authorize the private application, Message Retriever. They must approve the use of apps in a Slack workspace and grant permissions for all members to use the app.

Admins must grant permission to install the Team Chat Migration app in your Zoom account along with 2 Team Chat Management permissions in the admin role.

User authorization

To migrate private conversations, Slack requires authorization from users for an app to read their messages. Only 1 person in a group chat or private channel needs to authorize the app for the conversation to migrate.

Upon the creation of a private job, admins can generate an email authorization (generated from from the dashboard to users. Users must be authenticated to Zoom using the same email as their Slack email when they approve the app. If you are running more than 1 migration job for larger amounts of data, this only needs to be completed one time per user per workspace.

How to understand the Zoom Team Chat Migration app

The Team Chat Migration app is designed to:

Learn more about using the Team Chat Migration app (Slack Migration tool).

How to understand the supported message data for migration

The supported message types for migration are:


Learn more about Zoom Team Chat Migration app features.

How to understand User Sync and Public Channel Sync tasks

Once a workspace connection is created, background tasks to “sync” users and channels are triggered. No further action is needed from you.

Understand the User Sync task

The User Sync task fetches all full, active members in your Slack workspace and creates a 1:1 mapping to their corresponding Zoom account using their email address.

If an active Slack user’s email address is not found in Zoom, a new deactivated user will be created in Zoom for that email address.

If an active Slack user’s email address is found under a different Zoom account (i.e., a personal account), then the user will be mapped to a “dummy user”. In your Zoom account, this user will be named TeamChatMigration AppUser and will be present to ensure all message data is migrated for your workspace.
Note: Do not delete this user.

Understand the Public Channel Sync task

The Public Channel Sync task fetches all public Slack channels but does not migrate them to Zoom. This will enable you to select specific public channels to migrate.

All public channels will be set with the following permissions:

How to understand scopes, permissions, and Slack API rate limits

Slack APIs are used to fetch your Slack user, channel, and message data. Slack user, channel, and message data all have rate limits, meaning that they only allow a certain number of requests per minute for a workspace. This is an important point to keep in mind when you plan for the time commitment of your migrations.

Note: Ensure that you add approx numbers for migration time.

The Zoom App Marketplace needs the following permissions to be installed by the admin and scopes within their Zoom tenant: Team Chat Management> Chat Channels = Edit; Chat Messages = Edit.

The Zoom-built Slack app must be installed by the Slack admin as a private app in their Slack tenant and will request the following permissions:

How to understand deleting the Team Chat Migration app

Once data is migrated, this app contains the 1:1 mappings between Slack conversations and Zoom conversations. Deleting this app from your Zoom account will also remove these mappings and will lead to duplicate channel and chat creations if you re-install and migrate again. You should only delete the Team Chat Migration app if you are sure you will not migrate again.

How to plan for the Zoom Team Chat Migration app

Strategize data migration

Workspaces with more than 100 users likely have tens of thousands of old private group chats and direct messages (DMs) that were never archived or deleted, even after one or more of their users were removed from the company. This causes private migration jobs to take significantly longer than public jobs. Admins are advised to try and clean their old data by either manually archiving these old conversations or updating their Slack retention period to delete them automatically.

First, evaluate what data needs to live as active data in Zoom Team Chat and what data can be exported for archiving, should it be needed for legal, compliance, risk mitigations, human resources, and more.

While you can replicate more Slack data into Team Chat, Zoom recommends you replicate 1 year of active data and the rest be archived. Most users rarely need to search beyond 1 year to perform in their role and communicate. Zoom recommends creating migration jobs in smaller batches of 3-6 months due to best practices for successful data migrations.

It is important to consider where data lives now, in Slack or integrated with third-party services for DLP, e-Discovery, and archiving.

Consider chat history retention with Zoom

There are a few retention-related considerations with migration from Slack to Zoom since all of Slack is on the cloud and Zoom offers more granular retention options.

Learn more about message retention history.

Best practices for the Zoom Team Chat Migration app

Best practices for pre-migration

Follow these notes and recommendations for an easier pre-migration process:

Best practices for migration

The following process is a high-level overview of the migration process:

  1. Before migration, users are built on Zoom and ideally have authenticated at least once.
  2. Admins have prepared and added the Slack Migration app to their Zoom account.
  3. The admin performing the migration must have the right permissions for both platforms and their email must match between their Zoom account and Slack account.
  4. Admins install the private app in Slack to connect to Zoom and perform the authentication using OAuth.
  5. Admins use the Zoom Team Chat Migration app to configure migration job(s) to run and move the data from Slack to Zoom Team Chat. This process will be a minimum of 2 jobs since at least 1 will move private conversations and at least 1 will move public channels.

When migrating, it is recommended that you follow the below steps:

  1. Migrate data from one channel by selecting the Select Public Channels Conversation Type and choosing a specific channel. We recommend that you select a week's worth of data from some of your oldest channels.
  2. Create jobs to transfer all the public channels from over a year ago, then verify that all channels were created with users.
  3. After verifying that the app works as expected, create/run fewer jobs with larger time ranges than more jobs with smaller time ranges.
    Each job contains the same amount of steps to migrate.
  4. (Optional) Repeat and follow these steps for private job migrations.

After data migration, your data will appear as the following:

Additional resources

Learn more about the Zoom Team Chat Migration app by viewing the following articles: