Azure Bot Service

The Azure Bot Service accelerates the process of developing a bot. It provisions a web host with one of five bot templates you can modify in an integrated environment.

Azure Bot Service offers two different hosting plans for bots. Converting bot source code from one plan to the other is a manual process.

App Service plan

A bot that uses an App Service plan is a standard Azure web app you can set to allocate a predefined capacity with predictable costs and scaling. With a bot that uses this hosting plan, you can:

  • Edit bot source code online using an advanced in-browser code editor.
  • Download, debug, and re-publish your C# bot using Visual Studio.
  • Set up continuous deployment easily for Visual Studio Online and Github.
  • Use sample code prepared for the Bot Builder SDK.

Consumption plan

A bot that uses a Consumption plan is a serverless bot that runs on Azure Functions, and uses the pay-per-run Azure Functions pricing. A bot that uses this hosting plan can scale to handle huge traffic spikes. You can edit bot source code online using a basic in-browser code editor. For more information about the runtime environment of a Consumption plan bot, see Azure Functions Consumption and App Service plans.


You must have a Microsoft Azure subscription before you can use the Azure Bot Service. If you do not already have a subscription, you can register for a free trial.

Create a bot in seconds

The Azure Bot Service enables you to quickly and easily create a bot in either C# or Node.js by using one of five templates.

Template Description
Basic Creates a bot that uses dialogs to respond to user input.
Form Creates a bot that collects input from a user via a guided conversation that is created using FormFlow (in C#) or waterfalls (in Node.js).
Language understanding Creates a bot that uses natural language models (LUIS) to understand user intent.
Proactive Creates a bot that uses Azure Functions to alert users of events.
Question and Answer Creates a bot that uses a knowledge base to answer the user’s questions.

For more information about templates, see Templates in the Azure Bot Service. For a step-by-step tutorial that shows how to quickly build and test a simple bot using Azure Bot Service, see Create a bot with Azure Bot Service.

Choose development tool(s)

By default, Azure Bot Service enables you to develop your bot directly in the browser using the Azure editor, without any need for a tool chain (i.e., local editor and source control). The integrated chat window sits side-by-side with the Azure editor, which lets you test your bot on-the-fly as you write code in the browser.

Although using Azure editor eliminates the need for an editor and source control on your local computer, Azure editor does not allow you to manage files (e.g., add files, rename files, or delete files). If you have Visual Studio Community or above, you can develop and debug your C# bot locally, and publish your bot to Azure. Also, you can set up continuous deployment by using the source control system of your choice, with easy setup for Visual Studio Online and Github. With continuous deployment configured, you can develop and debug in an IDE on your local computer, and any code changes that you commit to source control automatically deploy to Azure.


After enabling continuous deployment, be sure to modify your code through continuous deployment only and not through other mechanisms to avoid conflict.

Manage your bot

During the process of creating a bot using Azure Bot Service, you specify a name for your bot and generate its App ID and password. After your bot has been created, you can change its settings, configure it to run on one or more channels, or publish it to one or more channels.

Next steps

Additional resources

If you encounter problems or have suggestions regarding the Azure Bot Service, see Support for a list of available resources.