Conversations are becoming the new platform of habit. User interaction trends have, and will continue to evolve. If you recall the mid-80s trends, it was all about the Desktop. It then evolved into websites in the mid-90s, and to mobile apps in the mid-00s. Today, we see folks spending their time using messaging applications like Skype, WeChat, and WhatsApp to accomplish more.
Bots are interesting. They rely on Natural Language Processing (NLP) to comprehend our users’ intentions and context. There’s no need to build a user interface every time we need an app, instead we can take advantage of various standard channels through Microsoft’s Bot Framework to connect, present, and visualize our services e.g. Skype, Facebook Messenger, Kik, Slack, SMS by Twilio, and even your own custom Channel.
In this post, we will build together a Skype Bot using Microsoft’s Bot Framework and deploy it to an Azure App Service. You can find the bot’s source code on GitHub: https://github.com/codedebate/Samples-Room-Finder-Bot.
Step 1: Let’s agree on the scope of our sample
Finding a meeting room can be a challenge when you are new to a campus, building, or a specific floor. Imagine picking up your phone and asking a Skype bot for directions. How convenient would that be? 🙂
A word of advice: as fancy bots may sound, they should always have a specific purpose and mission. Try to stay away from multi purpose bots.
When building a bot, at minimum you will need the following components:
- Messages Repository: store all bot messages presented to our user. If you decide to hard code them: you will have to re-deploy the bot every time you change a message.
- Knowledge-base Repository: store the knowledge-base articles. In our case, directions to a meeting room are considered articles.
- Web App: this is where you will deploy and host the Bot app.
I will use Azure Table Storage for hosting these repositories. This way we do not have to waste time on building some back office website, but instead use the Storage Explorer to manage them. In real life though, you will have to build a back office website e.g. using ASP.NET MVC, where administrators can manage these messages and settings. Furthermore, the source of the Knowledge-base articles would be some line of business application like Dynamics CRM.

Room Finder Sample Bot
Continue reading →