Microsoft Docs

Azure Bot Service Overview

The Azure Bot Service provides an integrated environment that simplifies the development, deployment, and management of intelligent bots. It combines the power of the Bot Framework with Azure's global infrastructure to enable scalable, secure, and intelligent conversational experiences.

  • Multi-channel support (Web, Teams, Skype, Slack, etc.)
  • Built-in AI services: LUIS, QnA Maker, Azure Cognitive Services
  • Continuous deployment via Azure DevOps or GitHub Actions
  • Enterprise‑grade security and compliance

Quickstart: Create Your First Bot

Azure CLI
Azure Portal

Run the following commands in your terminal:

# Install the Bot Service extension
az extension add --name botservice

# Create a resource group
az group create --name MyBotRG --location eastus

# Create the bot
az bot create \
  --resource-group MyBotRG \
  --name MyFirstBot \
  --kind webapp \
  --location eastus \
  --sku F0 \
  --app-id YOUR_MICROSOFT_APP_ID \
  --app-secret YOUR_MICROSOFT_APP_PASSWORD
  1. Sign in to the Azure portal.
  2. Click Create a resource → AI + Machine Learning → Bot Channels Registration.
  3. Fill in the required fields (Bot handle, Subscription, Resource group, etc.).
  4. Under Microsoft App ID and password, click Auto create App ID and password.
  5. Click Review + create and then Create.

Key Concepts

Channels

Channels are the mediums through which users interact with your bot. Azure Bot Service supports over 15 channels out of the box.

Bot Framework SDK

The SDK provides libraries for building conversational experiences. It supports Node.js, .NET, Python, and Java.

Language Understanding (LUIS)

Integrate LUIS to add natural language understanding to your bot.

Sample Code

Below is a minimal Node.js bot using the Bot Framework SDK v4.

const { BotFrameworkAdapter, MemoryStorage, ConversationState, ActivityHandler } = require('botbuilder');
require('dotenv').config();

const adapter = new BotFrameworkAdapter({
    appId: process.env.MicrosoftAppId,
    password: process.env.MicrosoftAppPassword
});

const memoryStorage = new MemoryStorage();
const conversationState = new ConversationState(memoryStorage);
adapter.use(conversationState);

class EchoBot extends ActivityHandler {
    constructor() {
        super();
        this.onMessage(async (context, next) => {
            const text = context.activity.text;
            await context.sendActivity(`You said: ${text}`);
            await next();
        });
    }
}

const bot = new EchoBot();

module.exports = { adapter, bot };

Pricing

Azure Bot Service offers a free tier (F0) suitable for development and testing. Production workloads typically use the standard tier (S1). Detailed pricing can be found on the Azure pricing page.

Frequently Asked Questions

Is there a limit on the number of messages per month?
Free tier: 10,000 messages per month. Standard tier: 1 million messages per month, with additional capacity on demand.
Can I connect my bot to Microsoft Teams?
Yes. Enable the Teams channel in the Azure portal and follow the Teams documentation to register the bot.
How do I secure my bot?
Use Azure AD authentication, enable HTTPS, and restrict access via Azure API Management if needed.