Choose the right chatbot solution for your use case

A chatbot is an application that makes use of written or spoken natural language as its user interface. In other words, conversation is the means through which questions are answered, requests are serviced, and so on. Drawing upon a broad portfolio of cognitive capabilities, chatbots understand natural language and its nuances from sentence constructs to sentiment.

Chatbots can be developed as independent applications or integrated into business-application platforms.

Below you can read about the available options and when to make use of each.

Option Description
Bot Framework Composer Open-source IDE to author, test, provision, and manage chatbots.
Power Virtual Agents Business application platform that incorporates chatbot capability.
Bot Framework SDK SDK for building bots, as well as tools, templates, and related AI services.
Bot Framework Orchestrator Dispatches the right skill at the right time in support of a chatbot.

Bot Framework Composer

Bot Framework Composer is an open-source IDE for developers to author, test, provision, and manage conversational experiences. It provides a powerful visual authoring canvas for your bot logic. It let's you manage and edit:

With Bot Framework Composer, experiences are authored from within a single canvas. Because it is built on the Microsoft Bot Framework, existing capabilities can be easily extended with code to address requirements as needed. Resulting experiences can then be tested within Composer and provisioned on Azure along with any dependent resources.

Composer is available as a desktop application for Windows, macOS, and Linux. If the desktop app is not suited to your needs, you can build Composer from source or host Composer in the cloud.

As an authoring canvas, Bot Framework Composer is broadly analogous to Power Virtual Agents. An important distinction, however, is that Bot Framework Composer is independent of the Microsoft Power Platform. In other words, you can make use of Bot Framework Composer to author, test, provision, and manage standalone conversational experiences.

For more information about Bot Framework Composer, refer to the introductory page. For details regarding pricing, refer to Azure Bot Services pricing. Once created and deployed on Azure, the chatbot service consumes resources. Costs associated with the consumption of resources on Azure are in addition to the cost of the chatbot service itself.

Power Virtual Agents

Power Virtual Agents is the chatbot capability included in the Microsoft Power Platform—a business-application platform that incorporates data analysis, solution building, and process automation in addition to this chatbot capability. From an easy-to-use GUI, chatbots can be built without the need to write code or to understand any of the details of the underpinning AI technologies. Because these agents can leverage automation and other capabilities within the Power Platform, sophisticated chatbot experiences can be rapidly developed. These agents can also be leveraged by Microsoft 365 and Microsoft Dynamics 365 for business-productivity use cases. Should there be a need, Power Virtual Agents can even tap into the SDK provided by the Microsoft Bot Framework to handle more complex scenarios.

For more information about Power Virtual Agents, see the product overview page. For details regarding pricing, refer to Power Virtual Agents pricing.

Bot Framework SDK

The Bot Framework, along with the Azure Bot Service, provides tools to build, test, deploy, and manage intelligent bots. The Bot Framework includes a modular and extensible SDK for building bots, as well as tools, templates, and related AI services. With this framework, developers can create bots that use speech, understand natural language, handle questions and answers, and more.

The Azure Bot Service and the Bot Framework offer:

  • The Bot Framework SDK for developing bots. This SDK supports C#, Java, JavaScript, Typescript, and Python.
  • Bot Framework Tools to cover end-to-end bot development workflow.
  • Bot Framework Connector service to send and receive messages and events between bots and channels.
  • Bot deployment and channel configuration in Azure.

Additionally, bots may make use of other Azure services, such as:

  • Azure Cognitive Services to build intelligent applications.
  • Azure Storage for a cloud storage solution.

Both Power Virtual Agents and Bot Framework Composer make use of the Bot Framework SDK to extend their existing capabilities and deliver more customized conversational experiences.

For more information about the Bot Framework SDK, refer to the introductory page.

Bot Framework Orchestrator

Bot Framework SDK allows to build customized discrete and reusable components of conversational logic called skills. Skills may be implemented as a user-facing bots or act to support another bot. As modular components, skills are advantageous for the following reasons:

  • Skills help to manage complexity. Complexity is inevitable as bot-based services gain traction and use cases broaden and deepen.
  • Skills promote reuse. Existing bots can be enhanced with skills; new bots can be rapidly developed.
  • Skills help to ensure maintainability. Sophisticated conversational experiences may the involvement of multiple developers or even multiple teams.

Even though it may be composed from a number of skills, a bot must deliver a seamless experience to the end user. This is the reason for having the Bot Framework Orchestrator. It seamlessly dispatches the right skill at the right time in support of a conversational experience. Triggered by utterances, the Bot Framework Orchestrator dispatches the appropriate skill by recognizing the intent of the conversation and responding accordingly.

Establishing the connection between an utterance and an intent requires a degree of natural language understanding and the Bot Framework Orchestrator benefits from state-of-the-art natural language understanding methods.

For more information about the Bot Framework Orchestrator, refer to the introductory page.

Next Steps