Here's why Microsoft Teams is no competition to Slack

Photo by Pankaj Patel on Unsplash

Slack revolutionized the way how people communicate and collaborate in companies, projects and communities. Following the huge success of Slack Microsoft launched Teams to offer a similar tool. Having worked with both applications on a daily basis I’d like to give my take on why I think Teams is only a poor copy of Slack.

1. No Channel Guests

When working in projects it’s not unusual that people from outside of the organization belong to the team. To support this fact Slack introduced single- and multi-channel guests. This way it’s easy to give outside members of the team access to one or multiple channels to collaborate. With Teams this is not possible. Only the people from the organization itself can be invited to teams and therefore get access to channels. Of course, this makes it difficult for a project team to use one tool for communication and collaboration.

2. No Shared Channels

With Shared Channels Slack takes the concept of collaboration between teams of multiple organizations one step further. Nowadays a lot of companies, especially smaller ones, are already using Slack for their internal communication. By connecting multiple teams on a channel basis it’s easier for the people to work with the tool. It’s not necessary anymore to jump between workspaces in the app. Instead, a shared channel just appears in the channel list and can be used almost as any other channel.

3. Limited support for Emojis

I would not have thought that I would say this but I miss the support for emojis in Teams. In Slack, it’s possible to react to a message with a wide variety of emojis. This makes it possible to express a reaction in a much more differentiated and individual level.

For a long time it has only been possible to like a message in Teams. Just recently Teams has been extended to react with a set of a few emoji to a message. However, unlike Slack it is only possible to use one emoji per message.

4. No Private Channels

In general, I’m a huge proponent for openness and transparency in a team. Nothing should be hidden from anyone. On the other hand there are always some discussions that need to stay in private between a group of people. With Slack I can just create a private channel and only add those people to the conversation that are needed. In Teams, the only thing I can do is to create a direct message group.

5. No Pinned Posts in Channels

During the conversations that happen in channels things pop up that you want everyone to be aware of. Therefore, you can pin certain messages to a channel for future reference. This way these important bits of information, for example a description of where to find more information of the topic in a wiki, can easily be discovered by the people already in the channel or those that join at a later time. In Teams no such concept exists.

6. No Threads for Direct Messages

Just letting the conversation flow between multiple people in one channel leads to a confusing list of messages which are not necessarily related to each other. This makes it hard for anyone to follow the conversation. That’s why Slack introduced Threads a while ago. With this the conversations can be grouped close together. This concept is available in channels as well as in private messages. This actually makes sense since sometimes I need to discuss multiple topics with one or more persons at a time.

In Teams Threads are also supported in channels. Unfortunately, they are not supported in direct messages. This is especially missed in a private message chat with multiple people that could be used as a replacement for the lack of private channels.

7. More Complex API

One of the main features of tools like Teams and Slack is their ability to be extended by external applications through a set of APIs. This ranges from simply posting messages to a channel to sophisticated bots that can follow a conversation and can participate in it.

From my perspective, the API provided by Slack is pretty easy to understand and straight-forward to use. Especially when it comes to doing simple tasks like posting a message to a channel through so-called Webhooks. Additionally, the API for formatting messages posted to channels is simple.

When I tried to do the same simple thing in Teams I got frustrated pretty quickly. With Teams it’s easy to post a message to a channel. But when it comes to formatting it gets really confusing in my experience. Finding the right documentation is the first challenge. It seems that the formatting API is shared between multiple applications offered by Microsoft, for example in the Office 365 universe. Furthermore, multiple versions seem to exist and it’s not entirely clear which one to use.

After achieving my basic goal and not being able to make anymore progress quickly I through in the towel and settled with just a very basic version.

8. User Management

Up until now I have not figured out how I can add people to a channel once I have created it in Teams. It seems that the only way to do this is to mention someone in the channel. With Slack I can explicitly add a team member to a channel at any time. I can also have a look at the list of people who “belong” to the channel.

Furthermore, I can add people to user groups in Slack. For a user group default channels can be selected. This way all users assigned to a user group are automatically added to a set of corresponding channels. Additionally, a user group can be mentioned in conversation like a user.

As far as I know no such concept exists in Teams right now.

9. No individual Status

Out of the box, Teams shows the status of a user based on her calendar and out of office settings. In general, this is a nice feature since everyone can immediately see that someone is not available.

For Slack, this needs to be done adding an additional app. However, as a user I have much more possibilities to set my status manually. For example, I can set a status to signal that I’m working at home, that I’m commuting, I’m sick, etc. Again, the status can be associated with an emoji to personalize it a little bit more.

Additionally, there’s a status API which allows to automate status setting through apps and bots.

10. No fine-grained Notifications

With Teams notifications settings are very coarse grained. I can mute channels and teams and that’s basically it.

On the other hand, with Slack I can set notifications very fine grained. For example, I can configure that I will be only notified on my desktop but not my mobile, I’m only notified when I’m mentioned, etc. This way I have good control about when and where I will be disturbed.


On paper, Slack and Microsoft Teams seem to be tools offering a solution for the same problem space. Both allow (asynchronous) conversations between members of teams in channels grouped by topics.

I can understand why big enterprises offer Microsoft Teams to their users instead of Slack. First, if they already use other Microsoft services, like Office 365, Teams is already included probably without any extra costs. It’s also integrated with the tools already existing in the IT infrastructure, especially Active Directory (AD). This makes it much easier for a big enterprise to manage to the tool and fulfilling governance and compliance requirements.

As I outlined above Slack offers a lot more features than Microsoft Teams. In my opinion this makes using Slack much more fun to use and actually increases productivity.