When you are switching from Slack to Microsoft Teams it is often required to transfer Slack data to Teams, or at least to provide a convenient way to access Slack message and file history in Teams without having access to the original Slack workspace.

In this article I’m going to show several alternative ways to access your original Slack workspace history if you are switching to Teams.

Table of contents

Consider using methods 1, 2 or 3 if you do not plan to directly import messages & files into the Teams channels. These methods allows you to keep Slack message history available without transferring messages & files into the corresponding Teams conversations.

Consider using methods 4 or 5 if you need to transfer Slack messages & files into the corresponding Teams conversations. In other words, the messages & files will be recreated in the Teams as if your were using Teams instead of Slack previously.

Method 1. Share export archive among users ⚓︎

Let’s assume that your Slack workspace data was exported in the Comfortable HTML format (you can do this using Backupery for Slack or you can use Backupery for Slack Export to convert your JSON export to HTML). Basically, the Comfortable HTML export is a folder (usually called HTML2) with interlinked HTML files and subfolders:

Note that the HTML export is self-contained, it means that it does not have any external dependencies. So you can move the HTML2 directory to any other location and the HTML files continue to work.

Submethod 1.1 Share whole workspace export among users

So let’s say we have exported everything we need from our source Slack workspace and we have the HTML2 directory that contains the exported data as on the screenshot above. To share the exported data, just zip the HTML2 directory and share among your users.

Submethod 1.2 Share single conversation (channel or DM) history

Let me show you another simple example. Let’s say we need to make the projectx channel history from Slack available on Teams. To do that you should export the projectx channel from Slack and convert it to HTML keeping the downloaded files in the same directory, so you will have the following structure in your destination folder:

where the files directory is a directory that contains all the files shared in the projectx channel and projectx.html contains all the messages. Here is how projectx.html looks in a browser:

Now you can zip the projectx directory and upload it to the Files tab of your projectx on Teams so any user of the projectx channel on Teams will be able to download the message history:

Again, as the export is self-contained, every user who downloads the projectx-history.zip will be able to view the data no matter where it will be viewed.

Submethod 1.3 Provide a personal conversation history for each user

Now let’s take a look at the more advanced scenario. What if we need to maintain access rights for different users, or, in other words, what if we need to provide different set of conversations for different users? For example, let’s say there are David, John and Peter in a source Slack workspace. David and John participate in a private channel private3_1 where Peter is not a member. Obviously, we don’t want Peter to be able to access the private3_1 channel history on Teams. So we can utilize the “Per User” option of export isolation settings and generate a copy of conversations for each user. So in our example three different exports will be generated, for each exact user:

As you see on the screenshot above, the app generated three directories: David_UCJ6FDLCV, John_UCHTV0C59 and Peter_UCKDKLUKG. Each directory contains the history of conversations that are available for each exact member only. So David and John have the private3_1 channel history in their folders, but Peter doesn’t.

So again, you can zip the directories and provide each user with the exact copy of their Slack history.

Method 2. Host a static website with a history ⚓︎

One of the features of a self-contained export is that it may work as a static website. It means that if you share the folder through a web server, you can access the data using a web browser from any point where the web server is available. You can check this article for more details.

Method 3. Show message history in a channel tab ⚓︎

Despite certain advantages, the methods presented above definitely have some disadvantages. The main disadvantage is that they require context switching between Teams and other tools. What if we want to be able to read the messages history directly in Teams without being required to switch to other tools? Here is a quick solution. Again, let me show how it works on a quick example. Assume we need to move our projectx channel history from Slack to Teams and make the history available directly in Teams. Here are the steps to do that:

1. Export the projectx channel and convert it to Comfortable HTML having the Generate HTML without Javascript option checked:

This option allows us to generate super-simple HTML code that can be easily converted to plain text. Here is an example of the generated HTML for the sample channel:

2. Convert the generated projectx.html to plain text using any html to text converter. I used https://convertio.co/html-txt/ for this but there are virtually tons of the converters available online and offline. So here is how my projectx.txt looks:

3. Upload the projectx.txt file to the Files tab on Teams:

If you click the projectx.txt on Teams, it will open the text viewer directly in Teams with the ability to search in the file so the users will be able to browse the channel history directly in Teams:

This method to keep channel history has the following advantages:

  • Message history is located directly in Teams
  • Message history search is available

Of course, there are the following disadvantages:

  • The history works for messages only, no file history are available
  • The plain text history may be difficult to read under some circumstances

Method 4. Import Slack history to Teams using Slack export archive as a source ⚓︎

Disadvantages of methods above

are pretty obvious – we’re not recreating messages & files in Teams, we just provide a way to access them somehow. Now let’s say we’re tasked.

so what if we want to migrate messages & files, so this (screenshot) becomes this (screenshot)

using Slack archive

selective import

Method 5. Import Slack history to Teams using direct export from Slack ⚓︎

no Slack archive

want to import the channels or DMs that are not available in native Slack export

So, in this post we’ve reviewed the possible ways to use your Slack history after moving to Teams. As always, please let us know if you have any questions, ideas or need any assistance, we’re listening!

Leave a Reply

Your email address will not be published. Required fields are marked *