New book: Programming the Microsoft Bot Framework: A Multiplatform Approach to Building Chatbots

We’re pleased to announce the availability of Programming the Microsoft Bot Framework: A Multiplatform Approach to Building Chatbots (ISBN 9781509304981), by Joe Mayo.

Jan. 23, 2018 note: there is an important update regarding the code for this book. Read this blog post for details.

Purchase from these online retailers:

Microsoft Press Store Amazon Barnes & Noble Independent booksellers – Shop local

There is also a companion video by Joe Mayo available for purchase at the Microsoft Press Store. This video includes over five hours of instruction and teaches users to build conversational user interfaces with the Microsoft Bot Framework. Learn more about the video here.

Overview

Build Breakthrough Conversational User Interfaces with Bot Framework

This authoritative guide to building bots (a.k.a. chatbots) with the Microsoft Bot Framework is written by Microsoft MVP Joe Mayo. In this book, he shows you how to leverage advanced artificial intelligence and natural language processing to make new and existing applications stunningly intuitive. Mayo begins with a clear, high-level explanation of Bot Framework: what it is, and what it makes possible. Next, he guides you through each key development task: building dialogs, managing conversations, interacting with framework APIs, incorporating natural language processing, and deploying bots to key platforms such as Slack, Skype, and Facebook Messenger. Throughout, Mayo’s practical code examples and clear explanations help you translate the “magic” of intelligent bots into real, production solutions.

Microsoft MVP Joe Mayo shows how to:

  • Understand Bot Framework components, integration, and communication
  • Manage complex dialog flows between bots and people across multiple sessions
  • Set up and organize bot projects with pre-made templates
  • Master conversation essentials including activity types, contents, and properties
  • Use the emulator to test conversations and debug a chatbot
  • Specify how you want conversations to proceed with FormFlow
  • Build flexible, intelligent bots with Language Understanding Intelligent Service (LUIS)
  • Integrate with external messaging services such as Slack and Skype
  • Construct sophisticated non-linear conversations
  • Register and publish your bot through Microsoft Azure
  • Create email, SMS, and web chat bots
  • Master advanced techniques utilizing Microsoft Bot Framework APIs
  • Extend bots with Microsoft’s cognitive services APIs

About This Book

  • For all developers who want to build chatbots or integrate them into existing web, mobile, desktop, or platform apps
  • Requires no previous knowledge of bots or Conversational User Interfaces (CUIs)

Introduction

Microsoft first introduced the Bot Framework on March 30th 2016, during their annual Build developer conference. Essentially, the Bot Framework lets developers build apps, called chatbots, that surface in common messaging apps. To get started, you can open your favorite messaging app, such as Messenger, Skype, or Slack and add chatbots to your friends list. You can then interact with the chatbot with buttons, cards, or text for nearly any type of application. The difference is that the chatbot excels at conversational communication, rather than graphical, which can be very efficient. Developers can also write one chatbot with the Bot Framework and target a growing list of platforms, called channels. I’ve already mentioned a few messaging channels and you can literally surface the same chatbot anywhere, including web pages, SMS text, and Cortana Skills. There’s even a Direct Line API that lets you create your own channels. Combining the power of conversation, multiple-channels, and voice, developers have a powerful tool to bring their applications through chatbots to anyone anywhere.

Programming the Microsoft Bot Framework: A Multiplatform Approach to Building Chatbots tells the story of the Bot Framework from a high-level architecture to managing conversations with dialogs and on to natural language processing and voice communications. Each step of the way, you learn the core principles of why a subject is important and how it applies to the work you need to do. While chatbots exist for a myriad of enterprise applications and industries, this book focuses on three primary examples: a game, a storefront, and entertainment. The examples and explanations are designed to not only give you ideas for your own chatbots, but put you on solid footing to start building your own chatbots right away.

Who should read this book

This book is for C# developers who want to learn about what chatbots are and what they can do for you. If you can write code and are able to read C# syntax, you can probably keep up. Though it is developer focused, Architects should find this to be a useful reference for how the Bot Framework operates and the considerations affecting integrations and systems design.

Assumptions

At a minimum, you should be able to read C# code. Any experienced C# developer won’t have a problem. Knowledge of ASP.NET MVC Web API is helpful because that’s the project type for all of the examples. Even if you’re new to ASP.NET, you shouldn’t have a problem because the book explains many of the details of how the Bot Framework handles web related subject material.

This book might not be for you if…

This book might not be for you if you’re a brand new programmer who doesn’t know how to write code. Although the Bot Framwork has a Node.js SDK, and could potentially support other languages in the future, this book uses C# exclusively. When people hear the term “bot,” they often think of physical robots and autonomous machines, and this book is neither of these things. It’s a book on how to write software for conversational user interfaces, which is another reason I use the term “chatbot.” There are other chatbot platforms available, but this book only covers the Microsoft Bot Framework. That said, if you’re a C# developer who’s excited about chatbots and other Microsoft AI technologies, then don’t hesitate to buy this book right now.

Contents at a glance

PART I GETTING STARTED
CHAPTER 1 Exploring Bot Framework Architecture
CHAPTER 2 Setting Up a Project
CHAPTER 3 Building Conversations: The Essentials
CHAPTER 4 Fine-Tuning Your Chatbot

PART II BOT BUILDER
CHAPTER 5 Building Dialogs
CHAPTER 6 Using FormFlow
CHAPTER 7 Customizing FormFlow
CHAPTER 8 Using Natural Language Processing (NLP) with LUIS
CHAPTER 9 Managing Advanced Conversation

PART III CHANNELS AND GUI
CHAPTER 10 Attaching Cards
CHAPTER 11 Configuring Channels
CHAPTER 12 Creating Email, SMS, and Web Chatbots

PART IV APIS, INTEGRATIONS, AND VOICE
CHAPTER 13 Coding Custom Channels with the Direct Line API
CHAPTER 14 Integrating Cognitive Services
CHAPTER 15 Adding Voice Services

About the author

JOE MAYO is an author and independent software consultant, specializing in Microsoft technologies. He has written several books, including Programming the Microsoft Bot Framework: A Multiplatform Approach to Building Chatbots, by Microsoft Press. A long-time MVP with several years of awards, Joe can often be found tweeting (as @JoeMayo) about #BotFramework and #AI on Twitter.