Building a Simple Bot for Microsoft Teams – Part 2 – Building a basic Q&A Bot for Microsoft Teams

This is a series of blog posts that will walk through the following:

These posts are based on the Preview Microsoft Teams Developer Platform.

You can build many different types of Bots , this particular post is based on a simple Q&A Bot. For more information on the different more complex types of Bots visit the Bot Framework Overview

Create and Publish your Q&A Service

For a Q&A bot we start with creating a service via navigating to QnA Maker  , after signing in select the Create a Service link at the top of the page. We now need to give you service a name and decide how to load data.

Create a QnA

As noted in the screen you can start via giving the service a Url of a FAQ to load, Upload a File containing question and answer pairs or just manually load. In this example select Create at the bottom of the page to create a blank KB.
To add some responses you can then use the Add new QnA Pair option and then select Save and Retrain to add the items you entered.

Add to Knoweldge Base

Next select the Test option on the left. This will allow you to test chatting to your Bot as well as adding alternative responses. With the default setup if you say Hi the Bot responds with Hello, but if you say Hello it will give the default no good match found. If you add some alternatives as shown below and then click save and retrain the Bot will now respond with Hello for those items as well.

Alternative Responses.PNG

This is a very basic example but it illustrates how this can be used to easily add a response for multiple alternative phrases. In some cases with more content loaded multiple responses may be matched hence the option on the left to choose the most appropriate response allows selection of the best one to use.
Finally if you want to load more content from a url or file the settings page can be used to add this. You can come back later and tweak the content , each time you do this you need to Save and retrain.
For now however just hit the publish option. After clicking through Publish you will see a a success screen and we now need to build our Bot

Build your Bot

Now we need to put the actual Bot on top of the knowledge base functionality.  You can build and host your own and call the provided REST API  via the url given to you on the success page of publishing your QnA service but fortunately there is a much easier way which involve writing no code yourself.

Navigate to Azure and hit the add button and search for Bot Framework.

Bot Service

The next screen will ask you to give your bot a unique name and pick which resource group and location to host it in.  On this screen I highly recommend selecting the Pin to Dashboard option down the bottom , as this makes it far easier to find your service when you need to configure it.

Bot Creation
This will then create your Bot Service.  Now you need to configure it. Assuming you pinned it to your dashboard navigate to it from there , if you did not the easiest way I have found to get back to it is via the resource group.
It will be an app service and when you select it it will display a screen that is asking for an App ID.

Create App ID 1

To generate an App ID just hit the create button, at this point you may need to sign-in to the app registration portal.  Just generate the ID and password using the options , but please pay attention when it warns you that the password will not be shown again after this screen so record it carefully !
Once that is generated that screen will close and the details will be added to the Bot screen in Azure. You also need to paste the app password in.
The next step is to select a language, I am using Node but C# is also available.

Choose Language

Down the bottom of the screen it also asks for you to select a template, in our case we want to use the Question and Answer template

Bot Template

After hitting the Create bot it will then give you an option to create to an existing knowledge base.  You can also create a KB from this screen but I find training the KB can take a while so I prefer to do that first to make sure I am happy with it before I create my Bot.

Connect KB

You Bot will then be generated which typically takes a few minutes.  The final step is to enable the Teams Channel for the Bot.

Configure Teams Channel and add to Teams

The next step is to navigate to the channels page and select add for Microsoft Teams.

Add Channel

On clicking add it will the configure the required settings so you can just click I’m done configuring Microsoft Teams.

Configure Channel

As during the developer preview we side load bots we do not need to publish the bot hence we can just click the Test link  to Add to Teams.

Add to Teams

In teams you should now be able to chat to your bot.
Next post covers how to sideload the Bot and add a pinned Tab


4 thoughts on “Building a Simple Bot for Microsoft Teams – Part 2 – Building a basic Q&A Bot for Microsoft Teams

  1. Pingback: Building a Simple Bot for Microsoft Teams – Part 1 – Getting your tenant ready – Laney's Tech Thoughts

  2. Pingback: Building a Simple Bot for Microsoft Teams – Part 3 – Adding a pinned Tab to your Bot | Laney's Tech Thoughts

  3. Pingback: Building a Simple Bot for Microsoft Teams – Part 4 – Using deep links from your Bot | Laney's Tech Thoughts

  4. Pingback: Building a Simple Bot for Microsoft Teams – Part 3 – Sideload the Bot and add tabs | Laney's Tech Thoughts

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s