Building a Chatbot on Azure - Summary

Start course

In this course, you will learn how to create a chatbot to answer support questions about specific products and services. Along with this, you will learn how to combine the Azure Bot Service and Azure QnA Maker and to add speech input and output capabilities to help customers on mobile devices and those with impaired sight.

This course requires some previous knowledge of Azure and coding.

Learning Objectives

  • Create and configure an Azure QnA Maker knowledge base
  • Create an Azure Bot Service chatbot that answers questions
  • Enable speech recognition and synthesis on an Azure chatbot

Intended Audience

  • Those interested in artificial intelligence services on Azure, especially chatbots


  • Previous experience using Azure
  • Previous experience with writing code


The GitHub repository for this course is at


I hope you enjoyed learning about Azure chatbots. Let’s do a quick review of what you learned.

Azure Bot Service contains the core components needed for a chatbot. It also integrates with Azure Cognitive Services, which is a collection of pre-built artificial intelligence tools. The Language Understanding service, or LUIS, can be used to help your bot better understand the meaning of messages it receives from users. The Speech service can be used to add audio capabilities to a bot.

Azure QnA Maker lets you build a knowledge base for your bot by importing questions and answers from existing documents. You can create and manage your knowledge bases by using the QnA Maker Portal.

When you create a QnA Maker service, it will also automatically create an Azure App service and a Cognitive Search service.

It’s possible to create a multi-turn conversation, where the bot responds to a user’s question with a prompt for more information so the bot will know which specific answer to give.

Another option is called chit-chat. You can choose a personality, such as professional or witty, and it will add a set of responses to common questions in a style that matches that personality type.

If there are multiple questions that should return the same answer, then you can add alternative phrasings that all point to that answer.

If you enable Active Learning, then QnA Maker will learn from user interactions with your knowledge base and suggest some alternative phrasings to add.

If you need to migrate a knowledge base to another region, you can export it in the original region and import it in the new region.

Every time you update a knowledge base, you need to train it and publish it again.

To give a bot a way to communicate with users, you need to configure at least one communication channel for it. You can have channels that let users interact with the bot using apps such as Skype, Facebook Messenger, and web chat.

To give the bot a web chat frontend, you need to embed some code in a web page that authenticates with the bot’s Web Chat channel. You can either include one of the channel’s secret keys or add some code that retrieves a token for the channel.

There are several ways to enable speech on an Azure chatbot. One good option is to integrate the chatbot with the Speech service and the Direct Line Speech channel. You also have to enable web sockets in your App service and select “Enable Streaming Endpoint” in your bot’s configuration. Finally, you need to add code to your bot that uses the Speech SDK to do speech recognition and speech synthesis. This code will have to authenticate with the Speech service.

To learn more about Azure’s AI services, you can read Microsoft’s documentation. Also, watch for new Microsoft Azure courses on Cloud Academy because we’re always publishing new courses. Please give this course a rating, and if you have any questions or comments, please let us know. Thanks!

About the Author
Guy Hummel
Azure and Google Cloud Content Lead
Learning Paths

Guy launched his first training website in 1995 and he's been helping people learn IT technologies ever since. He has been a sysadmin, instructor, sales engineer, IT manager, and entrepreneur. In his most recent venture, he founded and led a cloud-based training infrastructure company that provided virtual labs for some of the largest software vendors in the world. Guy’s passion is making complex technology easy to understand. His activities outside of work have included riding an elephant and skydiving (although not at the same time).