Chatbot Development

Develop a Chatbot with Microsoft Bot Framework

Microsoft Bot Framework is an agile and capable software for bot developers of all levels. Learn more about developing for this versatile framework.

September 30, 2021

If you’re interested in building a bot, finding the perfect framework for your new project is critical. Whether you want to build a basic chatbot or a state-of-the-art advanced virtual assistant, bot builders should begin with a framework that is versatile, easily upscaled, and, most importantly, easy to use. Fortunately, Microsoft Bot Framework fits each of these categories and provides a great service with a variety of features and options.

Particularly for bot builders already familiar with the Microsoft ecosystem, or for companies already using the Microsoft Enterprise tools and services, Bot Framework is an excellent choice, thanks to its convenient integrations. However, even outside of Microsoft products, there are features that any bot builder will be excited to find.

What is Microsoft Bot Framework?

For users first exploring this framework, the variety of features and options available might initially feel overwhelming, but understanding the distinctions between offerings is the best place to start.

Bot Framework is its own service, with tools to build, test, deploy, and manage intelligent bots. It also provides a modular and vast software development kit (SDK), providing bot developers with tools, templates, and artificial intelligence (AI) services to help create a bot that can use speech recognition and natural language processing (NLP) to handle questions and answers from users.

If you’re wondering what to implement with this framework, example use cases include:

- Q&A knowledge base
- Alternative system interface
- Entertainment and education
- Notification center

With these opportunities in mind, it’s clear that the framework is more than capable of meeting the needs of most developers. However, understanding its many distinct features requires a more in-depth examination. According to Microsoft documentation, the framework is split into two separate tools: Bot Framework Composer and Bot Framework SDK. For users more interested in creating bots through a visual designer, Composer is the way to go. If you’re a developer who’s more familiar with code, the SDK may prove more efficient. The variety of options that this framework provides is one of the key areas where it differentiates itself from other bot-building services.

However, when discussing this framework, it’s also essential to mention Microsoft Azure Bot Service.

Understanding Microsoft Azure

For users who might be confused, it’s important to note that it’s possible to not use the Azure Bot Framework when building a bot with Microsoft Bot Framework. However, the host of services that Azure provides means that it’s likely that you’ll want to use it when you build your bot.

Azure is the ecosystem in which Microsoft’s cloud computing services reside, and it provides a wide range of services for building, testing, deploying, and managing cloud-based applications. Google Cloud is a good comparison point.

When it comes to bots, Azure has its own bot service—Azure Bot Service—designed to provide a comprehensive environment for building a bot and for applying AI features. When using Azure Bot Service, you’re directly interacting with Bot Framework, with all the additional offerings of Azure.

How to build with Microsoft Bot Framework

For those of you looking to build your very first bot with the Microsoft Bot Framework, look no further than the Azure Bot Service Documentation. This site breaks down the instructions so developers can choose between C#, Java, JavaScript, Python, and the Azure portal, ensuring you can work in your favorite language.

Additionally, if you’re interested in experimenting with the software, you can download the Bot Framework SDK free of charge. It’s the perfect tool to start with for experimentation before settling into a larger project. If you decide to build your bot in Microsoft Bot Framework, using the SDK will allow for the greatest level of versatility and customization. For example, if you’re interested in incorporating NLP into your bot, you can add Microsoft’s LUIS extension. The same goes if you would like to add Q&A or graphics to your bot—Microsoft provides an extension for that! Of course, any AI features will have to be delivered through the Azure offerings, so if this is something you’re interested in, be prepared to incorporate Azure into your build. Bot Builder offers a host of examples to help you learn from bot builders who came before you.

After your bot is built, you’ll want to test it. To do that, head to the Bot Framework Emulator, Microsoft’s standalone app, and link your brand-new bot. When they’re linked, you can test to your heart’s content. After you feel confident in your bot’s ability to go out and do great things, you’re free to deploy it to Azure and let it get to work.

The pricing model

If you’re still interested in working with this framework to develop the bot of your dreams, it’s important to also understand the Microsoft Bot Framework’s pricing model, which has two main tiers. Budget-conscious bot enthusiasts will be happy to know that one tier is a free model that still provides a value which many bot developers would be happy with. With the free model, developers have access to unlimited messages per month on standard channels and 10,000 messages per month on premium channels. For the higher tier S1 model, developers have unlimited messages per month on standard channels, while being offered a rate of $0.50 per 1,000 messages on premium channels.

The difference between standard and premium channels is whether the channel is inside or outside the Microsoft ecosystem. Standard channels include Microsoft services, such as Cortana and Teams, as well as any program with a publicly available API, such as Slack. Premium channels are anything outside these offerings and typically include personal websites or apps without a public API.

Ultimately, Microsoft Bot Framework is a highly advanced and capable bot-building service designed to help developers of all levels of experience build a wide variety of bots. If you want a deep dive into developing an AI-powered bot or you’re just working to develop a simple Q&A for your website, this framework is more than capable of doing what you need. For a comprehensive list of different frameworks to use on your next build, check out our article on choosing a bot framework. Additionally, explore our other bot framework tutorials, such as those on Dialogflow, Botkit, and Rasa.

For more information on building bots, be sure to check out the chatbot development tab.