A well-defined use case helps you to chart out the framework of features you want in the Teams app. After you've determined the user requirements, define the scope and Teams capability best suited for your app.
You can map your use case based on:
Sharing and collaborating on items in an external system.
Starting workflows and sending notifications to users.
Using social platforms, conversational bots, and combining multiple features.
Common use cases mapped to Teams capabilities
The next step is to match use cases with app capabilities.
Here's a list of common user scenarios mapped to Teams capabilities. It isn't an exhaustive list, but helps you think through some of the possibilities available to you.
Create, share, and collaborate on items in an external system
Apps to interact with your data
If you want to...
Try ...
Search external systems and share the results as an interactive card.
Message extensions with search commands
Collect information to insert into a data store or run advanced searches.
Message extensions with action commands
Create embedded web experiences to view, work with and share data.
Tabs
Push data and send data out of the Teams client.
Connectors and webhooks
Interactive modal forms from wherever you need them to collect or display information.
Dialogs (referred as task modules in TeamsJS v1.x)
Initiate workflows and processes
A quick way to start a process or workflow in an external system.
If you want to...
Try ...
Trigger messages, allowing your users to quickly send the contents of a message to your web services.
Message extensions action commands
Open messages from a tab, a bot, or a message extension to collect information before initiating a workflow.
Dialogs (referred as task modules in TeamsJS v1.x)
Interact with your users through text and rich cards.
Conversational bots
A good choice for a simple back-and-forth interaction when you don't need to build an entire conversational bot.
Outgoing webhooks
Send notifications and alerts
Send asynchronous notifications and alerts to your users in Teams.
If you want to...
Try ...
Send proactive notifications to inform users about news, events, requests, and reminders that require users’ immediate attention or specific actions in the activity feed.
Microsoft Graph API (sendActivityNotification)
Send interactive messages to groups, channels, or individual users.
Conversational bots
Permit a channel to subscribe to receive messages. A connector lets users tailor the subscription with a configuration page.
Connectors and incoming webhooks
Ask questions and get answers
Connect with your users and resolve their queries
If you want to...
Try ...
Natural language processing, AI, machine learning, and all the buzzwords. Use a bot powered by the intelligent cloud to connect your users to the answers they need.
Conversational bots
Embed your existing web portal in Teams or create a Teams-specific version for added functionality.
Tabs
App capabilities mapped to features
The Microsoft Teams platform offers a large variety of features. Each feature is a way of interacting with your users that makes the Teams app capability relevant to the user need.
Let's look at how Teams capabilities enable different features for your Teams app.
For example:
Use the tab capability to display dialogs, request device permissions, display <iframe> content, or using deep links.
Use the message extension capability to send cards, unfurl links, or take action on messages.
Note
You can also explore the capability to add meeting app extensibility to your Teams app. For more information, see apps for Teams meetings and calls.
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
Platform Docs feedback
Platform Docs is an open source project. Select a link to provide feedback:
Demonstrate skills to plan, deploy, configure, and manage Microsoft Teams to focus on efficient and effective collaboration and communication in a Microsoft 365 environment.
Learn to plan your app using the checklist to ensure your plan covers the important details of app development. Plan app's lifecycle and to host your Teams app.
Learn Teams app capabilities such as tabs, bots, meeting extensions, message extensions, and webhook connectors and scopes such as personal and shared app experience.
Learn how to plan your app with Microsoft Teams features, identify and map use cases, planning checklist, app deployment, and availability for government clouds.
Learn about new Microsoft Teams developer features and updates to existing features, deprecation notes, and changes. Subscribe to the RSS feed for latest updates.
Learn best practices or considerations for integrating existing web apps with Teams, API requirements, authentication, and deep linking of your app with Teams.
Learn about tools, SDKs, tutorials, and code samples to build apps with various capabilities such as AI, UI, and various languages, to prepare your environment.