Two women at a laptop

Build an app for Microsoft Teams

Include capabilities like tabs, bots, connectors and compose extensions

Example of Microsoft Teams tab canvas


Tabs let team members access your service on a dedicated canvas connected to a channel or private chat. This lets them work directly with the tools and data you provide in context, and have conversations about them.


Example of Microsoft Team bots


Bots, which are built on the Microsoft Bot Framework, let team members interact with your service through conversations in Microsoft Teams. If you already have a bot written on the Bot Framework, you can easily enable it for Microsoft Teams.



Example of Microsoft Team connectors


Connectors allow your service to send rich notifications right into channels in Microsoft Teams and let team members have conversations around them. You can now also send rich actionable messages, which let users interact with the content directly within Microsoft Teams.

You can build an Office 365 connector by integrating with incoming webhook APIs to generate rich connector cards. After building the connector, submit it as a Microsoft Teams app or as a standalone connector for Office 365 Groups.



Example of Microsoft Teams compose extension

Compose extensions

Compose extensions let users quickly share your app’s content directly into team conversations.

With compose extensions, your customers can query or create entities directly in Teams. Users won’t have to switch multiple windows or copy and paste to collaborate using data from your service directly in Teams conversations.

Built on the Bot Framework, compose extensions are easy to develop and add to your app.




Example of Microsoft Teams activity feed

Activity feed

Integrate with users’ activity feeds to privately notify them of key information and updates from your service. Users can triage what needs their attention from this list, and new items also trigger desktop and/or mobile notifications on their connected devices. Pushing your events into the feed is as simple as sending the user a message and indicating that it should be considered for feed generation (as opposed to a standard bot chat message).