How to move from Slack to Microsoft Teams: exports, channels and what can't be imported
SwitchTo HQ · Updated 18 October 2026 · Email and team chat · How we write
There is no single button that moves a Slack workspace into Microsoft Teams. A migration is a mix of exporting what Slack allows on your plan, deciding how channels should be grouped into teams, copying files and, for some organisations, using a script or third-party tool for message history. Microsoft's own Slack-to-Teams migration guide is the best starting point. This article summarises it, along with Slack's export documentation.
Step 1: Find out what your Slack plan lets you export
Microsoft's guide says your Slack plan determines what you can migrate. Slack's export page sets out the options:
- On Free and Pro plans, workspace owners and admins can export messages and file links from public channels in JSON format.
- The Business+ plan adds further export options, and Enterprise plans have their own set. Exporting private channels and direct messages depends on the plan and, in some cases, an approved request to Slack.
Check your plan type in Slack's admin settings before you plan the move. If you are on Free or Pro, assume you will only be able to take public channel history with you.
Note that Slack exports contain file links, not the files themselves. Microsoft's guide says these links typically need an API key to download programmatically.
Step 2: Decide what is worth moving
Microsoft recommends treating the move as a chance to leave things behind. On paid Slack plans, the workspace analytics page shows how active each channel is, when it was last used and how many members it has. Use it to build a channel inventory and mark each channel as:
- Move to Teams as a channel.
- Turn into its own team.
- Archive and don't move.
Check your organisation's privacy and compliance requirements before exporting channel data. Microsoft's guide specifically flags this, because an export can contain personal information.
Step 3: Map Slack workspaces to Teams teams
The concepts don't line up exactly. In Slack, people join channels within a workspace. In Teams, people join a team, which is a collection of channels. Microsoft describes three common patterns:
| Slack setup | Teams structure | When it fits |
|---|---|---|
| One workspace | One team | Smaller workspaces with a modest number of channels |
| One workspace | Several teams | Use channel activity to group related channels into teams |
| Several workspaces | Several teams | Group channels across workspaces into logical teams |
Teams has a limit on the number of channels per team. Microsoft's migration guide advises splitting channels into two teams if you get close to it. Check the current figure on Microsoft's Teams limits page before you finalise your structure.
Step 4: Match users to Microsoft 365 accounts
Slack accounts don't always use the same email address as your Microsoft 365 or Entra ID accounts. Microsoft recommends building a user ID map before migrating. Its guide includes a PowerShell script that reads the users.json file from a Slack export, looks up each person in Microsoft Entra ID and reports whether they are enabled for Teams. Any mismatches need fixing before you import history, or messages will be attributed to the wrong person or to nobody.
Step 5: Move channel history and files
Microsoft lists several approaches for channel history:
- Free tools on GitHub, such as ArgyleMigrator and Slack Export Viewer, which Microsoft names in its guide.
- Paid partner tools, which are the usual route for large or regulated organisations.
- Your own scripts, using the export files and Microsoft Graph.
For files, set up your teams and channels first, then copy the files into each channel's document library. Microsoft's guide includes an example script that reads a Slack export, downloads the linked files and places them in a folder for each target channel.
Many smaller teams decide not to import message history at all. Instead they keep the Slack export, or a read-only copy of the workspace, for reference and start with a clean Teams setup.
Step 6: Plan for direct messages
Direct messages in Slack correspond to chats in Teams. Microsoft's guide says Teams does not currently support importing direct messages, and suggests talking to a Microsoft partner about third-party solutions if you need them. Whether you can even export DMs depends on your Slack plan. Tell people in advance that DM history will stay behind, so they can save anything important.
Step 7: Rebuild apps and integrations
Go to your workspace's app management page in Slack (yourworkspace.slack.com/apps/manage) to list installed apps and custom integrations. For each one:
- Search the Teams app store to see whether the same service offers a Teams app.
- Incoming webhooks can usually be redirected into Teams. Microsoft's guide suggests sending them to a Microsoft 365 connector; check Microsoft's current documentation for the recommended option.
- Bots and custom apps need to be assessed one by one, and may need rebuilding.
Common examples include ticketing notifications, deploy alerts, calendar reminders and polls.
Step 8: Run both tools briefly, then switch off Slack
Set a cut-over date. Before it, create the teams and channels, import whatever history and files you decided to keep, and install the replacement apps. After it, set the Slack workspace so that people know it is no longer in use, keep your exports somewhere secure, and check what happens to your Slack data and billing when you downgrade or close the workspace.
Checklist
- Check your Slack plan and what it allows you to export.
- Build a channel inventory and decide what to move, merge or archive.
- Map workspaces and channels to Teams teams, keeping within channel limits.
- Match every Slack user to a Microsoft 365 account.
- Choose how to handle history: a tool, a script or a clean start with an archive.
- Copy files into channel document libraries.
- Warn people that direct messages won't be imported.
- Rebuild apps and webhooks, then set a cut-over date.
Sources
- Microsoft Learn: Migrate from Slack to Microsoft Teams
- Microsoft Learn: Limits and specifications for Teams
- Slack: Export your workspace data