Introduction to the Bot Framework

The Bot Framework is a platform for building, connecting, testing, and deploying powerful and intelligent bots. The types of bots that you can build with the Bot Framework are also commonly called chat-bots.

Inside the Microsoft’s Bot Framework

Microsoft’s Bot Framework is designed to help you build and deploy chat-based bots across a range of services, including non-Microsoft platforms and through open web and SMS gateways, with minimal coding and with tools for delivering cross-platform conversations from one bot implementation. Like much of Microsoft’s recent development tools, the Bot Framework is intended to be cross-platform and cloud-based, building on Azure services and on the APIs in the company’s machine learning-powered Cognitive Services APIs.

At the heart of the Bot Framework are two SDKs, one for use with .Net and one building on the open source cross-platform JavaScript-based Node.js. There’s also a set of RESTful APIs for building your own code in your choice of languages. Once built and tested, bots can be registered in any of the supported channels (with their own user names and passwords), before being listed in Microsoft’s Bot Directory.

Microsoft Bot Framework team is working on some new features. The road-map of the Bot Framework includes:

  • Integration across the Azure ecosystem
  • Platform as a service for bots
  • Azure Bot Service V2 announced

What is a bot?

Think of a bot as an app that users interact with in a conversational way. Bots can communicate conversationally with text, cards, or speech. A bot may be as simple as basic pattern matching with a response, or it may be a sophisticated weaving of artificial intelligence techniques with complex conversational state tracking and integration to existing business services.

The Bot Framework enables you to build bots that support different types of interactions with users. You can design conversations in your bot to be freeform. Your bot can also have more guided interactions where it provides the user choices or actions. The conversation can use simple text strings or more complex rich cards that contain text, images, and action buttons. And you can add natural language interactions, which let your users interact with your bots in a natural and expressive way.

Bots use text, speech, or cards for their conversation and also can implement artificial intelligence to get involved in complex and deep conversations with human.

Microsoft Bot Framework is a set of APIs for building intelligent bots using .NET/C#, Node.js, and REST.

Let’s look at an example of a bot that schedules salon appointments. The bot understands the user’s intent, presents appointment options using action buttons, displays the user’s selection when they tap an appointment, and then sends a thumbnail card that contains the appointment’s specifics.

Bots are rapidly becoming an integral part of digital experiences. They are becoming as essential as a website or a mobile experience for users to interact with a service or application.

Why use the Bot Framework?

Developers writing bots all face the same problems: bots require basic I/O, they must have language and dialog skills, and they must connect to users, preferably in any conversation experience and language the user chooses. The Bot Framework provides powerful tools and features to help solve these problems.


The Bot Framework supports several popular channels for connecting your bots and people. Users can start conversations with your bot on any channel that you’ve configured your bot to work with, including email, Facebook, Skype, Slack, and SMS.

Build smart bots

You can take advantage of Microsoft Cognitive Services to add smart features like natural language understanding, image recognition, speech, and more.



  • Udeesh S B works as Module Lead with Trigent Software. With over three years’ experience with Trigent Software, Udeesh specializes in .NET technologies like C#, MVC, Asp .NET, VB .NET, Web services, WCF, WEB API, client side technologies, and so forth. He has completed his B.E in computer science from VTU University and M.S in Computer Science from Manipal University.