Slack to Microsoft Teams Migration Guide


    1. Overview
    2. Introduction
    3. Migration Challenges
    4. Features
      1. Discovery
      2. Audit
      3. Pre-processing
      4. Migration
      5. Delta Passes
      6. Self Service migration for Direct Messages
      7. Dashboard
      8. Saas instance/dedicated instance hosted by Cloudiway or on the customer side
      9. APIs
    5. Security
    6. Performance
    7. Benefits
    8. What is migrated
    9. Prerequisites
      1. Slack prerequisites
      2. Office 365 prerequisites
    10. Migration process
      1. Create your connectors
        1. Slack connector
        2. Office 365 connector
      2. Run a Discovery (Get List) or upload a CSV file
        1. Get List
        2. Configure the target location
        3. Manually configuration of a Slack channel
        4. CSV file Import
      3. Mapping table
      4. Audit
      5. Preprocessing
      6. Migration
        1. Migrate Direct Messages
    11. Troubleshooting
    12. FAQ

1. Overview

Microsoft Teams and Slack are popular collaboration platforms allowing teams to communicate, share files, and manage tasks. The choice between the two often comes down to personal preference, team size, and the specific needs of the organization. However, Microsoft Teams is fully integrated with other Microsoft Office products, such as Word, Excel, and PowerPoint. This makes it easier for teams that already use Microsoft Office to work together and share files within the same platform. 

If you are planning to move from Slack to Teams, this guide will show you how to perform your migration and migrate your channels, messages, and many more from Slack to Office 365 teams. 

2. Introduction

Cloudiway provides an automated migration process that helps organizations quickly and easily move their data from Slack to Teams. This can save you time and reduce your risk of data loss compared to manual migration or other solutions. 

Cloudiway Slack to Team migration allows you to migrate most of your content from Slack into Teams such as channels, files, messages, and direct messages, and preserve your metadata (createdBy, CreatedTime, etc…). 

The self-service mode is one of the only solutions and features that will allow you to migrate the direct messages of all the collaborators. 

3. Migration Chalenges

Migrating from Slack to Microsoft Teams can be a migration challenge for several reasons: 

Data compatibility: Slack and Teams use different data structures and formatting, which can make it difficult to transfer data between the two platforms. This can result in data loss or incorrect formatting during the migration process. 

Different feature sets: Slack and Teams have different feature sets and functionality, which can make it challenging to recreate the same experience and workflows in 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. 

Overall, migrating from Slack to Teams can be a challenge due to the differences in the data structure, feature sets, and integration with other tools. You would need to convert your messages from Slack structure to Team messages structures, and migrate properties such as timestamps, @mentions, emojis, and users. Direct messages considered private data cannot be easily exported. Performances issues (Slack and Office 365 are protecting their infrastructures and preventing massive calls to export and import data) and you may experience performance issues migrating a large set of data from Slack to teams, risking the loss of data. 

These challenges can be mitigated with the help of a migration platform, such as Cloudiway, which provides an automated migration process, support and assistance throughout the migration, and customization options to meet the specific needs of the organization. 

Regarding direct messages, the unique Self Service solution of Cloudiway will allow your users to trigger their migration and migrate their private messages, making the Slack to Teams migration challenges easier. 

4. Features

The Cloudiway migration platform provides several essential features that will ease your migration. The base of the migration service from Slack to Teams migration is to migrate the Slack channels to teams channels and migrate their files and associated messages. 

The platform offers sufficient flexibility to let you reorganize your channels as you wish and let you migrate them wherever you want. Depending on your needs, you can consolidate your channels into a single team, or on the contrary, migrate them to different teams. For each Slack channel, you can define the destination by setting the target team name and target channel name, eventually making the channel public or private. 

For addressing performance issues, you can decide to migrate all your messages, only the n latest messages or messages created after a given date. Messages can be injected into the Teams channels or into Html archive files ( for addressing performance issues with channels containing lots of messages). 

4.1 Discovery

The discovery process (Get List) retrieves the list of Slack channels and the list of users. 

It automatically populates your migration list. 

4.2 Audit

The Audit will browse each source channel and retrieve the number of messages to give you an idea of the volumetry. 

4.3 Pre-processing

Pre-Processing will automatically recreate your target teams and channels and reassign the permissions appropriately.

4.4 Migration

The migration will migrate your files and messages and preserve most metadata. 

Migration is not destructive. It connects to the source in read-only mode and makes a copy of the data at the target. 

4.5 Delta Passes

The platform supports delta passes. It means that whenever you restart the migration of an already migrated channel, only data created since the last pass will be remigrated. 

4.6 Self-Service Migration for Direct Messages

For the migration of the Direct Messages, each user is receiving a link by mail to authenticate to Slack and generate an authentication token that the Cloudiway platform will use to access the direct messages. For security and privacy, the end user is triggering the migration of his direct messages. If he doesn’t want to give access to his messages, he can simply ignore the mail and his direct messages will not be accessed by the migration platform. 

