Azure Bot Service Overview

Use the Azure Bot Service to accelerate your bot’s development by working in an integrated environment that’s purpose-built for bot development. This integrated environment lets you build, connect, deploy and manage intelligent bots that interact naturally wherever your users are talking—from your app or website to Text/SMS, Skype, Slack, Facebook Messenger, Kik, Office 365 mail, and other popular services. You can also increase the value of your bots with a few lines of code by plugging into Cognitive Services to enable your bots to see, hear, interpret and interact in more human ways.

Get started in seconds with out-of-the-box templates including basic bot, LUIS bot, form bot, and proactive bot. Azure Bot Service is powered by Microsoft Bot Framework and Azure Functions. By using Azure Functions, your bot will run in a serverless environment on Azure that will scale based on demand.

You can write your bot in C# or Node.js directly in the browser using the Azure editor without any need for a tool chain (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 the code in the browser.

The Azure editor does not allow you to manage the files by adding new files or renaming or deleting existing files. If need to manage the files, you should set up continuous integration. This would let you use the IDE and source control of your choice (for example, Visual Studio Team, GitHub, and Bitbucket). Continuous integration will automatically deploy to Azure the changes that you commit to source control. Note that after configuring continuous integration, you will no longer be able to update the bot in the Azure editor.

Once you have setup continuous integration, you can debug your bot locally by following these instructions.

The following are the Bot App templates that you can create.

  • Basic—A simple bot that uses dialogs to respond to user input. See Basic bot template.
  • Form—A bot that uses a guided conversation to collect user input. The C# template uses FormFlow to collect user input, and the Node.js template uses waterfalls. See Form bot template.
  • Language understanding—A bot that uses natural language models (LUIS) to understand user intent. See Nautral language bot template.
  • Proactive—A bot that uses Azure Functions to alert bot users of events. See Proactive bot template.

For a walkthrough that shows creating a bot using Azure Bot Service, see Creating your first bot.