Creating a Q&A Bot for Microsoft Teams just got easier! Microsoft has released a Q&A Bot on GitHub and its pretty cool, plus you don’t need any developer skills (which I don’t) to get this working.
Inspired by the presentation given by Dr. David Kellerman (lecturer in the school of engineering at the University of New South Wales) at Microsoft Inspire this year, I’ve been playing around with bots a little lately. I am by no means an expert on this stuff, but there is a lot than can be achieved almost of the box with the Azure Bot Service and QnA Maker – a service that couples cognitive services with the ability to create question and answer pairs for your bot to consume. When a user asks the bot a question the answers are pulled (and managed) from QnA Maker. Here’s an example of a Question and Answer pair:
The installation documentation is pretty good so i wont cover that here, instead I will walk through what the bot can do and how you might use it. If you have any questions about the installation process, please feel free to ask below.
Interacting with the bot
Once you have followed the above mentioned installation guide you can start interacting with the bot in Teams (it wont respond using the Azure test interface).
In Microsoft Teams users can search for the bot and start a chat:
Here I ask the bot a question about Channels:
I have a couple of options when I receive a response. The first allows me to route my question to an expert if I didn’t find what I was looking for – “Ask an Expert”:
The “Ask an expert” question is then routed to a defined Team/Channel where the “experts” can action them. Here’s whats posted to the ‘Experts’:
The expert can manage the status by assigning the question to themselves or closing it:
Likewise, users can also submit feedback on the answers they receive so that the experts can improve the Q&A knowledge base:
Here’s what the experts see in this case:
Feedback in this bot is manually managed. In Dr Kellerman’s bot, feedback is actually automatically processed and the Q&A knowledge base it automatically improved. Q&A results are also made available to everyone so that questions asked by other students can be seen. This is really cool because it creates a self maintaining knowledge base. Hopefully the open source bot will improve along these lines in the future as such features are way above my pay grade to implement!
Another thing to note is that this bot doesn’t support images and videos in line which I think would be useful. I’m trying to find a way to add this capability. I’ve got a little way there and will share the modifications once completed.
What could you use the bot for?
We’ll in my case I plan to deploy it at my company and build a knowledge base that answers common questions about Teams and Office 365 services. This will help answer peoples questions quickly and easily and route anything the bot doesn’t know to a real person.
I really like what Dr Kellerman has done and with a little imagination and some development skill there are endless possibilities. For example I’d also like to create a bot that could push training videos to users to help with adoption of new or useful features.