1. Slack To Teams Migration : Introduction

Play Video about Slack To Teams Migration

Slack to Teams migration can be challenging for several reasons: 

Data compatibility: Slack and Teams use different data structures and formatting, which can result in data loss or incorrect formatting during the migration process.  

Different feature sets: Slack and Teams have very different user interfaces, so workflows and user experiences are varied across the two platforms. Recreating the same experience is challenging, and dependent on migrating all of the information from Slack into Teams. 

Integration with other tools: Slack integrates with a wide range of third-party tools and services, while Teams is tightly integrated with other Microsoft products. This can make it challenging to transfer data from Slack-integrated tools to Teams and recreate the same workflows. 

Performance issues: Slack and Teams limit importing and exporting internal information to protect their infrastructures, which can cause large migrations to be stopped before they’re done. Incomplete migrations can result in significant data corruption and data loss. This may result in incorrectly formatted messages as they migrate from Slack to Teams, as well as the loss of properties such as timestamps, @mentions, emojis, and users. They also protect their uses, and there are additional steps required to migrate private data such as direct messages.

Mitigation:Cloudiway mitigates many of these challenges by providing an automated migration process, support and assistance throughout the migration, and customization options to meet the specific needs of your organization. The unique Self Service solution of Cloudiway will allow your users to trigger their own migration and migrate their private messages, making the Slack to Teams migration challenges easier. 


Cloudiway offers several key benefits that can be crucial to the success of your migration. 

  • Automated migration: Our automated migration process quickly and easily moves an organization’s data from Slack to Teams without requiring manual operation.  

  • Data mapping and transformation: Cloudiway allows organizations to map and transform their data during migration, ensuring that the data is correctly structured and formatted for Teams. This improves the overall quality of the data and ensures a smooth transition. 

  • Minimal downtime: Cloudiway’s migration process is designed to minimize downtime and disruption to the organization, allowing teams to continue working without interruption. 

  • Customizable migration: Organizations are able to customize the migration process to meet their specific requirements. This can include selecting the data to be migrated, mapping specific data fields, and adjusting the migration process to suit their specific needs. 

  • Support and assistance: We provide additional support and assistance throughout the migration process and are available through a variety of means to answer any questions that may come up during the migration process. This can include documentation, training, technical support, and ongoing assistance throughout the migration. 

Using Cloudiway to migrate from Slack to Teams can help organizations move their data quickly and effectively, minimize downtime and disruption, and ensure a successful transition to Teams. 

2. What's Migrated

3. Migrate Direct Messages

Direct messages are considered private data by Slack and cannot be accessed by the company or by an administrator. However, direct messages can be migrated with the specific user credentials, once the user has given their consent.To migrate direct messages, you can follow the steps in this article.

Note : Direct Messages are injected into Chat directly. In order to prevent throttling, by default Cloudiway migrates up to 1000 most recent messages to the chats and the oldest ones are archived into an HTML file uploaded into the OneDrive of the user. These default values can be overwritten in the Global Settings.

4. Slack toTeams Migration Prerequisites

Before you start your Slack to Teams migration project, there are several key steps that need to be completed first. Make sure that you follow these steps in order, or there may be obstacles when running the migration itself. 

The Slack application needs to be installed and configured in the Slack tenant. Administrator credentials are required.

Migration uses a mix of Graph APIs and CSOM calls, which require specific permissions to execute. An Azure Active Directory application needs to be installed on the Microsoft 365 tenant.  Administrator credentials are required for this setup.
We recommend creating a specific Microsoft 365 account dedicated to the migration that can be deleted once the migration is completed.

  • The migration account needs an Microsoft 365 Teams License.
  • It must be a SharePoint administrator.
  • It must not be configured with multi-factored authentication (MFA) or SSO (ADFS).
  • Cloudiway automatically creates the team, therefore it doesn’t have to exist before the migration. If it already exists, it will be used and data appended to it.

Slack Migration requires 2 kind of Cloudiway licenses:

  • Licenses for migrating Channels
  • Licenses for migrating User Direct Messages

Please reachout Cloudiway Sales to request for pricing and quote.

5. Slack To Teams Migration Process

The migration is a seven step process. 

  1. Create the connectors for connecting to the source and the target .

  2. Run a Discovery (GetList) or upload your list from a CSV file.

  3. Configure the target location and Target Connectors

  4. Fill the Mapping Table.

  5. Run an Audit to fully scope the scale of the migration, including how much data will need to be migrated. This step is optional. 

  6. Run a Pre-Processing to pre-create the target teams and channels and migrate the permissions.

  7. Run the migration.

To facilitate the Slack to Teams migration, the Cloudiway platform needs to be able to communicate with both your source and target domains. To do this, Cloudiway uses connectors. You will need to set up a connector for each source tenant and each target tenant.

Slack connector

To configure your Slack connector and create your Slack token, proceed with the steps in the following article : Slack Connector Configuration

Microsoft 365 connector

To configure your Microsoft 365 connector and create your token, proceed with the steps in the following article : Microsoft 365 connector configuration.
For large Slack to Teams migration projects, it’s possible to create multiple connectors that will be used in parallel. Please contact Cloudiway Consulting Services if you need to set up such a configuration. 

There are three ways to retrieve or upload your Slack channels; Run a Get List, upload a CSV, or manually create a single channel.


To retrieve or upload your Slack channels, select the Group List tab under the Sites product.

Group List

Under MIGRATION , click on the Get List option:


Select your source pool connector:

slack select connector

Click GET to start the process:

slack connector

You can monitor the progress of this task in the logs. The amount of time it takes to compile the list will depend on how much content you are migrating from Slack. On average, you should get the list within 5 minutes.

Once the list is retrieved, you need to assign a target connector to the entries by configuring the target location. 

The second way to edit the slack migration list is to upload a CSV file.

Check this article for generating the CSV file correctly:

Click MANAGE > Import. Select the CSV File, the Source, and Target Connectors, then click Upload.

Cloud Importcsv

 After uploading a CSV file, there is no need to define the source and target location.

Import CSV

The third way to edit the slack migration list is to manually create an entry.

You can also create a single channel by adding your source Slack connector and defining the source channel.

Click the MANAGE tab, and from the drop-down list click Create:

Cloudiway Slack to Teams Private Channel

For Source Group Name, add an existing slack channel.

slack channel name

Source ID field: Extract it from the URL.

slack url

The Cloudiway Slack to Teams migration tool offers you 3 options to select the destination of your Slack channels:

  1. Migrate a Slack channel into a team (General channel of the team).

  2. Migrate a Slack channel into a specific channel of a team.

  3. Migrate a Slack channel into a private channel of a team.

The following picture shows the various options.
Cloudiway Slack to Teams Migration

If you want to migrate into a specific channel, set the name of the team in the Target Name field, and the name of the channel in the Target Channel Name field. If you don’t set these fields, the Slack channel will be moved into the general channel of the team.

slack target channel name

If the team or the channel doesn’t exist in the target, it will be created during the pre-processing task.

If you want to mass assign a target connector to your objects in the list, you can select them and from the menu, click on MANAGE, then Assign Target.

In the same way, you can add a prefix to several entries at the same time

Add a Prefix to the Target?

You can add a Prefix to the Target Group Name and the Target Group Email Address.

In the Group List, check one or more objects that you want to add a prefix to. Go to MANAGE, then click Add Prefix.


Enter the Prefix in the pop-up and click SAVE.

In Microsoft Teams, there are permissions and metadata (createdby, modifiedby, etc.) that contain email addresses. During the migration, these addresses must be converted into target accounts.

The Slack to Teams migration tool uses the mapping table  to perform the conversion: the mapping table must be exhaustive because any email address not present in the mapping table will not be converted to the matching target address and you would endup with loss of permissions or metadata .

Cloudiway automatically populates the mapping table during the Discovery process.  Anyway it is your responsibility to check and validate the mapping table before starting the migration as entries may be missing or emails may be different at the target. This may happen if not all the users and groups are provisioned at the destination.

The audit is optional and purely informative.  You do not have to run it unless you want to see how many channels, files, and folders you have in the source Microsoft Team.

This feature reports information about the Source Slack:

  1. Number of conversations in Slack

    • Number of files in Slack

To Audit a Slack team, in Group List, select it and click MIGRATION > Audit.

slack audit

The pre-processing tool creates the team at the target if it doesn’t already exist. In the teams and channels it creates:

  1. It uses the graph APIs (Client ID and Client Secret) and gives the owner role to the migration account defined in the target connector.

  2. It migrates membership and ownership.

To pre-process a team, in Group List, select it and click MIGRATION > Pre-Processing.

The group or team is now ready to be migrated.

Note on Migration: The Slack to Teams migration tool is leveraging Microsoft Teams Import Apis to maximize throughput. This Microsoft article explains how it works.

Cloudiway has integrated these apis. Checkout this article to see how it is implemented in the platform.

Once you have run the Slack team’s pre-processing, you’re ready to start the migration. In Group List, select it and click on MIGRATION, Start.

This will schedule the migration. The migration will start as soon as there is a free spot on the platform.

You can monitor your migration by clicking on the team on the list. 

Google Chat To Teams Migration logs

The migration is now complete. You should have full access to your Slack channel information in your Microsoft Teams environment.

A slack to Teams migration project wouldn’t be complete without migration of the direct messages. Direct messages are considered private data by Slack and cannot be accessed by the company or by an administrator. However direct messages can be accessed and migrated if the user gives his consent to access the messages. The cloudiway platform is asking the user consent and once done is migrating the messages to the user chats in Teams.

To address potential performance issues, several options are available to limit the number of calls in Microsoft Teams:
– Migrate all messages
– Migrate the x most recent messages (default 1000)
– Migrate messages more recent than data
– Migrate messages older than date in HTML file uploaded to OneDrive rather than in the chats.

To migrate direct messages, please follow the steps in Migrate Direct Messages Article.