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.

Tabs

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.

Bots

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

Important

Microsoft 365 Connectors (previously called Office 365 Connectors) are nearing deprecation, and the creation of new Microsoft 365 Connectors will soon be blocked. For more information on the schedule and how the Workflows app provides a more flexible and secure experience, see retirement of Microsoft 365 connectors within Microsoft Teams.

How can you create a webhook in Teams?

If you've already built Office 365 Connectors:

  • Create a Power Automate connector: Power Automate enhances the widely used Workflows apps in Teams. It's the scalable and secure approach to transmit data programmatically into and out of Teams. If you adopt this method, you can create workflow templates for posting alerts from your product to Teams channels. This approach simplifies user adoption of the new method. For more information, see Power Automate for enterprise developers, ISVs, and partners.

  • Update your Teams app: You can enhance your current Teams app. For example, you can enable users to set up proactive messages based on trigger events within your system. For more information, see how bots can post to channels through proactive messages.

Known issues

  • Workflows app can't post in private channels as a flow bot. However, it can post on behalf of a user.
  • Workflows support Adaptive Cards only. It doesn't support the older message card format that Office 365 Connectors use. Workflows don't support using the message card format. For more information, see how to convert connector message card format to Adaptive Card.
  • Workflows don't offer third-party connectors such as DataDog and Jenkins.
  • Workflows can only be created in your default environment.

Limitations

Workflows are linked only to specific users (referred to as owners of the workflow) and not to a Teams team or channel. Workflows can become orphan flows in the absence of an owner if no co-owners assigned. To maintain continuity in the business process automated by the flow, admins can add one or more co-owners and grant them full control over the workflow. They can also add authentication for connections, if any, and enable the flow if it has been disabled. For more information, see manage orphan flows.

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 helps you to create or enhance features for your app. The notification APIs provides a simple way to send notifications from your app to the Teams activity.

Conceptual representation of the Microsoft Graph API for Teams.

Note

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