MS Teams to Slack Channels Synchronization — Zapier vs. Mio
Zapier is an integration tool that lets you build automated workflows for several applications. Zapier is offering a channel synchronization between Slack and MS Teams. This means you need to set up every channel which you would like to synchronize in Zapier.
Zapier has several fundamental problems. First, you need to allow access to Zapier for both MS teams and Slacks, which will never work in federations with external organizations such as customers or suppliers.
Second, Zapier only offers one-way sync from Slack to Microsoft Teams. So responses from MS Teams users are synced with the Slack channels.
Finally, Zapier does not offer granular user or channel level controls.
As opposed to Zapier, Mio offers a bi-directional message syncing between users on Slack and Microsoft Teams. However, to sync messages across them, Mio needs to sync licensed accounts across them as well. In other words, to sync messages between users on platform A and users platform B Mio needs to create users that are on platform A on Platform B and vice versa.
As a result, for Mio to maintain the message flow between Slack and MS Teams, your company has to purchase additional user licenses for the respective platforms. MIO use these licensed user accounts to bind and relay the traffic across the platforms.
Let’s examine the case of a mid-size company that wants to establish internal federation between Slack and MS Team. It has 5,000 users on Slack, and 10,000 users on MS Teams. To implement MIO’s solution, it will have to purchase an additional 5,000 MS Teams licenses and 10,000 Slack licenses for an estimated cost of $180,000 per year.
Also, for Mio to create federated users on your Slack and MS Teams platforms, you need to grant MIO privileged access so it can access and modify your corporate directory.
For Microsoft Account/Access Synchronization, you need to register Mio’s application in your Azure AD, which requires you granting MIO the following 11 Microsoft Graph permissions:
- Read/Write directory data (Directory.ReadWrite.All)
- Read the organization’s roster (EduRoster.Read.All)
- Read and write files in all site collections (Files.ReadWrite.All)
- Read all groups (Group.Read.All)
- Read and write all groups (Group.ReadWrite.All)
- Read all users’ full profiles (User.Read.All)
- Read directory data (Directory.Read.All)
- Read all groups (Group.Read.All)
- Read and write all groups (Group.ReadWrite.All)
- Read all users’ full profiles (User.Read.All)
- Admin — Administer the workspace
- Channels:history — View messages and other content in public channels that your slack app has been added to
- Channels:read — View basic information about public channels in the workspace
- Chat:write:bot — Send messages as your slack app
- Chat:write:user — Send messages on the user’s behalf
- Groups:history — View messages and other content in private channels that your slack app has been added to
- Groups:read — View basic information about private channels that your slack app has been added to
- Groups:write — Manage private channels that your slack app has been added to and create new ones
- Im:history — View messages and other content in direct messages that your slack app has been added to
- Im:read — View basic information about direct messages that your slack app has been added to
- Im:write — Start direct messages with people
- Mpim:history — View messages and other content in group direct messages that your slack app has been added to
- Mpim:read — View basic information about group direct messages that your slack app has been added to
- Mpim:write — Start group direct messages with people
- Files:read — View files shared in channels and conversations that your slack app has been added to
- Files:write:user — Upload, edit, and delete files as your slack app
- Bot — Add the ability for people to direct message or mention @your_slack_app
- Commands — Add shortcuts and/or slash commands that people can use
- Reactions:read — View emoji reactions and their associated content in channels and conversations that your slack app has been added to
- Reactions:write — Add and edit emoji reactions
For Slack Account/Access Synchronization, you need to grant MIO, under the “OAuth & Permissions”, the following 20 Slack Scopes (permissions):
In addition, for Mio to create and continuously sync user accounts on Slack and MS Teams, Mio needs to store not only your users’ lists but also all Slack and MS Teams platforms’ privileged accesses in its database.
Originally published at https://nextplane.net on May 4, 2020.