O'Reilly logo
live online training icon Live Online training

Getting Started with Chatbot Development with the Microsoft Bot Framework

Develop Intelligent Bots with Visual Studio and Azure

Kevin McCarty

This training course is aimed at teaching you how to develop bots to communicate more effectively with customers, using automated input/response that provides a more human-like and positive customer experience.

These days, many websites make use of chatbots. Chatbots allow users to interact and ask questions without tying up a customer service person. Recent studies have shown, while customers generally prefer human interaction over a bot, bots are becoming more versatile and smarter. In some cases, bots are preferred over their human counterparts. As bots become more responsive and human-like they are becoming deeply embedded in an organization’s communication system and provide superior advantages over humans.

The goal of this training course is to demonstrate building ChatBot applications using the Microsoft Bot Framework Application Template and Visual Studio. We will look at the recent history and use of bots in support of corporate and government websites. We will explore some of the AI components of the Microsoft Bot Ecosystem in Azure and how they incorporate into bot technology to provide a richer, more user-friendly experience. We will then look at examples of different types of commercial bots and their use on the Web.

In the second part of the course, we will learn how to import the Bot Application Template into Visual Studio, then use it to create a simple bot. We will explore various components of a basic bot, then learn how to install the Bot Emulator and use it to test a bot on their local machine. We will also learn about various bot types and interfaces. We will cover a step-by-step implementation of a Bot app in Azure and use Visual Studio to publish it to the Azure platform as a service. We will learn how to test your bot in Azure, add a Cortana channel and test it using Cortana in Windows 10.

In the third section of the course, we will cover some of the components of the AI Ecosystem available in Azure, which can be incorporated into a Bot. We will see how to build LUIS applications for intelligent language processing, Bing Search for images and Q&A for handling question/answer sessions using the bot.

What you'll learn-and how you can apply it

  • Install and configure the Bot Framework Application Template for Visual Studio to build your first bot
  • Install the Bot Emulator for local bot testing
  • Use the online code editor to make changes to a bot
  • Learn the different kinds of bots
  • Create and test an Azure Bot Application
  • Obtain keys from the Azure Bot Application
  • Explore data and messaging components of a bot
  • Request input from a user
  • Create cascaded/waterfall input sessions
  • Create an adaptive card bot
  • Publish a bot to Azure using Visual Studio and test
  • Add the Cortana channel to a bot
  • Activate the bot on a local machine using Cortana
  • Incorporate AI components such as LUIS, QnA into the bot
  • Use Bing Search with a bot

This training course is for you because...

You are a DevOps Engineer, developer or an IT Operation executive who wants to add ChatBots to your internal or external websites.


  • Visual Studio 2017
  • An Azure account

Recommended Preparation

Understanding Bot Framework

Materials, downloads, or Supplemental Content needed in advance

Git – https://github.com/thekev63/BasicChatbots

About your instructor

  • Kevin McCarty is a Ph.D. (Computer Science), former Army officer and Eagle Scout currently working as a Data Scientist and Facilitator for courses in data science and analytics. He has over 30 years of experience as a data scientist, developer, project manager, consultant, database administrator, and architect. He is a Microsoft Certified Trainer and courseware developer for Python, Tableau, Azure Machine Learning, Cognitive Services, and SQL Server technologies, and holds over 25 active certifications. He is skilled in a wide range of computer languages and technologies.

    He is a professional blogger with over a dozen IEEE peer-reviewed publications focused primarily on data science; in particular machine learning, data mining and fuzzy logic. He also serves as a chapter leader for the Boise SQL Server Users Group.


The timeframes are only estimates and may vary according to how the class is progressing


Section 1: Introduction to ChatBots (40 minutes)

  • Reasons for ChatBots
  • Discussion of the Framework
  • New project type
  • Using the Emulator

Lab 1: Creating and testing a simple bot (10 min activity) - Download and install framework template, bot emulator - Build and test a basic bot

Break - 10 min

Section 2: Basic Input (20 minutes)

  • Adding an input prompt
  • Basic messaging

Lab 2: Adding a basic input to the bot (10 min activity) - Adding input controls to the bot and testing

Section 3: Adding choices (20 minutes)

  • Demonstration of the choice control and bot framework dialog

Lab 3: Adding choices (20 min activity) - Modify the bot application to add a new dialog and choice control

Break - 10 min

Section 4: Building a Waterfall bot (30 minutes)

  • Design and implementation of the waterfall bot

Lab 4: Building a Waterfall bot (20 min activity) - Implement and test a waterfall-style bot using the Bot Framework

Break - 10 min

Section 5: Adaptive Card bot (30 minutes)

  • Implementing an Adaptive Card style bot

Lab 5: Building an Adaptive Card bot (30 min - 25 min activity + 5 min break) - Use the Bot Framework to build an Adaptive Card bot


Section 6: Azure and the Bot Framework (30 minutes)

  • Azure Bots
  • Creating Azure Bots
  • Testing Azure Bots
  • Deploying Azure Bots

Lab 6: Create, deploy a bot to Azure and test (30 min activity) - Create an Azure bot - Use Visual Studio to deploy your bot to Azure - Test your bot in Azure

Break - 10 min

Section 7: Using a bot with Cortana (30 minutes)

Lab 7: Adding a Cortana channel for use with your bot (15 min) - Set up your bot for use with Cortana in Windows 10

Section 8: Bot Logging (30 minutes)

  • Intercepting messages between bot and users
  • Logging to a database
  • Logging to a file

Lab 8: Set up bot logging (30 min - 10 min activity + 5 min break) - Capture and log messages between the bot and users

Break - 10 min

Section 9: Using QnA with your bot (30 minutes)

  • Introduction to QnA
  • Interfacing with your bot

Lab 9: Integrating QnA with your bot (30 min activity) - Create your own QnA session and add it to your bot

Wrap-up and remaining Q&A (15 min)