A Bundle of Benefit from Building Bots

Chat Bots are a great example of how the cloud enables new user experiences and functionality that would either be impossible or, at best, very difficult to achieve on-premises. This is because the Microsoft Bot Service is in fact a collection of services, built on top of the Microsoft Azure platform, providing a global message delivery platform along with integrations for making both the development and delivery of bots quick and easy. Integrations such as channel providers, Teams, Skype and Facebook and the ability to embed bots in a website.

Bots are really easy to make – Who knew?

The multifaceted Bot Framework offers a range of options for developing bots. Starting with Power Virtual Agents (PVA, to their friends) part of the Power Platform, a no-code graphical development environment that makes bot development accessible to non-developers and citizen developers alike. The flowchart-like interface makes building the conversation flows easy and clear to visualise. The live debugging mode, where the current item in the flow is highlighted, makes identifying and fixing a doddle.

Bots free up our people to be more productive – and give our customers more hours of service

Bots built with using PVA are great for scenarios such as being embedded in a website and answering FAQs and perform basic customer support triage, with the option of enabling hand-off to a human agent. Here we begin to see the benefit of reducing workload on support staff and offering an enhanced service to customers by having the bot be able to deal with certain queries out of hours where human agents aren’t available.

What is bot? When and why is bot? Bots can answer your most burning questions

Microsoft’s QnA Maker is a tool that deploys and configures a set of components into Microsoft Azure including

  • An Azure Search instance
  • An Azure App Service with a DotNetCore coded bot (but no coding is required!)
  • A Bot Service registration
  • A QnA Service registration

Once deployed, the QnA Service is ready to be taught. You can impart knowledge one question and answer at a time, or else by preparing formatted Excel or Word documents. Using Word Documents are the preferred method as the ingest process can take into account header hierarchies and paragraphs to produce richer and multi-part answers.
Although not necessary to produce a working bot, the code can be tweaked to introduce new functionality or tweak behaviour.

Bots are powerful and do things! (And a word of caution..)

If you need a bot to go beyond answering queries or gathering information and to begin to take action, you may need to look beyond PVA, or at least the base set of skills available. While it has some ability to trigger external actions by trigger Power Automate Flows, more advanced scenarios will require some degree of coded development. The great news is that the Bot Framework supports multiple languages (NodeJS/JavaScript,DotNetCore), integrates with Microsoft Cognitive Services, and takes care of things like managing conversation and dialog state, authentication, message delivery.

Coded bots can do just about anything (a computer can do) and so are an amazing opportunity to develop new and wonderful services. However, while the chat interface is great for some use cases, for others it is not. For example, browsing and filtering large sets of data. I have seen demos which stretch the paradigm beyond credibility, including a Microsoft one for browsing properties on an Estate Agent’s website, which was frustrating enough to watch in a demo, let alone to use for real. Just a reminder to build services people want to use (I’m a techie, I’ve made this mistake.. ????)

Bots are easy to use!

Bots offer a new, more intuitive, conversational way of interacting with services. Nothing is more natural in our modern digital lives than a back and forth conversation via text or even speech. Bots can guide users through complex tasks by prompting for and validating information given to them in a series of simple steps.

Bots work everywhere!

The Bot Framework provides native means of delivering a bot embedded in a website, or though channels such as Microsoft Teams, Skype and Facebook Messenger. By virtue of this, they work on your PC or your Phone, no problem. These channels or web embedding all work regardless of which flavour of Bot Framework was used to develop it.

Bots offer a rich experience!

Typing can be minimised by enhancing a coded bot to display interactive cards authored using the Adaptive Cards library. These provide a richer experience and speed up certain interactions.

Bots are like, really clever

Natural language understanding can be achieved by integrating with Microsoft’s LUIS language understanding AI. This means users don’t have to be precise in their syntax making the service easier to use. LUIS also allows the bot to extract key pieces of information from in user’s messages, allowing users more familiar with the service to short circuit the interaction for a faster outcome.

They can also tie into other Microsoft Cognitive Services like translation, speech-to-text and image recognition.

Bots can be proactive!

Coded bots can be proactive with users they’ve had existing conversations with. So, for example, a stock ticker bot could be asked to let the user know when a stock goes above or below a certain threshold for example. Another use case is might be to notify a user when they’ve been assigned a task or ticket.
Proactive messaging, and the ability to update existing cards is a fairly recent addition to the Framework as there’s some nuance that I found myself to be tricky to grasp based on the docs alone. In a previous blog post I discussed an approach I followed and explained it as if to myself, which might be useful to some.
Read my previous blog.

A bot brings our legacy app kicking and screaming into the 21st century

All the benefits we’ve already covered mean that bots are a great way of modernising our legacy apps. So long as you have a way of interfacing with them, which can be a big if. However clever solutions can be found in many cases. At Silversands for example, our Service Desk tool is a slightly out of date version of Microsoft Service Manager. In this case, we have authored an API middleware layer to allow us the integrate a Bot Framework coded bot called ScribeBot. This has enabled access to our Service Desk from the Teams client, including mobile devices naturally, something that was nigh impossible prior to the bot. Beyond re-platforming the service desk, it has also brought about other benefits such as adding a faster mechanism for our support team to be notified of there being new unassigned tickets and being able to assign them directly from the card included in the notification.

Yeah but what have Bots ever done for us?

Ask not what bots have done for you, ask what they could do for you. And speak to us and see if we can help. We have a talented team of Power Platform makers and more traditional developers like myself.

Can we help?

Silversands is a Microsoft Gold Partner of over 30 years standing,  which specialises in Microsoft 365 delivered across cloud (Azure) and hybrid IT infrastructure. We provide consultancy, support and user adoption services. We are running a series of webinars this quarter, but specifically related to bots we have a webinar on 19th May. Click on the banner below to find out more and register.

Image: Bot webinar promo card with Jamie Sayer

If you need help and would like to have a chat about how Silversands might be able to help you, please complete the form below: