Create a bot with the Bot Framework SDK


This article describes how to build your first bot with the Bot Framework SDK for C#, Java, JavaScript or Python, and how to test your bot with the Bot Framework Emulator.

Creating your first bot doesn't require an Azure subscription or an Azure AI Bot Service resource. This quickstart focuses on creating your first bot locally. If you'd like to learn how to create a bot in Azure, see Create an Azure Bot resource.


The Bot Framework JavaScript, C#, and Python SDKs will continue to be supported, however, the Java SDK is being retired with final long-term support ending in November 2023.

Existing bots built with the Java SDK will continue to function.

For new bot building, consider using Power Virtual Agents and read about choosing the right chatbot solution.

For more information, see The future of bot building.


C# templates

The current bot samples use .NET Core 3.1 templates.

To add the bot templates to Visual Studio, download and install the Bot Framework v4 SDK Templates for Visual Studio VSIX file.


You can install the templates from within Visual Studio.

  1. In the menu, select Extensions then Manage Extensions.
  2. In the Manage Extensions dialog, search for and install Bot Framework v4 SDK templates for Visual Studio.

For information about deploying .NET bots to Azure, see how to Provision and publish a bot.

Create a bot

In Visual Studio, create a new bot project and use the Echo Bot (Bot Framework v4 - .NET Core 3.1) template. To see only bot templates, choose the AI Bots project type.

Thanks to the template, your project contains all the necessary code to create the bot in this quickstart. You don't need any more code to test your bot.

Start your bot

In Visual Studio:

  1. Open your bot project.
  2. Run the project without debugging.
  3. Visual Studio builds the application, deploys it to localhost, and launches the web browser to display the application's default.htm page.

At this point, your bot is running locally on port 3978.

Start the Emulator and connect your bot

  1. Start the Bot Framework Emulator.

  2. Select Open Bot on the Emulator's Welcome tab.

  3. Enter your bot's URL, which is your local host and port, with /api/messages added to the path. The address is usually: http://localhost:3978/api/messages.

    open a bot

  4. Then select Connect.

    Send a message to your bot, and the bot will respond back.

    echo message

Next steps

  • For information about how to debug using Visual Studio or Visual Studio Code and the Bot Framework Emulator, see Debug a bot.
  • For information about ngrok, see Tunneling (ngrok).