Expand your app’s capabilities and reach on Microsoft Teams using API-based message extensions

Sukhmani Lamba

Carter Gilliam

Users love your Teams app and now you’re eager to accelerate its growth and broaden its reach. We’re excited to announce the general availability of API-based message extensions, offering the easiest way to integrate your app into Microsoft Teams. With a short development time and by utilizing your existing APIs, your app connects to over 320 million users on Teams in the flow of their work.

With API and bot-based message extensions now available, let’s quickly walk-through which message extension is right for your app and how you can expand the reach and capabilities of your app today!

Create API-based Message Extensions with Teams Toolkit or via Teams Developer Portal

What is a message extension?

Message extensions enhance the functionality of your app in Teams by enabling users to easily search for information, perform actions, capture data, and enrich your app’s experience in the Teams client. The results of these interactions can be returned within Teams as a richly formatted card.

There are now two types of message extensions to choose from:

API-based message extensions: Utilizes your existing APIs and OpenAPI description document to quickly produce a low maintenance message extension currently supporting search commands. Action commands, card actions, and auth support are all coming soon.

Bot-based message extensions: Uses the Bot framework to create one-on-one conversational experiences with the ability to manage complex logic, communicate with multiple services, and support action commands, search commands, and link unfurling for the ultimate message extension experience.

Disclaimer: API-based message extensions won’t be supported as plugins for Copilot at this time. Stay tuned at Build for more news on how to bring your APIs to Copilot. Learn how to build plugins for Copilot here.

API-based message extensions vs bot-based message extensions

API messages extensions are the fastest and easiest way to extend your app to Teams, and if you are looking for additional functionality, bot-based message extensions are an excellent option. Let’s look at when to use API or bot-based message extensions.

Use API-based message extensions as the fastest and easiest way to extend your app

Use an API-based message extension if your message extension only needs to communicate with a web service without any complex logic. If your users only need access information from your app via search commands in Teams, then API-based message extensions will be faster to create and easier to maintain than bot-based message extensions. Additionally, API-based message extensions are preferred when traffic must be privatized as it does not rely on Azure’s bot infrastructure, which is a benefit for certain regulated environments.

A screenshot of a computer Description automatically generated

API-based Message Extension Search Command

The above example demonstrates an API message search command where a Teams user can quickly access information and content from your app and share it to other users in Teams as rich cards. The fun example lightens the mood with some holiday jokes. The versatile card can be used to securely share updated status on work items from a project management tool, data from a CRM, and other information from your app within the flow of the conversation on Teams. With a small investment of time, your app extends its functionality, expands its access to Teams users, and simplifies collaboration with your app.

Use bot-based message extensions to leverage the full capabilities of a bot

For additional functionality, a bot-based message extension is an excellent option capable of leveraging the full capabilities of a bot, communicating with multiple services, managing complex logic or user interactions, action commands, adaptive cards, and link unfurling. If you are already planning to build a conversational experience, a bot-based message extension is an easy addition to create using the bot framework SDK.

Bot-Based Message Extension in Copilot with Action Commands

Bot-Based Message Extension in Copilot with Action Commands

In addition to search commands, bot-based message extensions can utilize action commands enabling users to trigger actions and process external services from your app within Teams.

Screenshot of link unfurling example for Azure Dev Ops links pasted in teams compose message area.

Link Unfurling Adds Additional Information and Context to Links Shared in Teams

If users are often sharing links to your app, link unfurling is a bot-based message extension capability that provides a preview of the URL. This upgrade in the design shows other users’ information within the link adding rich context to the conversation. Currently, link unfurling is only available via bot-based message extensions.


Both API and bot-based message extensions are easy to build and highly recommended to expand your app’s reach. Choosing between API and bot-based message extensions hinges on your app’s specific needs.

API-based message extensions are ideal for straightforward communication with a web service using search-command tasks, offering a quick and easy solution with minimal maintenance. API-based message extension’s capabilities are being greatly expanded soon.

For more complex interactions, bot-based message extensions provide a richer, more engaging user experience, handling sophisticated logic and a variety of commands.

Both options allow you to enhance your app’s capabilities and significantly expand its reach within Teams, ensuring your app remains a vital part of the evolving digital workspace. Get started now and build a message extension today!

Get started

API-based Message Extensions: Bring your existing OpenAPI Definition document and get started in the Developer Portal for Teams or by using Teams Toolkit today!

Bot-based Message Extensions: Try building message extensions using the bot framework.

Additional Information on API Message Extensions: API-based message extensions in Teams Developer Portal (microsoft.com)

Follow us on X (Twitter) / @Microsoft365Dev, LinkedIn, and subscribe to our YouTube channel to stay up to date on the latest developer news and announcements.


Leave a comment

Feedback usabilla icon