How to migrate from Microsoft Teams to Slack

It doesn’t have to be bad breakup.

Ok, so you’re ready to break up with Microsoft Teams and you’re committed to transitioning to the wonderful world of Slack. But what shall become of all of the messages, files and history that you’ve invested in that platform? Think of all the knowledge you’ve shared, the memes, the answers to frequently asked questions, all the other good times… and the bad. Should they be lost… forever?

It doesn’t have to be.

But before we get into how to solve your data migration problem, let’s take a moment to understand what brought you here.

Teams vs. Slack – a quick comparison

Microsoft Teams is the newcomer to the enterprise messaging market, entering in 2016. Microsoft was actually considering buying Slack, but opted to build their own solution. Since then, they’ve grown their user-base to over 13-million users, so they have become a formidable competitor to Slack in a fairly short period of time. Since launch, they’ve pivoted to become more Slack-like, by adding a freemium tier and building our their base of integrations. Slack, of course, has been around a bit longer (since 2013). They have fostered a strong community of dedicated users and developers that contribute to their ecosystem in many ways. They gained an early lead due to their freemium model and favorable user experience.

Anecdotally speaking, most of the companies that we at Obie.ai have spoken with share that they’ve chosen Slack primarily for the user experience, the high availability of external integrations and they don’t have a dependency on the Microsoft Office suite. For those that have used Teams, they have shared that administration of the workspace is a larger burden, and that Slack is more friendly in that regard.

But, hold on a second, you’ve already made the decision to leave Teams, so at this point, any analysis is moot. Let’s keep moving along.

First, let’s manage expectations

First of all, please be warned that there are no seamless export tools for either platform. Importing is another story. These services are designed to create platform stickiness, so of course getting your data out is going to be harder. But when you’ve got to go… you’ve got to go. If you have many team members or groups, it’s going to take a while. Moreover, there are certain items that will be lost in the transition such as some of the customizations that your admin has built into your workspace.

Exporting Data from Microsoft Teams

If you’re a large enterprise, you may need to reach out directly to Slack to get some assistance. If you’re a smaller team, you should be able to export conversations manually. When you are ready to export your data from Teams, follow these steps:

  • From the Admin panel in 365, open the Security and Compliance Center, then Search and Content Search, then Guided Search
  • Provide a Name, choose the Teams group as the location and add condition of Type: ‘Equals any of’ e-mail messages and instant messages
  • Select More from the menu items and choose Export Results
  • Select All Items and export one PST for each mailbox
  • Using a compatible client, convert the PST file into a CSV or TXT – you could do this with Outlook or another tool. Check this tutorial for help.

Thanks to Stephanie for help on figuring out the manual export.

Importing Data into Slack

First of all, you can’t have it all. There are limitations to data importing to Slack. As of today, you can only import the following items:

  • Members
    All users, their public messages, and associated accounts
  • Channels
    Public channels, with message history and files included

First, ensure that the data you have exported from Teams is saved as a CSV or TXT file. Then follow these steps to ensure that the data file is prepared properly:

  • Ensure that messages are separated by row
  • Multi-line messages should be represented by raw newlines, but the text must be enclosed in "
  • Message data columns must be in this order: timestamp, channel, username, text
  • It’s important to sort messages by timestamp (earliest messages first)
  • All data must be in a single, uncompressed file
  • HTML will be escaped or skipped, with the exception of links shared in messages

Ok, now that the file is prepared for import, follow these steps:

  • From your desktop, click your workspace name in the top left.
  •  Select Administration, then Workspace settings from the menu.
  •  Click Import/Export Data in the top right.
  •  Click Import next to CSV/Text File.
  •  Click Choose File under Your CSV File. A comma is the default, but you can change your Delimiter.
  •  Click Start Import. Keep the Import page open while your file uploads. When finished, you’ll get an email and a prompt to continue on the page.
  •  From the email, click View Summary. On the Imports page, click Information required. Next, map your user and channel data.

The next step is mapping your data.

  • First, map users: Review the menu to choose how you’ll map users to existing members in Slack. If Create & invite user or Create a disabled user, without inviting them is chosen, an email address is required.
  •  Choose Batch Actions for all users. Toggle to Unmapped to apply actions to anyone not mapped to existing users or All to apply actions to all users. Or, under View Users, apply an action to each user.
  •  Next, map channels: Review the menu to choose how you’ll map channels in Slack. When a channel name matches an existing public channel, it will map automatically to merge. If no public channel name matches, a new channel will be created.
  • Under Batch Actions, you can choose an option to apply to all channels. Or, under View Channels, choose an action for each channel separately.
  • Click Save Changes.
  • Review your import, then click Yes, proceed with this import

Thanks to Slack for helping us with the import instructions.

As your team or company needs evolve, your stack will too… and that’s ok. Growing or scaling out of a given stack-set is a good thing. It means that you’re doing the right thing. Enjoy the journey!

But since you been gone
I can breathe for the first time
I’m so moving on
Yeah, yeah
Thanks to you
Now I get what I want
Since you been gone

Since U Been Gone, Kelly Clarkson