Slack to Microsoft Teams Migration Guide

Follow the steps below for Slack to Microsoft Teams migration, including channel selection (public or private). If you wish to use this new version, please contact us.


  1. Introduction to Slack to Microsoft Teams Migration
  2. Prerequisites
  3. Create Your Slack Connector
  4. Slack Migration Settings
    1. Group List
    2. Specify Your Destination
    3. Global Settings
    4. Audit
    5. Pre-Processing
    6. Migration
  5. Troubleshooting


1. Introduction to Slack to Microsoft Teams Migration

Cloudiway’s Slack migration solution helps businesses perform technical migrations through a simple SaaS interface. As a result, Slack to Teams migrations require no additional software installation or overhead, and migrations can be performed securely and quickly.

This guide is aimed at experienced system administrators who are capable of connecting to remote systems and using a variety of administration tools.

1.1. What is migrated

You will find the list of what can be migrated from Slack on this page: Slack to Teams Migration.

1.2. Performance & Security

For more information about security, please refer to this article.

For more information about migration performance, please refer to this article.

1.3. License Management

Cloudiway platform automatically assigns the licenses, for more details regarding the license management, check out this page.

1.4. Delta Passes

Delta migration is a Cloudiway functionality that allows you to migrate incrementally. Changes are migrated during delta passes. Deletions are not propagated.

1.5. Support

Although we provide support for our own products, we do not provide support for third-party products such as PowerShell or server administration of Microsoft or Slack products.

If you are concerned you might have any difficulty completing these steps, please consider a solution with our consulting team, contact us. This will ensure a fast, cost-effective, and stress-free implementation.

2. Prerequisites

2.1. How it works

Migration to Teams uses a mix of Graph APIs and CSOM calls. Therefore it requires to configure specific permissions at the source and at the target to execute Graph and CSOM calls.

Migration from Slack requires to set up an OAuth authentication with appropriate permissions.

2.3. Target Prerequisites

2.3.1 Create a target Office 365 service account

We recommend to create an Office 365 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 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 prior to the migration. If it already exists, it will be used and data appended to it.

2.3.2. Target Azure Active Directory Application

Graph APIs calls are performed through an Azure Active Directory Application which is granted specific permissions.

You can either create an Azure Active Directory Application manually or let the platform create one for you.

Please consult how to create the Azure Active Directory Application and associated permissions.

2.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 loss of file permissions and metadata. Cloudiway automatically populates this mapping table when source users are discovered by Get List functionality from Mail or File sections. However, make sure if the mapping table was populated automatically that you are not missing any email address.

3. 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. Please refer to this page to configure your connectors.

Create Connectors Guide

Note: to generate your Slack token, explore this page: how to generate a Slack Token.

Slack Connector Configuration

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 configuration.

4. Slack Migration Settings

Note: to test the migration, you can use a Trial License, please consult this article to assign a Trial License.

4.1. Group List

To perform the migration, navigate to Sites > Group List

Sites Migration

4.1.1. Option 1: Get List

Use the Get List option to fill the list of Slack channels to migrate:

Migration GetList

This will connect to Slack and retrieve all available channels.

Select the connector you want to connect, click on GET.

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

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

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

Slack to Teams Group List

Select the connector, click on Assign.

4.1.2. Option 2: CSV file Import

If you have a CSV file of all your channels, you can upload the file to Cloudiway.

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

4.2. Specify Your Destination

You can migrate your Slack to different teams or to 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 with the pre-processing task.

Please beware that the chat messages are posted with a timestamp of the migration and will appear on 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.

Group PrefixAdd 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.



4.3. Global Settings

At this point, you are ready to migrate.

You can review the settings in Global Settings.

Global Settings

  • Migration of Permissions.
  • Migration of TermStore: TermStore is a SharePoint feature that doesn’t exist in Slack. Therefore, it’s not used for Slack migration.
  • Migrate Version History. Only the last 3 versions are migrated over.
  • Migrate to: determine where files are migrated, we recommend to migrate to SharePoint. Slack channels will be migrated to the Microsoft Teams.
  • File Management: when you migrate to an existing destination, determine the behavior when files already exist on the target and is not empty.
    • Overwrite
    • Ignore
    • Copy

Duplicates Management During File and Site Migration

Teams Migration Global Settings

Membership MigrationEnable the migration of team members
Conversation MigrationEnable the migration of channel Conversations, read more.
Planner MigrationEnable the migration of Planners
Mailbox MigrationEnable the migration of team mailboxes
Mentions MigrationEnable the migration of Mentions
Migration of TermStoreEnable the migration of TermStore, therefore you can safely leave it Off by default unless you have customized it.
Migration of PermissionsEnable the migration of Permissions (files permissions...)
Migration of SharepointEnable the migration of SharePoint sites associated to the team
Keep in targetKeep files if already present at the target (existing files will not be overwritten)

4.4. Perform an Audit (Optional)

The audit is optional and purely informative. It consumes the Cloudiway license. 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.

Microsoft Teams Audit

4.5. Perform Pre-Processing

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.

4.6. Activate and monitor your Group migration

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

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

5. Troubleshooting

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

Please visit the knowledgebase here:

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