Add bots to Microsoft Teams apps

Important

This article is based on the v3 Bot Framework SDK. If you are looking for current documentation version 4.6 or later of the SDK, see the conversational bots section.

Build and connect intelligent bots to interact with Microsoft Teams users naturally through chat. Or provide a simple commands-based bot, to be used as your "command-line" interface for your broader Teams app experience. You can make a notification-only bot, which can push information relevant to your users directly to them in a channel or direct message. You can even bring your existing Bot Framework-based bot and add Teams-specific support to make your experience shine.

Important

Currently, bots are available in Government Community Cloud (GCC) and GCC-High but not available in Department of Defense (DOD).

Example of a bot assisting a user

What you need to know: Bots

A bot appears just like any other team member you interact with in a conversation except that it has a hexagonal avatar icon and is always online.

A bot behaves differently depending on what kind of conversation it's involved in. Bots in Teams support several kinds of conversations called scopes in the app manifest.

  • teams Also called channel conversations.
  • personal Conversations between a bot and a single user.
  • groupChat A conversation between a bot and two or more users.

For more information, see Have a conversation with a Microsoft Teams bot.

With Teams apps, you can make the bot the star of your experience, or just a helper. Bots are distributed as part of your broader app package which can include other capabilities such as tabs or message extensions.

Bot APIs

Teams supports most of the Microsoft Bot Framework. (If you already have a bot that's based on the Bot Framework, you can easily adapt it to work in Teams.) We recommend you use either C# or Node.js to take advantage of our SDKs. These packages extend the basic Bot Builder SDK classes and methods:

  • Using specialized card types like the Office 365 Connector card.
  • Consuming and setting Teams-specific channel data on activities.
  • Processing message extension requests.

The SDK extensions install dependencies, including the Bot Builder SDK.

  • .NET To use the Microsoft Teams extensions for the Bot Builder SDK for .NET, install the Microsoft.Bot.Connector.Teams NuGet package in your Visual Studio project. For Node.js development, the BotBuilder for Microsoft Teams functionality has been incorporated into the Bot Framework SDK as of v4.6.

Important

You can develop Teams apps in any other web-programming technology and call the Bot Framework REST APIs directly, but you must perform all token handling yourself.

Developer Portal for Teams helps you create and configure your app manifest, and can create your Bot Framework bot for you. It also contains a React control library and an interactive card builder.

Outgoing webhooks

Outgoing webhooks allow you to create a simple bot for basic interaction, like kicking off a workflow or other simple commands you may need. Outgoing webhooks live only in the team in which you create them and are intended for simple processes specific to your company's workflow. For more information, see outgoing webhooks.

Build a great Teams bot

The following articles will guide you through the process of creating a great bot for Teams:

See also

Bot Framework samples.