After we discussed about Chat Bot and Conversation as a Platform, today, we will be discussing about Microsoft Bot Framework.

What’s Bot or Artificial Intelligent(AI)?

“…”the study and design of intelligent agents” where an intelligent agent is a system that perceives its environment and takes actions which maximizes its chances of success.”

What’s the Benefits of using Bot or AI?

  • Increases the customer satisfaction since it can easily answer the Frequently Asked Questions (FAQ) almost instantly and brings ease to your employees.
  • Improve cost efficiency as now you can focus more on running your day-to-day business and less on spending time & money to support customers.
  • Always available! Hosting on cloud means more reliable & faster!

Bot allows the interaction between users and the intelligent solutions that can be hosted on servers as what they do with another real human-being. That means, bot can serve your inquiries anytime!

First of all, Microsoft often offers different tools/services throughout the development life cycle to make it easier and more convenient for developers at every stage and for developing chat bot, it is not an exceptional case.

Microsoft provides two different tools for developers to develop chat bot, such as:

  • Microsoft Bot Framework
  • Azure Bot Service

What is the Microsoft Bot Framework?

The Microsoft Bot Framework is more often referred to as the Bot Framework. It is a tool for developing the main core of chatbot. There are some advantages to using the bot framework:

Develop once that can be deployed to different platforms – for example, I have customers using Facebook, Telegram, Twitter and Skype. By using Bot Framework, we just have to develop once and use on different platforms.

Secondly, reduce the processing of the underlying handling, and focus on the business logic of chat bot.

Developing a chat bot has many details to consider, such as:

  • how to record what the user has answered before (understand the context),
  • various style of the presentation  (such as graphic style),
  • multiple kind of interactions patterns (such as simple answer, and option answer)

To achieve the goals and benefits mentioned above, the bot framework also provides two important tools/services:

  • BotBuilder – Development SDK
  • Bot Service – Azure service that host chatbot

What is BotBuilder?

BotBuilder is a development SDK that allows developers to work on necessary logic while developing chat bot, for example:

  • The handling of the context – the most troublesome part of chatbot is to remember what the user entered in the conversation, BotBuilder provides a mechanism to handle
  • Some common output methods – such as graphic content, let the user make the selected output, etc.
  • Handling of different platforms – Let business logic handle the same data format, while other different platform formats help to do the corresponding conversion

Therefore, using BotBuilder allows us to focus on our business logic without paying attention to the underlying details.

When we develop the service, the next step is to do the deployment of chat bot. How can I deploy to be able to use multiple platforms? This is where the bot service comes in.

What is Bot Service?

After we have developed it, how can we enable other platforms to be connected after the deployment?

Different platforms definitely have their data format and transmission content. How can I use my developed chat bot without changing?

If you are familiar with the development, you should know that you can do another layer of translation to convert other platforms’ services into the same language and then bind it accordingly.

So with the Bot Service, the main job of the bot service is to be a middleman, set the location of the chat bot, and the parts that other platforms need to connect, and put the two places together. As far as the actual translation of different formats is part of the BotBuilder’s processing.

What is Azure Bot Service?

When Bot Framework first appeared, it had its own separate web portal to set up and register the Bot Service. Since Bot Service is actually hosted in azure. So why don’t just integrate into Azure Portal?

So Azure Bot Service has emerged, basically understandable as an enhancement of the Bot Service. The Bot Service is not only available in the free version. If you need a more stable service, you can set the corresponding level from Azure.

In addition to the functions of the previous Bot Service, the Azure Bot Service also provides some other services, such as creating a Chat Bot directly on Azure.


We can conclude this topic as overview of the Bot Framework that gives you some ideas how Bot Framework is being designed.