With the steady growth of chatbots in the B2C space, platforms like Skype, Facebook, Kik, Line etc. have all started supporting chatbots. The launch of the Microsoft Bot Framework provided a streamlined process for the development of bots on several such platforms.
But when it comes to the B2E and other enterprise scenarios, the story is a bit different…
Skype for Business is the chosen enterprise Instant Messaging (IM) and Unified Communications (UC) platform for thousands of businesses worldwide. It in fact, enjoys the largest market share in this space. However, as a messaging platform, Skype for Business does not support bots out of the box.
After our recent and incredibly successful launch of MeshBOT which is an Enterprise Intranet Bot for SharePoint, and is available as an embedded experience within a corporate intranet we decided to upgrade the scene for Skype for Business as well.
And so now, we’d like to introduce you to the brand new and supremely exciting possibility of building bots on Skype for Business.
World’s First Bots on Skype for Business!
By leveraging UCWA (Unified Communications Web API) and using Bot Framework Direct Line API, we have developed an enterprise ready connector for Skype for Business.
- This connector can be deployed in Azure and enables a secure bot communication channel on Skype for Business.
- We support both, Skype for Business online (Office 365) and on-premise as well.
There are many SDKs available for programming Skype for Business (and Lync). We looked at the most stable and well supported ones to decide on the right one to use for our connector. The table below shows the options we considered and why we decided to go with UCWA.
|UCMA||A managed-code platform that can be used to build applications that provide access to and control over Microsoft Enhanced Presence information, instant messaging, telephone and video calls, and audio/video conferencing.||Skype for Business on-premise||UCMA doesn’t support Skype for Business online.
This would mean we wouldn’t be able to support a lot of our Office 365 customers. Office 365 is a big revenue driver for us and we have several solutions for the platform. So, we decided not to invest in this.
|Client SDK||A set of managed API that can be used to directly interact with Skype for Business client||Skype for Business on-premise
Skype for Business Online
|This supports both. But in a Production scenario, would lack the scale that we would need. We needed to support hundreds of simultaneous bot conversations. As this needs the Bot to be logged into Skype for Business client on a machine, maintenance would become a nightmare.|
|UCWA||Microsoft Unified Communications Web API 2.0 is a REST API that exposes Skype for Business Server 2015 instant messaging (IM) and presence capabilities.||Skype for Business on-premise
Skype for Business Online
|UCWA is REST API. This meant that we could build and deploy a service in Azure that could scale with demand.
We decided to go with UCWA. AT the time, UCWA had limited support for Skype for Business, but we placed our bet on it, as our initial tests were successful and very stable.
There are many enterprise bots that we are building in what we call the “Botvarsity“– A place where Bots learn and train before being joining an organization 🙂
Below is a screenshot of one of our bots running in Skype for Business
Below is a high-level architecture diagram. In another post, I will go into more details on the actual message sequences for auto-discovery, logon and IM process.
I am very happy to say that we can now support Skype for Business channel for any bot out there.
Skype for Business as a client application does have a few limitations in enabling a great bot experience.
- Bots need to communicate with users using not only text, but images, cards, buttons and more.
- Currently Skype for Business client doesn’t support a rich bot experience.
There are ways to work around this – providing a choice of options instead of buttons, using the inbuilt HTML markdown support instead of cards, and sending file attachments instead of images etc.
It is important to note, however, that the benefits of this channel far outweigh the current limitations. We expect that Microsoft will soon be releasing updates to the Skype for Business client that are certain to make it more bot-friendly.
For now, we will continue to make the connector more stable as we start doing production deployment for our customers. We have an amazing team of Azure architects, .NET ninjas & Office 365 experts who are working round the clock in order to bring the best of our innovation to our clients.
We would like to thank the amazing people at Microsoft. The invaluable information they have shared all over the internet in the form of forums, blogs, MSDN, GitHub has greatly impacted our journey towards becoming the first company to launch Enterprise Ready Skype for Business Bots!