If he triggers the migration process, his private messages will be dumped into HTML files uploaded to a Slack folder in his target OneDrive. 

4.7 Dashboard

The cloudiway dashboard allows the administrator of the migration to monitor his migration and get an idea of the overall progress of the migration. 

4.8 Saas instance/dedicated instance hosted by Cloudiway or on the customer side

Cloudiway migration is a SAAS platform. 

For security reasons, you may not want to have your data shared or mixed with other customer data. To address this, Cloudiway proposes 3 ways of working: 

  • On the SAAS platform, each project data is stored in a dedicated SQL instance and each migration is run in separate processes.
  • If this data segmentation is insufficient, you can ask to migrate from a dedicated instance. 
  • The migration platform can also be installed in your Azure data center. 

4.9 APIs

Migration can be fully automated through the use of the Cloudiway rest APIs. 

5. Security

We take your privacy and security seriously at Cloudiway and have invested significant effort into securing our platform and your data. 

Cloudiway infrastructure is fully hosted in Microsoft Azure and fully leverages Azure Security certifications. 

Internally, Cloudiway is preparing its ISO 27001 certification and should be certified ASAP. 

Cloudiway works closely with Microsoft and is fully involved in large migrations managed by Microsoft. As such Cloudiway passed the Microsoft SSPA (Supplier Security & Privacy Assurance Program) certification ( ) 

More information about Cloudiway security is available here: 

6. Performance

When migrating from Slack to Microsoft Teams, it is important to consider several performance aspects to ensure a successful migration: 

Data size: The amount of data being migrated can impact the migration’s performance. Large amounts of data can slow down the migration process, while smaller amounts of data can be migrated more quickly. It’s important to consider the size of the data (number of messages) being migrated and plan accordingly. 

Infrastructure: The infrastructure used for the migration, including servers and storage, can impact the performance of the migration.  The Cloudiway migration platform uses all available resources to provide the fastest migration possible and can support both small and large migrations. The on-demand migration engine allocates the capacity that you need to migrate the volume of data of your choice in the time slot you have allocated. 

Slack APIs and Teams APIs have built-in throttling mechanisms. Throttling refers to limiting the rate of incoming and outgoing requests to the Slack and Office 365 servers, designed to maintain the performance and stability of their services. 

Consequently, they are limiting the number of requests per second, the number of messages that can be read or written by a period of n minutes, etc… As such, it would be nearly impossible to migrate a channel with hundreds of thousands of messages because either Slack or Office 365 would throttle the calls at a certain point and prevent further calls. 

Cloudiway platform is following the Slack and Teams APIs recommendations in terms of throttling prevention but it is generally not sufficient for channels with a huge number of messages.  Cloudiway platform provides 3 features to help bypass these throttling limitations. 

The most important limit is the rate and number of messages that can be written to a team channel. It is relatively hard to inject millions of messages into a Team channel without being stopped at a given point. For migrating large channels, Cloudiway offers the capability to filter the most relevant content: 

  • It allows migration of the latest messages to the channel, and users can easily find and reply to their latest messages. 
  • Older messages can be migrated/ archived to an HTML file accessible through a shortcut ( tab)  in the channel. 
  • Filtering options to migrate the n latest messages or messages posted after a given date. 

7. Benefits

Here are a few reasons why you might use Cloudiway to migrate from Slack to Microsoft Teams: 

Automated migration: Cloudiway provides an automated migration process that helps organizations quickly and easily move their data from Slack to Teams.  

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 can improve the overall quality of the data and ensure 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: Cloudiway allows organizations 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 the organization’s needs. 

Support and assistance: Cloudiway provides support and assistance throughout the migration process, helping organizations ensure a successful migration to Teams. This can include training, technical support, and ongoing assistance to ensure a smooth transition. 


Overall, 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. 

8. What is migrated

  • Public Channels 
  • Private Channels
  • Members of channels 
  • Messages and replies 
  • DirectMessages 
  • MetaData (Created by, TimeStamp) 
  • @Mentions
  • Emojis 
  • Files 

9. Prerequisites

9.1 Slack prerequisites

A Slack Application needs to be installed and configured in the slack tenant. 

It requires slack administrator credentials. 

9.2 Office 365 prerequisites

Migration uses a mix of Graph APIs and CSOM calls. Therefore it requires configuring specific permissions to execute Graph and CSOM calls. An Azure Active Directory application needs to be installed on the Office 365 tenant.  Administrator credentials are required for this setup. 

We recommend creating an account dedicated to the migration, that can be deleted once the migration is completed.  

  • The migration account needs an Office 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. 

10. Migration process

The migration is a 5 steps process consisting of 

  • Creating the connectors for connecting to the source and the target 
  • Running a Discovery (GetList) or uploading your list from a CSV file
  • Configure the target location (define where to migrate your data). 
  • Optionally run an Audit to discover the volumetry. 
  • Run a Pre-Processing to pre-create the target teams and channels and migrate the permissions 
  • Run the migration 

