We at DISYS have built a prototype chatbot to make it easy to interact with a helpdesk system. The Chatbot was developed end to end using Microsoft BotFrameworkPREVIEW operating out of Microsoft Windows Azure.
The BotFramework SDK extends on the industry proven Microsoft ASP.net WEBAPI to build chatbots. The bot can be interacted when it is added your Skype contact list and activated when first interacted. Every interaction to the bot is handled by WebAPI’s ApiController as a Post request persisted by writing to Azure DocumentDB by BotFramework’s botstate API calls. The state information includes the union of channel-id (skype conversation metadata), and the user id along with the conversation context; this triplet information is used to determine to progress of the conversation over finite state machine like logic from start to end with the navigation tree chosen based on the response.
A simple hi or hello to bot activates it and automatically collects the associated meta-data from the skype channel and offers a carousel based cards as the opening conversation with buttons illustrating the helpdesk departments and top key sub-categories like IT – Outage, incident, Proposals RFI, RFP and so on. A card based approach simplifies the interface by offering a lot of choices through minimal texting typing and gets you straight to the desired conversation. Here on the choice of clicking the Outage button, bot behind the scenes moves up the finite state machine and now offers the Priority buttons as Blocker, Critical and Major; on selection of the button the bot converses forward asking for additional information when provided bot now interacts with help desk system behind scenes, evaluates and responds back the ETA and issue id. The same procedure can be iterated as many times as required and bot remembers the conversation level.
To make things further interesting and the intention to make the bot do more, the recording of this video was done by capturing the skype conversation using TechSmith’s Camtasia software and the narration made by Amazon Polly to provide lifelike voice – Joanna’s US English profile was chosen. As every service in AWS, Polly has SDK to provide text and generate mp3 files which can be delivered at S3; however, AWS also has a simple way to create mp3 files for one-time use which be typed directly in Polly screen of AWS Management console to download the mp3 to local disk. Final video which you are seeing is the overlaying of the generated mp3 files on top of the video on specified timeframes.