Understand your use cases

In the collaborative social framework of Teams, there's a wide variety of user needs that you can solve with a Teams app. For example, an app that bridges the gap in achieving effective collaboration is a great fit.

The app user and their app's requirements are the basic guidelines that determine all app choices you'll make. Building app design, selecting capabilities, determining build and test environment, and app distribution follow the user's requirement from the app.

If you're going to meet user requirements with your app, you first need to understand them.

  • Understand your user:

    • Recognize user issues and identify the solutions to some common problems the users face.
    • Build your Teams app by finding the right combination of Teams features to meet your user's needs.
    • Understand use cases to know how an end-user interacts with your app.
    • It's recommended to go through the learn module how to publish your app to Microsoft Teams Store to help with your app to pass the Teams Store submission process.
  • Understand the problem: Work out the core problem your app must solve.

  • Consider integration: Identify the apps and services your app requires, such as authentication, Microsoft Graph, or web apps.

Microsoft Teams app features

There are multiple ways to extend Teams so every app is unique. Teams app features offer:

App capabilities

Capabilities are the core functionalities that you can build in your app. They're also called entry or extension points because they enable integration and interaction.

Your Teams apps have one or all of the following core capabilities:

Personal apps

A personal app is a dedicated space or bot to help users focus on their own tasks or view relevant activities.

Conceptual representation of what personal apps look like in the Teams client.


Display your web-based content in a tab where people can discuss and work on it together.

Conceptual representation of what tabs look like in the Teams client.


Conversations often result in the need to do something (generate an order, review code, check ticket status, and so on). A bot can kick off these kinds of workflows right inside Teams.

Conceptual representation of what bots look like in the Teams client.

Message extensions

With message extensions, you can search and share external information. You also can act on a message, such as creating a help ticket based on the content of a channel post.

Conceptual representation of what message extensions look like in the Teams client.

Meeting extensions

There are a few options for incorporating your app into the Teams calling experience.

Conceptual representation of what meeting extensions look like in the Teams client.

Webhooks and connectors

Incoming Webhooks are a simple way to automatically send notifications from another app to a Teams channel. With Outgoing Webhooks, you can message your web service with an @mention.

Conceptual representation of what connectors look like in the Teams client.

Microsoft Graph for Teams

The Microsoft Graph API for Teams provides access to information about teams, channels, users, and messages that help you to create or enhance features for your app.

Conceptual representation of the Microsoft Graph API for Teams.


Teams Store has evolved:

Previously, the custom apps built for your org (LOB apps) were updated by selecting the ellipses on the tile. With the updated Teams Store experience, you can now update the custom apps built for your org (LOB apps) by logging in to the Teams Admin Centre.

App scope

Your app can have one of the following scopes:

  • Personal app experience: A personal app is a dedicated space or bot to help users focus on their own tasks or view activities important to them.
  • Shared app experience: Team, channel, and chat are collaboration spaces. Apps in these contexts are available to everyone in that space. Collaboration spaces typically focus on workflows for your app's interactions or unlocking new social interactions.

An app can exist across different scopes. For example:

  • Your app can display data in a central shared location, that is, a tab.
  • It can also present that same information through a personal conversational interface, that is, a bot.

A user can interact with an app on a canvas tab to do an activity or might choose to do the same using a conversational bot.

Next step

See also