10.1 Create Your Connectors

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.

10.1.1 Slack connector

To configure your slack connector and create your Slack token, proceed with the steps in the following article.

Slack Connector Configuration

10.1.2 Office 365 connector

Office 365 Connector Configuration

For large 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.

10.2 Run a Discovery (Get List) or upload a CSV file

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


10.2.1 Get List

Under the MIGRATION tab, click on the Get List option:

Migration GetList

This will connect to Slack and retrieve all available channels.

Select your source pool connector:


Click GET to start the process:


Note: you can monitor the progress of this task in the logs.

Once the list is retrieved, you need to assign a target connector to the entries by configuring the target location as described in the next chapter.

10.2.2 Configure the target location

After the GetList action is been completed successfully, you can migrate your Slack to different teams or different channels (public or private) within the same team.

When migrating a Slack channel into a Team, you have 3 options:

      1. Migrate a Slack Channel into a Team (General Channel of the Team).
      2. Migrate a Slack Channel into a Channel of a Team.
      3. Migrate a Slack Channel into a Private channel of a Team.

Slack to Teams Migrate Private Channel

If you want to migrate into a specific channel of a Team instead of the General Channel, in the Target Name field, you have to specify the name of your Team and the name of the Channel in the Target Channel Name field.


If the Team or the channel doesn’t exist in the target, they will get created by the pre-processing task.

Select the entries, click on MANAGE, then Assign Target.

Slack to Teams Group List

Select the connector, and click on Assign.

Please beware that the chat messages are posted with a migration timestamp and will appear at the bottom of the message thread. Also, please note that if you get a message error and you restart the migration, that message will be pushed during a delta pass and will appear again on the bottom of the thread (this will cause a chronological disorder in the messages). This is a Microsoft Graph API limitation.

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 multiple objects, go to MANAGE, then click on the “Add Prefix” button.
Enter the Prefix in the pop-up, then SAVE.

Group Prefix

10.2.3. Manually configuration of a Slack channel

Besides of GetList or uploading a CSV file, you can create a single channel by adding your source Slack connector and defining the source channel.

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


For Source Group Name you have to add an existing group from your Slack:


You can find the name of a group in your Slack channels:


The value for the Source ID field, you can find it on your URL:



10.2.4. CSV file Import

Optionally to GetList or creation of a single group, you can upload a CSV file with all of your channels.

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

How To Fill The Users/Groups CSV File?

Click on MANAGE, Import, select the CSV File, the Source, and Target Connectors, then click Upload.

Import CSV

10.3 Mapping Table

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.

To achieve this, Cloudiway uses a mapping table to perform the conversion.

Important: the mapping table must be exhaustive, any missing email address will not be converted, and would end up with the loss of file permissions and metadata. Cloudiway automatically populates this mapping table when the Get List functionality discovers source users from the Mail or File sections. However, make sure if the mapping table was populated automatically that you are not missing any email addresses.

10.4 Audit

The audit is optional and purely informative. It only burns the Cloudiway’s license, meaning that will not start the expiration date countdown as happens when consuming one. You do not have to run it unless you wish to see how many Channels, files, and folders you have in the source Microsoft Team.

This feature reports information about the Source Slack:

      • Number of conversations in Slack
      • Number of files in Slack

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


10.5 Preprocessing

The pre-processing tool creates the team at the target if it doesn’t already exist.

What does the pre-processing tool do in detail?

At the target:

          • It creates teams and channels.
          • It uses the graph APIs (Client ID and Client Secret) and gives the owner role to the migration account defined in the target connector.
          • It migrates membership and ownership.

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

The group or team is now ready to be migrated.

10.6 Migration

Before starting the migration, you must run the slack team’s pre-processing (see step above).

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.

Microsoft Teams Migration Logs

10.6.1 Migrate Direct Messages

DirectMessages are considered private data by Slack and cannot be accessed by the company or by an administrator. 

Anymore, direct messages can be migrated with the user credentials, once the user has given their consent. 

To migrate direct messages, you can follow the steps in this article.

11. Troubleshooting

Cloudiway provides an extensive knowledge base with many resources, including common error messages, video guides, and downloads. 

Please visit the knowledgebase here: 


Support tickets must be opened through the platform. 

Once logged, enter your project and select Help, then support. 

The chatbot will ask you a couple of questions and then open a support ticket. 

Once you have received the initial mail, you can continue the support by mail. 

More information regarding our support program is available here: 

12. FAQ

How many costs a Slack Migration license?

One Slack migration license is required per channel. Also, one User Cal (Client access license) is required to migrate the direct messages of the users. 

Please contact sales to get a complete quote.

Cloud Migration Cloudiway
Want to try?
Cloud Migration Questions
Any questions?