ltstudiooo - Fotolia
Mio CEO Tom Hadfield describes his company as the Switzerland of team collaboration, building bridges among otherwise siloed Slack, Microsoft Teams and Cisco Webex users. With the help of APIs, Mio translates data from one application to the other, enabling teams to interact across platforms in near-seamless fashion.
The UC startup aims to solve a problem facing many of today's organizations -- too many messaging apps. Today's typical enterprise might have engineering and product management teams that favor Slack, for example, but sales and marketing departments loyal to Microsoft Teams. Mio -- the latest winner of TechTarget's Network Innovation Award – aims to get everyone on the same digital page.
Hadfield shared more about how the technology enables Slack, Microsoft Teams and Cisco Webex integrations during a conversation at Enterprise Connect.
Editor's note: This interview has been lightly edited for length and clarity.
What problem does Mio solve?
Tom Hadfield: We exist to make Slack, Microsoft Teams and Cisco Webex Teams fully interoperable, particularly for larger enterprises that have multiple messaging apps for internal communication. A typical use case is a large company with a few thousand users on Slack -- usually engineers -- and then the rest of the organization either on Microsoft Teams or Webex Teams. Until now, they couldn't talk to each other, so they default back to email. We don't think that makes any sense.
Instead, we take all of your public Slack channels, and we basically synchronize or mirror them on Webex Teams -- so, anyone on Webex can join and fully participate in those channels. Anytime anyone posts a message in Webex, it appears on the Slack channel, and anytime anyone posts a message on Slack, it appears in the Webex space. They are literally mirror images of each other. You can fully participate from either side.
Does the integration functionality include direct messaging?
Hadfield: Yes, if a Slack user sends a Webex user a message, it will arrive in Webex Teams and look like it's coming from a fellow Webex user. The two users are sending each other direct messages across platforms. You can upload files, add emoji reactions, edit and delete messages -- it's really like a native experience.
How does the technology work on the back end?
Tom HadfieldCEO, Mio
Hadfield: At a very high level, we're piping the APIs together. Say you post a message in a Slack channel called Project Planning. We hear that message via the Slack API, transform the payload of the API call into the Webex format -- and it's basically a JSON searcher transformation. We then deliver it via the Webex API as the original user. When it's coming back the other way, we hear the message via the Webex API, we translate it into the Slack API format and we post it as the user.
With direct messaging, we have a user token that allows us to listen to and send messages. Say a user named Ben told us he wants to use Webex as his primary messaging app. When Alex -- a Slack user -- sends Ben a message, it comes to us first. We then deliver it to Ben on Webex as Alex, via the API. It gets complicated, but for large organizations, we can map multiple channels and users from Slack, Microsoft Teams and Webex Teams.
What other features does Mio have?
Hadfield: We are basically limited only by the UI and the APIs of the clients themselves -- there are some differences between Slack, Microsoft Teams and Webex Teams. For example, the threaded messaging between Slack and Microsoft Teams is perfect. Someone posts a message, and you can send a threaded reply and edit the thread in either Microsoft Teams or Slack. Webex doesn't support threaded messages yet, so we do the best we can and describe the threaded reply -- so, 'Ben has replied to the lunchtime thread,' and then we post the message.
We don't support presence, so a Webex user who is online shows as offline in Slack -- the API functionality doesn't exist for us to be able to change that. But, in general, the conversational elements that exist in one app we mirror in the others. If you mention someone in a Slack channel, we translate that; if you upload a file in Webex, we upload a copy of that file into Slack; if you delete a message here, we delete a message there.
Do you support private channels in Slack, Microsoft Teams and Webex integrations?
Hadfield: Yes -- let's say you were in a private Slack channel and wanted to invite Ben, a Webex user. You would just invite him the way you would if he were a Slack user. You hit the invite button, you type in Ben's name and you choose Ben. We receive an API call saying, 'Ben has been invited to a private channel called Product Launch.' That prompts us to create a Webex workspace that mirrors the Slack channel and invite Ben to join it.
One feature that's not yet generally available, but we're working on, is the ability to do a cross-platform meeting. So, if a Webex user were to share an invitation to a meeting, Slack users would receive a link. When they click on that link, the Webex meeting application opens in a new browser window.
Can you describe the deployment process?
Hadfield: The only constraint is that the initial setup needs to be done by someone with administrative privileges on the team messaging apps. For a Slack-Webex integration, for example, we would pull a list of the organization's public Slack channels, creating a new Webex Team for every channel and vice versa. The corresponding channels and teams are then synced, so you can join the channels from either space.