Updates from: 02/19/2022 02:16:38
Service Microsoft Docs article Related commit history on GitHub Change details
platform Send Proactive Messages https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/send-proactive-messages.md
When using proactive messaging to send scheduled messages to users, verify that
## Proactively install your app using Graph
-> [!Note]
-> Proactively installing apps using Graph is currently in beta.
- Proactively message users that have previously not installed or interacted with your app. For example, you want to use the [company communicator](~/samples/app-templates.md#company-communicator) to send messages to your entire organization. In this case, you can use the Graph API to proactively install your app for your users. Cache the necessary values from the `conversationUpdate` event your app receives upon installation. You can only install apps that are in your organizational app catalog or the Teams App Store.
You must supply the user ID and the tenant ID. If the call succeeds, the API ret
-> [!NOTE]
-> Currently bots cannot create a group chat through bot APIs or Graph. `createConversation` is available only for 1:1 chats.
- ## Code sample The following table provides a simple code sample that incorporate basic conversation flow into a Teams application and how to create a new conversation thread in a channel in Teams:
platform App Fundamentals Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/app-fundamentals-overview.md
Title: App development fundamentals overview
+ Title: Plan your app overview
-description: Describe the foundational concepts of Teams platform development, such as app capabilities and entry points, understanding use cases and mapping them to app capabilities, and planning apps.
+description: Introduce the elements of planning an app, understanding use cases, app capabilities, and other Teams features.
+ms.localizationpriority: high
keywords: entry points extensibility use cases device capability
-# Microsoft Teams app development fundamentals
+# Plan your app with Teams features
-Microsoft Teams app fundamentals give the direction you need to create your custom Teams app. You can recognize the framework required to plan your Teams app. The document helps you to understand the user-app communication and figure out the kind of app surfaces you need to use or the APIs your app might require in the process. Get some inspiration to embrace interactivity that can deepen the app experience when you integrate with Teams.
+Building an awesome Teams app is all about finding the right combination of features to meet your user's needs. The design, features, and capabilities of an app stem from this purpose.
-## Capabilities and entry points
+At its heart, Teams is a collaboration platform. It's also a social platform, is natively cross-platform, sits at the heart of Office 365, and offers a personal canvas for you to create apps.
-You can extend your Teams app in multiple ways. To be able to extend your app, you must understand all the core capabilities and the entry points that work in a collaborative space. You can experiment with the extension points for building your apps. Important app project components help you to correctly configure your app page. Teams app can have [multiple capabilities](../concepts/capabilities-overview.md) and [entry points](../concepts/extensibility-points.md).
+In this section, learn how to:
-## Understand your use cases
+ - Identify and map use cases to Teams features.
+ - Use planning checklist.
+ - Plan beyond app deployment.
-You can recognize user issues and identify the answers to some common problems the users face. You can build your Teams app by finding the right combination to meet your user's needs. [Understand use cases](../concepts/design/understand-use-cases.md) to know how an end-user interacts with your app. You learn to understand the user and their problem. Some common questions answered are as follows:
+## Plan with Teams
-* Do you need authentication?
-* What problem is your app going to solve?
-* Who are the end-users of the app?
-* How should the onboarding experience be and what else the app can do?
+Teams as a platform offers you toolkits, libraries, and apps at every stage of app development. Let's break it down to app building lifecycle:
-## Map your use cases to Teams app capabilities
-[Map your use cases](../concepts/design/map-use-cases.md) covers some common scenarios and how to choose your app's capabilities. Information to share your app and collaborate on items in an external system is provided. You can also learn how to initiate workflows and send notifications to users. Get additional tips on where to start, how to get social with users, conversational bots, and combining multiple features.
+- [Before you build](#before-you-build)
+- [During build](#during-build)
+- [Post-build](#post-build)
+- [Planning checklist](../concepts/design/planning-checklist.md)
-## Plan responsive tabs for Teams mobile
-[Plan responsive tabs for Teams mobile](../concepts/design/plan-responsive-tabs-for-teams-mobile.md) covers common scenarios and helps with planning apps for Teams mobile. The document guides on how to strategize for apps on mobile. You can also learn about the different stages and different types of Teams app.
+### Before you build
-## Integrate device capabilities
+Understanding the user and their concern are the first indicators of how a Teams app can help. Build your use case around the problem, determine how an app can solve it, and draw a solution.
-Microsoft Teams platform is continuously enhancing developer capabilities aligning with built-in first-party experiences. The enhanced Teams platform allows partners to access and integrate the native device capabilities, such as camera, QR or barcode scanner, photo gallery, microphone, and location using dedicated APIs available in Microsoft Teams JavaScript client SDK.
+- **Understand your use case and Teams App Features**: Understand your user's requirement and you can identify the right features.
+
+- **Map your use cases**: Map common use cases to Teams features based on requirements, such as sharing, collaborating, workflows, relevant social platforms, and more.
+
+- **Plan responsive tabs for Teams mobile**: It covers common scenarios and helps with planning apps for Teams mobile.
+
+### During build
+
+- **Create and Build app project**: With Teams, you can choose the build environment that best suits your app requirement. Use Teams Toolkit or other SDKs, such as C#, Blazor, Node.js, and more to get started.
+
+- **Design your app UI**: Use Teams UI Toolkit and UI Library to design your app's layout.
+
+- **Use Teams as a platform**: Teams platform helps you build a single- or multi-capability app. Your Teams app is backed by the integrated products and services that strengthen the app experience.
+
+ :::image type="content" source="../assets/images/overview/teams-solution.png" alt-text="Conceptual representation of the Teams solution." border="true":::
+
+ Your apps appear on Teams as Tabs, Bots, Messaging Extensions, Connectors and Webhooks, or as a multi-capability app. These capabilities are powered at the backend by Azure, Microsoft Graph, SharePoint, and Power apps that help automate tasks and processes.
+
+ Together, these capabilities bring your app solution to life.
+
+- **Integrate device capabilities**: You can integrate the native device capabilities in your app, such as camera, QR or barcode scanner, photo gallery, microphone, and location.
+
+### Post-build
+
+- Integrate your app with Teams and other apps, such as Microsoft 365, Microsoft Graph, and more.
+- Use Developer Portal to configure, manage, and deploy your app.
+
+<details>
+<summary><b>Learn about Government Community Cloud (GCC)</b></summary>
+
+Government Community Cloud is a government focused copy of the commercial environment. Department of Defense (DOD) and Federal contractors must meet the stringent cybersecurity and compliance requirements. For this purpose, GCC-High was created to meet the needs of DOD and Federal contractors. GCC-High is a copy of the DOD cloud but exists in its own sovereign environment. The DOD cloud is built for the Department of Defense only.
+
+The following table includes Teams features and availability for GCC, GCC-High, and DOD:
+
+| Features | GCC | GCC-High | DOD |
+|-||||
+| Teams owned apps as in internally developed apps | ✔️ App is enabled if it has GCC. | ✔️ App is enabled if it has GCC-High. | ✔️ App is enabled if it has DOD. |
+| Microsoft apps | ✔️ Microsoft apps compliant with GCC | ✔️ Microsoft apps compliant with GCC-High | ✔️ Microsoft apps compliant with DOD |
+| 3p or third-party apps | ✔️ Third-party apps are available. Disabled by default and tenant admin use their own discretion to enable it. | ❌ | ❌ |
+| Bots | ✔️ | ❌ | ❌ |
+| Custom or Lob tab apps | ✔️ | ✔️ | ✔️ |
+| Sideloading apps | ✔️ | ❌ | ❌ |
+| Custom or Lob bots | ✔️ | ❌ | ❌ |
+| Custom messaging extensions | ❌ | ❌ | ❌ |
+| Custom connectors | ❌ | ❌ | ❌ |
+
+The following list helps to identify the availability of GCC, GCC-High, and DOD for the features:
+
+- For third-party apps, see [web apps](../samples/integrating-web-apps.md) and [meeting app extensibility](../apps-in-teams-meetings/meeting-app-extensibility.md).
+- For bots, see [build your first conversational bot for Teams](../get-started/first-app-bot.md), [designing your Teams bot](../bots/design/bots.md), [add bots to Microsoft Teams apps](../resources/bot-v3/bots-overview.md), and [bots in Teams](../bots/what-are-bots.md).
+- For sideloading apps, see [enable your Teams app to be customized](../concepts/design/enable-app-customization.md), [distribute your Microsoft Teams app](../concepts/deploy-and-publish/apps-publish-overview.md), and [Upload your app in Teams](../concepts/deploy-and-publish/apps-upload.md).
+- For custom connectors, see [create Office 365 connectors for Teams](../webhooks-and-connectors/how-to/connectors-creating.md).
+
+</details>
## Next step > [!div class="nextstepaction"]
-> [Understand Teams app capabilities](capabilities-overview.md)
+> [Use cases and Teams features](design/understand-use-cases.md)
## See also
-* [Considerations for Teams integration](../samples/integrating-web-apps.md)
-* [Build your first Microsoft Teams app](../build-your-first-app/build-first-app-overview.md)
+- [Planning checklist](../concepts/design/planning-checklist.md)
+- [Considerations for Teams integration](../samples/integrating-web-apps.md)
+- [Build your first Microsoft Teams app](../build-your-first-app/build-first-app-overview.md)
platform Deep Links https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/deep-links.md
The query parameters are:
| `entityId`&emsp; | The ID for the item in the tab, which you provided when [configuring the tab](~/tabs/how-to/create-tab-pages/configuration-page.md).|Tasklist123| | `entityWebUrl` or `subEntityWebUrl`&emsp; | An optional field with a fallback URL to use if the client does not support rendering the tab. | `https://tasklist.example.com/123` or `https://tasklist.example.com/list123/task456` | | `entityLabel` or `subEntityLabel`&emsp; | A label for the item in your tab, to use when displaying the deep link. | Task List 123 or "Task 456 |
-| `context`&emsp; </br></br>* `subEntityId`&emsp;</br></br> * `channelId`&emsp;| A JSON object containing the following fields:</br></br> * An ID for the item within the tab. </br></br> * The Microsoft Teams channel ID that is available from the tab [context](~/tabs/how-to/access-teams-context.md). |
-| `subEntityId`&emsp; | An ID for the item within the tab. |Task456 |
-| `channelId`&emsp; | The Microsoft Teams channel ID that is available from the tab [context](~/tabs/how-to/access-teams-context.md). This property is only available in configurable tabs with a scope of **team**. It is not available in static tabs, which have a scope of **personal**.| 19:cbe3683f25094106b826c9cada3afbe0@thread.skype |
+| `context.subEntityId`&emsp; | An ID for the item within the tab. |Task456 |
+| `context.channelId`&emsp; | Microsoft Teams channel ID that is available from the tab [context](~/tabs/how-to/access-teams-context.md). This property is only available in configurable tabs with a scope of **team**. It is not available in static tabs, which have a scope of **personal**.| 19:cbe3683f25094106b826c9cada3afbe0@thread.skype |
+| `chatId`&emsp; | ChatId that is available from the tab [context](~/tabs/how-to/access-teams-context.md) for group and meeting chat | 17:b42de192376346a7906a7dd5cb84b673@thread.v2 |
+| `contextType`&emsp; | Chat is the only supported contextType for meetings | chat |
-Examples:
+**Examples**:
-* Link to a configurable tab itself: `https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123&label=Task List 123&context={"channelId": "19:cbe3683f25094106b826c9cada3afbe0@thread.skype"}`
-* Link to a task item within the configurable tab: `https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123/456&label=Task 456&context={"subEntityId": "task456","channelId": "19:cbe3683f25094106b826c9cada3afbe0@thread.skype"}`
-* Link to a static tab itself: `https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123&label=Task List 123`
-* Link to a task item within the static tab: `https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123/456&label=Task 456&context={"subEntityId": "task456"}`
+* Link to a static (personal) tab itself:
+
+ >`https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123&label=Task List 123`
+
+* Link to a task item within the static (personal) tab:
+
+ >`https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123/456&label=Task 456&context={"subEntityId": "task456"}`
+
+* Link to a configurable tab itself:
+
+ >`https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123&label=Task List 123&context={"channelId": "19:cbe3683f25094106b826c9cada3afbe0@thread.skype"}`
+
+* Link to a task item within the configurable tab:
+
+ >`https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123/456&label=Task 456&context={"subEntityId": "task456","channelId": "19:cbe3683f25094106b826c9cada3afbe0@thread.skype"}`
+
+* Link to a tab app added to a meeting or group chat:
+
+ >`https://teams.microsoft.com/l/entity/fe4a8eba-2a31-4737-8e33-e5fae6fee194/tasklist123?webUrl=https://tasklist.example.com/123/456&label=Task 456?context={"chatId": "17:b42de192376346a7906a7dd5cb84b673@thread.v2","contextType":"chat"}`
> [!IMPORTANT] > Ensure that all query parameters are properly URI encoded. You must follow the preceeding examples using the last example:
platform Capabilities Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/capabilities-overview.md
Title: Understand app capabilities
+ Title: Understand app features
-description: Description of Teams app capabilities, such as Tabs, Bots, Messaging extensions, and Webhooks and connectors.
+description: Description of Teams app capabilities, such as Tabs, Bots, Messaging extensions, and Webhooks and connectors; app scope, such as personal and shared apps
+ms.localizationpriority: high
Last updated 09/22/2020
-keywords: tabs bots messaging extensions webhooks connectors gcc
+keywords: tabs bots messaging extensions webhooks connectors
-# Understand Microsoft Teams app capabilities
+# Understand Microsoft Teams app features
-Extensibility or entry points are different ways in which an app can manifest itself to a user. For example, 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. The various capabilities used to build your Teams app allows you to increase its usage scope.
+There are multiple ways to extend Teams, so every app is unique. A Teams app can manifest itself to a user in different ways. An Teams app features include:
-There are multiple ways to extend Teams, so every app is unique. Some only have one capability, such as a webhook, while others have more than one feature to give users various options. For example, your app can display data in a central location, that is, the **tab** and present that same information through a conversational interface, that is, the **bot**.
+- App capabilities
+- App scope
+
+For example, 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. You can only one capability, such as a webhook, while others have more than one feature to give users various options.
+
+These capabilities can exist across different scopes. For example, your app can display data in a central shared location, that is, the tab and present that same information through a personal conversational interface, that is, the bot.
## App capabilities
+To be able to extend your app, you must understand all the core capabilities and the entry points that work in a collaborative space. You can experiment with the extension points for building your apps. Important app project components help you to correctly configure your app page.
+ Your Teams apps have one or all of the following core capabilities:
-* [Tabs](../tabs/what-are-tabs.md)
-* [Messaging extensions](../messaging-extensions/what-are-messaging-extensions.md)
-* [Bots](../bots/what-are-bots.md)
-* [Webhooks and connectors](../webhooks-and-connectors/what-are-webhooks-and-connectors.md)
+ :::column span="":::
+### Personal apps
+
+A [personal app](../concepts/design/personal-apps.md) is a dedicated space or bot to help users focus on their own tasks or view activities important to them.
+
+ :::column-end:::
+
+ :::column span="":::
++
+ :::column-end:::
++
+ :::column span="":::
+
+### Tabs
+
+Display your web-based content in a [tab](../tabs/what-are-tabs.md) where people can discuss and work on it together.
+
+ :::column-end:::
+
+ :::column span="":::
++
+ :::column-end:::
++
+ :::column span="":::
+
+### Bots
+
+Conversations often result in the need to do something (generate an order, review my code, check ticket status, and so on). A [bot](../bots/what-are-bots.md) can kick off these kinds of workflows right inside Teams.
+
+ :::column-end:::
+
+ :::column span="":::
++
+ :::column-end:::
-Your app can also take advantage of advanced capabilities, such as the [Microsoft Graph API for Teams](/graph/teams-concept-overview).
-The following illustration gives you an idea of which capabilities will provide the features you want in your app:
+ :::column span="":::
-## Always consider your user
+### Messaging extensions
-As you familiarize yourself with Teams app development, you understand its core fundamentals. You understand that there is more than one way to build certain features. In such scenarios, consider how you can provide a more native experience to your user.
-For example, you can collect user input in a form built as a tab in the app. You can also do this using a task module without switching views and disrupting user's workflow. It is important to choose extension points that provide least deviation from a user's regular workflow.
+With [messaging extensions](../messaging-extensions/what-are-messaging-extensions.md), you can quickly share external information in a conversation. You also can act on a message, such as creating a help ticket based on the content of a channel post.
-## Government Community Cloud (GCC)
+ :::column-end:::
-Government Community Cloud is a government focused copy of the commercial environment. Department of Defense (DOD) and Federal contractors must meet the stringent cybersecurity and compliance requirements. For this purpose, GCC-High was created to meet the needs of DOD and Federal contractors. GCC-High is a copy of the DOD cloud but exists in its own sovereign environment. The DOD cloud is built for the Department of Defense only.
+ :::column span="":::
++
+ :::column-end:::
++
+ :::column span="":::
+
+### Meeting extensions
+
+There are a few options for [incorporating your app into the Teams calling experience](../apps-in-teams-meetings/design/designing-apps-in-meetings.md).
+
+ :::column-end:::
+
+ :::column span="":::
++
+ :::column-end:::
++
+ :::column span="":::
+
+### Webhooks and connectors
+
+[Incoming webhooks](../webhooks-and-connectors/what-are-webhooks-and-connectors.md#incoming-webhooks) are a simple way to automatically send notifications from another app to a Teams channel. With [outgoing webhooks](../webhooks-and-connectors/what-are-webhooks-and-connectors.md#outgoing-webhooks), message your web service with an @mention.
+
+ :::column-end:::
+
+ :::column span="":::
++
+ :::column-end:::
++
+ :::column span="":::
+
+### Microsoft Graph for Teams
+
+The [Microsoft Graph API for Teams](/graph/teams-concept-overview) provides access to information about teams, channels, users, and messages that can help you create or enhance features for your app (such as rich notifications).
+
+ :::column-end:::
> [!NOTE] > Teams store has evolved: > > Previously, the LOB apps were updated by selecting the ellipses on the tile. With the updated Teams store experience, you can now update the LOB apps by logging in to the [Teams Admin Centre](https://admin.teams.microsoft.com).
-The following table includes Teams features and availability for GCC, GCC-High, and DOD:
-
-| Features | GCC | GCC-High | DOD |
-|-||
-| Teams owned apps as in internally developed apps | ✔️ App is enabled if it has GCC. | ✔️ App is enabled if it has GCC-High. | ✔️ App is enabled if it has DOD. |
-| Microsoft apps | ✔️ Microsoft apps compliant with GCC | ✔️ Microsoft apps compliant with GCC-High | ✔️ Microsoft apps compliant with DOD |
-| 3p or third-party apps | ✔️ Third-party apps are available. Disabled by default and tenant admin use their own discretion to enable it. | ❌ | ❌ |
-| Bots | ✔️ | ❌ | ❌ |
-| Custom or Lob tab apps | ✔️ | ✔️ | ✔️ |
-| Sideloading apps | ✔️ | ❌ | ❌ |
-| Custom or Lob bots | ✔️ | ❌ | ❌ |
-| Custom messaging extensions | ❌ | ❌ | ❌ |
-| Custom connectors | ❌ | ❌ | ❌ |
-The following list helps to identify the availability of GCC, GCC-High, and DOD for the features:
+ :::column-end:::
-* For third-party apps, see [web apps](../samples/integrating-web-apps.md) and [meeting app extensibility](../apps-in-teams-meetings/meeting-app-extensibility.md).
-* For bots, see [build your first conversational bot for Teams](../get-started/first-app-bot.md), [designing your Teams bot](../bots/design/bots.md), [add bots to Microsoft Teams apps](../resources/bot-v3/bots-overview.md), and [bots in Teams](../bots/what-are-bots.md).
-* For sideloading apps, see [enable your Teams app to be customized](../concepts/design/enable-app-customization.md), [distribute your Microsoft Teams app](../concepts/deploy-and-publish/apps-publish-overview.md), and [Upload your app in Teams](../concepts/deploy-and-publish/apps-upload.md).
-* For custom connectors, see [create Office 365 connectors for Teams](../webhooks-and-connectors/how-to/connectors-creating.md).
+## Choose the correct scope for your app
-## Next step
+You can choose app scope from the following:
-> [!div class="nextstepaction"]
-> [Teams app entry points](../concepts/extensibility-points.md)
+- 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.
## See also
platform Publish https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/publish.md
description: Describes the process for submitting your app to Partner Center and
+ms.localizationpriority: high
# Publish your app to the Microsoft Teams store
When you feel your app is production ready, you can begin the process of getting
1. Validate your app package using the Teams [Developer Portal](https://dev.teams.microsoft.com/home) to identify and fix any package errors.
- :::image type="content" source="../../../assets/images/submission/teams-validation-developer-portal.png" alt-text="store validation":::
+ :::image type="content" source="../../../assets/images/submission/teams-validation-developer-portal.png" alt-text="Teams store app validation in Developer Portal" lightbox="../../../assets/images/submission/teams-validation-developer-portal.png":::
1. Self-test your app thoroughly prior to app submission to ensure it adheres with store policies. Sideload the app in Teams and test the end-to-end user flows for your app. Ensure the functionality works as expected, links aren't broken, user experience isn't blocked, and any limitations are clearly highlighted.
When you feel your app is production ready, you can begin the process of getting
* [Publishing to Microsoft 365 App Stores](/office/dev/store/) * [Upload your Teams app](~/concepts/deploy-and-publish/apps-upload.md) * [Publish your Teams app to your org](/MicrosoftTeams/tenant-apps-catalog-teams?toc=/microsoftteams/platform/toc.json&bc=/MicrosoftTeams/breadcrumb/toc.json)
-* [Plan onboarding experience for users](../../design/understand-use-cases.md#plan-the-onboarding-experience)
+* [Plan onboarding experience for users](../../design/planning-checklist.md#plan-beyond-app-building)
* [Distributing tab apps on mobile](../../../tabs/design/tabs-mobile.md#distribution) * [Test preview for monetized apps](prepare/Test-preview-for-monetized-apps.md)
platform Map Use Cases https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/map-use-cases.md
Title: Map your use cases to Teams app capabilities
+ Title: Map your use cases to Teams app features and capabilities
-description: Identify how your app's use cases can work within the Teams experience.
+description: Identify how your app's use cases can work within the Teams experience, app features and capabilities; map common use cases with capabilities.
+ms.localizationpriority: high
-# Map your use cases to Teams app capabilities
+# Map your use cases to Teams app features
-After you have identified *who* the user is and *what* problem you will solve, it is time to decide *how* to solve the problem. The *who*, *what*, and *how* completes the process of understanding and mapping your use cases to Teams app capabilities. You need to define the scope of the app based on the responses you have received from the user to your queries, and then decide which capability is best suited to build your app.
+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.
-> [!NOTE]
-> You must have a good understanding of the [entry points and UI elements](../../concepts/extensibility-points.md) available for your app. You must also make sure that you [considered your use cases](../../concepts/design/understand-use-cases.md) carefully.
+You can map your use case based on:
-## Choose the correct scope for your app
+- 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.
-While choosing the app scope, consider the following:
+## Common use cases mapped to Teams capabilities
-* An app can exist across scopes.
-* App capabilities, such as messaging extensions follow users across scopes.
-* Users are often hesitant to add apps to Teams or channels.
-* Guests can access content exposed in Teams or channels.
+The next step is to match use cases with app capabilities.
-You can choose between personal scope and team or channel scope for your app depending on the following:
+Here's a list of common user scenarios mapped to Teams capabilities. It isn't an exhaustive list, but will help you think through some of the possibilities available to you.
+</br>
+</br>
+<details>
+<summary>Create, share, and collaborate on items in an external system</summary>
-* For personal scope, ask the following questions:
- * Are there one-on-one interactions with the app required for privacy or other reasons? For example, checking leave balance or other private information.
- * Is there going to be collaboration among users who might not have any common Teams? For example, finding upcoming organization wide events in a company.
- * Are there any personalized notifications or messages that will need to be sent to a user throughout the Teams app experience? For example, reminders for approvals or registrations.
-* For a shared scope (team, channel, or chat), ask the following questions:
- * Is the information presented by the app, either in tab or through a bot, relevant and useful for most of the members in a Team? For example, Scrum app.
- * Could the appΓÇÖs context change depending on the team in which it is added to? For example, PlannerΓÇÖs tasks are different in different teams.
- * Is it possible that all members in a persona who need to collaborate are a part of a single team? For example, agents working on a ticket.
+Apps to interact with your data
-The following scenarios will guide you in understanding the selection of entry points and UI elements that work well with Teams app capabilities:
+| **If you want to...** | **Try ...** |
+| | |
+| Search external systems and share the results as an interactive card. | Messaging extensions with search commands |
+| Collect information to insert into a data store or run advanced searches. | Messaging 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. | Task modules |
+|
+</details>
+</br>
+<details>
+<summary>Initiate workflows and processes</summary>
-> [!NOTE]
-> It is not an exhaustive list, but will help you think through some of the possibilities available to you.
+A quick way to start a process or workflow in an external system.
-## Create, share, and collaborate on items 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. | Messaging extensions action commands |
+| Open messages from a tab, a bot, or a messaging extension to collect information before initiating a workflow. | Task modules |
+| 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 |
+|
+</details>
+</br>
+<details>
+<summary>Send notifications and alerts</summary>
-Apps for Microsoft Teams is a great way to interact with your data and there are a variety of integration points to choose from.
+Send asynchronous notifications and alerts to your users in Teams.
-* **Messaging extensions with search commands**: Search external systems and share the results as an interactive card.
+| **If you want to...** | **Try ...** |
+| | |
+| Send proactive 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 |
+|
+</details>
+</br>
+<details>
+<summary>Ask questions and get answers</summary>
-* **Messaging extensions with action commands**: Collect information to insert into a data store or perform advanced searches.
+Connect with your users and resolve their queries
-* **Tabs**: Create embedded web experiences to view, work with and share data.
+| **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 |
+|
+</details>
-* **Connectors and webhooks**: A simple way to push data and send data out of the Teams client.
+## App capabilities mapped to features
-* **Task modules**: Interactive modal forms from wherever you need them to collect or display information.
+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.
-## Initiate workflows and processes
+Let's look at how Teams capabilities enable different features for your app.
-Sometimes you just need a quick way to initiate a process or workflow in an external system.
-* **Messaging extensions action commands**: Trigger from messages, allowing your users to quickly send the contents of a message to your web services.
+For example:
-* **Task modules**: Open them from a tab, a bot, or a messaging extension to collect information before initiating a workflow.
-
-* **Conversational bots**: Interact with your users through text and rich cards.
-
-* **Outgoing webhooks**: A good choice for a simple back-and-forth interaction when you don't need to build an entire conversational bot.
-
-## Send notifications and alerts
-
-Send asynchronous notifications and alerts to your users in Teams. Use interactive cards to provide quick access to commonly used actions and links to additional information.
-
-* **Conversational bots**: Send proactive messages to groups, channels, or individual users.
-
-* **Connectors and incoming webhooks**: Permit a channel to subscribe to receive messages. A connector lets users tailor the subscription with a configuration page.
-
-## Ask questions and get answers
-
-People have questions and you probably got a lot of the answers stored away somewhere. Unfortunately, it's often quite difficult to connect the two.
-
-* **Conversational bots**: 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.
-
-* **Tabs**: Embed your existing web portal in Teams or create a Teams-specific version for added functionality.
-
-## Get social
-
-A collaboration platform is inherently a social platform. Let your creative side be free and add some fun into your workplace. All users must be able to send jokes, give kudos, get some memes, toss out some emojis, or anything else that strikes your fancy.
-
-## Think in terms of a single-page app
-
-Tabs are embedded web pages. Pretty much anything you can do in a SPA, you can do in a tab in Teams. Just be sure to pay attention to scope. Group and channel tabs are for shared experiences and personal tabs are for personal experiences. The team's list of stuff goes on the channel tab and the list of your stuff goes in the personal tab.
-
-## Initiate small
-
-Not sure where to initiate? Feeling a bit overwhelmed with the awesome variety of options available to you? You must choose a core feature of your app and initiate there. After you get a feel for the flow of information through the various contexts in Teams, it is a lot simpler to picture a more complex interaction.
-
-## Put it all together
-
-That being said, the best apps usually combine multiple features, creating an app that engages users in the right context with the right functionality at the right time. You must not force any functionality into a place it does not belong. Just because you have a good one-to-one conversational bot does not mean you add it to any team. Different extensibility points are good for different things, play to their strengths for creating a successful app.
+- Use the **tab** capability to display task modules, request device permissions, display <`iframe`> content, or using deep links.
+- Use the **messaging extension** capability to send cards, unfurl links, or take action on messages.
## See also
-[Build your first Microsoft Teams app](../../get-started/get-started-overview.md)
+- [Planning checklist](../design/planning-checklist.md)
+- [Build your first Microsoft Teams app](../../get-started/get-started-overview.md)
platform Planning Checklist https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/planning-checklist.md
+
+ Title: Questions to help plan Teams app development
+
+description: Questions to consider while you plan your app, understand your user and their need, understand the user problems that your app would solve, plan user authentication and their onboarding experience
+
+ms.localizationpriority: high
+++
+# Teams app planning checklist
+
+An app's lifecycle extends from planning your app to eventually deploying it, and beyond. It takes more than knowing your user and requirements to plan your app. Depending on your app needs, you may also consider planning for future updates.
+
+Let's take a practical look at planning for an app's lifecycle.
+
+## Relevant questions
+
+Here's a checklist of questions to consider when you plan your app. Use it as a guideline to ensure that your plan covers the important details of app development.
+
+<br>
+<br>
+<details>
+<summary>Understand your user</summary>
+
+| # | Consider... |
+| | |
+| 1 | Are the users primarily front-line workers on mobile clients? |
+| 2 | Do you expect many guest users to need access to your app? |
+| 3 | Do they use teams and channels or primarily group chats? |
+| 4 | How technically sophisticated are your primary users? |
+| 5 | Do you need a thorough onboarding experience or a few pointers might do? |
+|
+</details>
+<br>
+<details>
+<summary>Understand the problem</summary>
+
+| # | Consider... |
+| | |
+| 1 | What are the pros and cons of the current state system used by your users? |
+| 2 | What are the issues faced by your users that you want to address? |
+| 3 | What features or capabilities your users like and love in their current way of doing the process? |
+|
+</details>
+<br>
+<details>
+<summary>Understand the limitations of the app</summary>
+
+| # | Consider... |
+| | |
+| 1 | What are the challenges with back end integration of the current app? |
+| 2 | Who owns the back end data - In-house or third-party? |
+| 3 | Are there firewalls that impact the functioning of the app? |
+| 4 | Are there APIs to access the data you need for functioning of your app? |
+|
+</details>
+<br>
+<details>
+<summary>Provide authentication</summary>
+
+| # | Consider...|
+| | |
+| 1 | Will the users access different views of data based on their roles? |
+| 2 | Is there PII involved? |
+| 3 | Will the interactions also be based on the user roles? |
+| 4 | Will external users access the app? |
+|
+</details>
+<br>
+<details>
+<summary>Plan onboarding experience</summary>
+
+| # | Consider... |
+| | |
+| 1 | What happens when a user first configures your tab in a channel? |
+| 2 | If you are sharing cards with a messaging extension, does it make sense to add a small link to a learn more page to help introduce users to what else your app can do? |
+| 3 | Do you expect most people to already have some context of what your app is for, or to have already used your services in another context? |
+| 4 | Are they coming to your app with no prior knowledge? |
+|
+</details>
+<br>
+<details>
+<summary>Personal scope apps</summary>
+
+| # | Consider... |
+| | |
+| 1 | Are there one-on-one interactions with the app required for privacy or other reasons? For example, checking leave balance or other private information. |
+| 2 | Is there going to be collaboration among users who might not have any common Teams? For example, finding upcoming organization wide events in a company. |
+| 3 | Are there any personalized notifications or messages that will need to be sent to a user throughout the Teams app experience? |
+|
+</details>
+<br>
+<details>
+<summary>Shared scope apps</summary>
+
+| # | Consider... |
+| | |
+| 1 | Is the information presented by the app, either in tab or through a bot, relevant and useful for most of the members in a Team? For example, Scrum app. |
+| 2 | Could the appΓÇÖs context change depending on the team in which it is added to? For example, PlannerΓÇÖs tasks are different in different teams. |
+| 3 | Is it possible that all members in a persona who need to collaborate are a part of a single team? For example, agents working on a ticket. |
+|
+</details>
+<br>
+<details>
+<summary>Choose build environment</summary>
+
+Suggestion: Options that help select the correct environment based on app needs.
+</details>
+<br>
+<details>
+<summary>Plan for testing app</summary>
+
+Suggestion: Options that help determine the best testing environment for the app.
+</details>
+<br>
+<details>
+<summary>Plan for app distribution</summary>
+
+Suggestion: Options that help determine the best distribution model.
+
+</details>
+
+## Plan for hosting your Teams app
+
+Teams doesn't host your app. When a user installs your app in Teams, they install an app package that contains a only configuration file (also known as an app manifest) and your app's icons. The app's logic and data storage are hosted elsewhere, such on localhost during development and Azure Web Services. Teams accesses these resources via HTTPS.
++
+## Plan beyond app building
+
+- **Decide what goes in Teams**: Whether it's a new app or an existing one, check if you want the entire app within the Teams client. If you integrate only a portion of the app, focus on sharing, collaborating, initiating, and monitoring workflows.
+
+- **Plan the onboarding experience**: Craft your onboarding experience with your key users in mind. How you introduce a chat bot installed in a channel with a thousand people, is different when it's installed in a one-to-one chat.
+
+- **Plan for the future**: Identify new features the user will prefer in the current solution. Any new features may impact app design and architecture.
platform Understand Use Cases https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/understand-use-cases.md
Title: Understanding your app's use cases
+ Title: Understanding your app's use cases and Teams features
description: Plan your app, understand your user and their need, understand the user problems that your app would solve, plan user authentication and their onboarding experience
+ms.localizationpriority: high
# Understand your use cases
-The Microsoft Teams platform offers a large variety of [entry points and UI elements](../../concepts/extensibility-points.md) your app can take advantage of.
-> [!NOTE]
-> Before you start building your use cases, you must have a good understanding of Teams capabilities and what is possible on the Teams platform using them.
+In the collaborative social framework of Teams, there's a wide variety of user needs that you can solve with a Teams app. For instance, an app that bridges 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.
+
+- **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](#app-capabilities)
+- [App scope](#app-scope)
+
+### 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:
+
+ :::column span="":::
+
+#### Personal apps
+
+A [personal app](../../concepts/design/personal-apps.md) is a dedicated space or bot to help users focus on their own tasks or view relevant activities.
+
+ :::column-end:::
+
+ :::column span="":::
++
+ :::column-end:::
++
+ :::column span="":::
+
+#### Tabs
+
+Display your web-based content in a [tab](../../tabs/what-are-tabs.md) where people can discuss and work on it together.
+
+ :::column-end:::
+
+ :::column span="":::
++
+ :::column-end:::
-Each method of interacting with your users has its strengths and weaknesses. Building an awesome Teams app is all about finding the right combination to meet your user's needs. If you're going to meet those needs, you first need to understand them.
-## Understand the problem
+ :::column span="":::
-Every app has a core problem or a need to solve. Before you start building an app, you need to articulate what that problem is. At its heart, Teams is a collaboration platform, so apps that bridge gaps in achieving effective collaboration are a great fit. It is also a social platform, is natively cross-platform, sits at the heart of Office 365, and offers a personal canvas for you to create apps. In this social platform, there is a wide variety of needs that can be solved with a Teams app. You can solve wide variety of problems, provided you understand which one you're trying to solve. Before you start building an app, ask relevant questions, such as:
+#### Bots
-* What are the pros and cons of the current state system used by your users?
-* What are the issues faced by your users that you want to address?
-* What features or capabilities your users like and love in their current way of doing the process?
+Conversations often result in the need to do something (generate an order, review code, check ticket status, and so on). A [bot](../../bots/what-are-bots.md) can kick off these kinds of workflows right inside Teams.
-## Understand your user
+ :::column-end:::
-Understand who your user is and you can identify the right distribution model. It helps you to identify how users use Teams. Ask relevant questions, such as:
+ :::column span="":::
-* Are the users primarily front-line workers on mobile clients?
-* Do you expect many guest users to need access to your app?
-* Do they use teams and channels or primarily group chats?
-* How technically sophisticated are your primary users?
-* Do you need a thorough onboarding experience or a few pointers might do?
-Sometimes the answer is, *We want to solve this problem for all Teams users everywhere.* If that is the case for you, spend some time understanding [what it takes to get published to AppSource](~/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md).
+ :::column-end:::
-## Understand the limitations of the app
-Knowing the limitations of the apps for data accessibility and data residency requirement will help you design better apps. This is important, as having information on who owns the data and availability of APIs impacts the solution architecture. Again, ask relevant questions, such as:
-* What are the challenges with back end integration of the current app?
-* Who owns the back end data? In-house or third-party.
-* Are there firewalls that impact the functioning of the app?
-* Are there APIs to access the data you need for functioning of your app?
+ :::column span="":::
-## Provide authentication
+#### Messaging extensions
-You must identify early on if you need to protect the services you are exposing and at what level. Remember, the web services exposed in your Teams app are publicly available over the internet. So, if you need to secure them start thinking about it now. If you need a solution that requires you to provide guest access for users outside the tenant, access restrictions and permissions need to be placed to protect confidential information. You will need to design apps considering the limitations that come with guest user access. Therefore, ask questions, such as:
+With [messaging extensions](../../messaging-extensions/what-are-messaging-extensions.md), 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.
-* Will the users access different views of data based on their roles?
-* Is there PII involved?
-* Will the interactions also be based on the user roles?
-* Will external users access the app?
+ :::column-end:::
-## Decide what goes in Teams
+ :::column span="":::
-Whether you are building something new or bringing an existing solution into Teams, it is important to decide if the entire app is going to be inside the Teams client. Check if it makes sense to only bring in a portion of the experience. With a combination of tabs, messaging extensions, task modules, Adaptive Cards, and conversational bots you can build complex apps completely in Teams.
-Remember who your users are and the problem you are trying to solve. Do they already have a system for solving most of the problem or you just need to extend a sub-set of the functionality into Teams? Typically, if you are going to bring in a portion of your solution, you must focus on sharing, collaborating, initiating, and monitoring workflows.
-## Plan the onboarding experience
+ :::column-end:::
++
+ :::column span="":::
+
+#### Meeting extensions
+
+There are a few options for [incorporating your app into the Teams calling experience](../../apps-in-teams-meetings/design/designing-apps-in-meetings.md).
+
+ :::column-end:::
+
+ :::column span="":::
++
+ :::column-end:::
++
+ :::column span="":::
+
+#### Webhooks and connectors
+
+[Incoming webhooks](../../webhooks-and-connectors/what-are-webhooks-and-connectors.md#incoming-webhooks) are a simple way to automatically send notifications from another app to a Teams channel. With [outgoing webhooks](../../webhooks-and-connectors/what-are-webhooks-and-connectors.md#outgoing-webhooks), you can message your web service with an @mention.
+
+ :::column-end:::
+
+ :::column span="":::
++
+ :::column-end:::
++
+ :::column span="":::
+
+#### Microsoft Graph for Teams
+
+The [Microsoft Graph API for Teams](/graph/teams-concept-overview) provides access to information about teams, channels, users, and messages that can help you create or enhance features for your app.
+
+ :::column-end:::
+
+ :::column span="":::
++
+ :::column-end:::
+
+> [!NOTE]
+> Teams store has evolved:
+>
+> Previously, the LOB apps were updated by selecting the ellipses on the tile. With the updated Teams store experience, you can now update the LOB apps by logging in to the [Teams Admin Centre](https://admin.teams.microsoft.com).
-Your onboarding experience can be difference between success or failure for your app. For each capability of your app and each context that capability can be installed in, you must have a plan for how you are going to introduce yourself. How you introduce your conversational bot when it is installed in a channel with a thousand people, is different when it is installed in a one-to-one chat. What happens when a user first configures your tab in a channel? If you are sharing cards with a messaging extension, does it make sense to add a small link to a **learn more** page to help introduce users to what else your app can do?
+### App scope
-Knowing who your users are, helps you to craft the right experience. Do you expect most people to already have some context of what your app is for, or to have already used your services in another context? Are they coming to your app with no prior knowledge? Craft your onboarding experience with your key users in mind.
+Your app can have one of the following scopes:
-Remember, users can discover your app in a various ways. They might be the ones installing it or they might be introduced to your app when another user uses it to share content. If you want more users to use your app, you must look for ways to introduce yourself to everyone.
+- **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.
-Above all, remember nobody likes spam. Blasting away with personal and channel messages is a good way to get un-installed quickly!
+An app can exist across different scopes. For example:
-## Plan for the future
+- 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.
-Identify which new features the user will prefer to have in the current solution. If you have a roadmap for new features to add to the app, the design and architecture will be impacted.
+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
Identify which new features the user will prefer to have in the current solution
## See also
-[Device capabilities](~/concepts/device-capabilities/device-capabilities-overview.md)
+[Integrate device capabilities](~/concepts/device-capabilities/device-capabilities-overview.md)
platform Glossary https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/get-started/glossary.md
+
+ Title: Microsoft Teams Developer Documentation - Glossary
+description: Glossary for Microsoft Teams Developer Documentation
+ms.localizationpriority: high
+
+keywords: Microsoft Teams developer definition
+
+# Glossary
+
+Common terms and definitions used in Teams Developer Documentation.
++
+## A
+
+| Term | Definition |
+| | |
+| [Action command](../messaging-extensions/how-to/action-commands/define-action-command.md) | A type of messaging extension app that uses a popup to collect or display information. <br>**See also**: [Messaging extension](#m); [Search commands](#s) |
+| [Adaptive Cards](../task-modules-and-cards/what-are-cards.md) | An actionable content snippet added to a conversation by a bot or messaging extension. Use text, graphics, and buttons with these cards for rich communication. |
+| [Anonymous user](../apps-in-teams-meetings/meeting-app-extensibility.md#user-types-in-a-meeting) | A type of participant in a Teams meeting who doesn't have an Azure AD identity and isn't federated with a tenant. They are like external users in a meeting. <br>**See also**: [Federated user](#f) |
+| [App Catalog](../toolkit/publish.md) | A site that stores SharePoint and Office apps for an organization's internal use. <br>**See also**: [SPFx](#s) |
+| [App manifest](../resources/schem) | The Teams app manifest describes how the app integrates into the Microsoft Teams product. Your manifest must conform to the [manifest schema](https://developer.microsoft.com/json-schemas/teams/v1.11/MicrosoftTeams.schema.json). |
+| [App package](../concepts/build-and-test/apps-package.md) | A Teams app package is a zip file that contains the App manifest file, color icon, and outline icon. |
+| [App permission](../concepts/device-capabilities/browser-device-permissions.md#enable-apps-device-permissions) | An option in a Teams app to enable device permissions. It's available only when the manifest file of the app declares that the app needs device permissions. <br> **See also**: Device permissions |
+| [App scope](../concepts/design/app-structure.md) | An area in Teams where people can use your app. Apps can have one or many scopes, including personal, channels, chats, and meetings. A Teams app can exist across scopes. |
+| [App Studio](../concepts/build-and-test/app-studio-overview.md) | An app to start creating or integrating your own Microsoft Teams apps. It has now evolved to Developer Portal. <br> **See also**: [Developer Portal](#d) |
+| App tray | An application tray located on the bottom bar of a Teams mobile app. It collects all apps that are open but not currently used or active. <br>**See also**: [Teams Mobile](#t) |
+| [Azure resource](../toolkit/provision.md) | A service that is available through Azure that your Teams app can use for Azure deployment. It could be storage accounts, web apps, databases, and more. |
+| [Azure Active Directory](../tabs/how-to/authentication/auth-tab-aad.md) | MicrosoftΓÇÖs cloud-based identity and access management service. It helps authenticated users access internal and external Azure resources. |
+| [Authentication](../concepts/authentication/authentication.md) | A process to validate user access for your app's usage. It can be done using Microsoft Graph APIs or web-based authentication. <br> **See also**: [Identity providers](#i); [SSO](#s) |
+| [Authentication flow](../concepts/authentication/authentication.md#web-based-authentication-flow) | In Teams, there are two authentication flows to authenticate a user for using an app: web-based authentication and OAuthPrompt flow. |
+|
+
+## B
+
+| Term | Definition |
+| | |
+| [Blazor](../get-started/get-started-overview.md) | A free and open-source web framework that enables developers to create web apps using C# and HTML. It's being developed by Microsoft. |
+| [Bicep](../toolkit/provision.md) | A declarative language, which means the elements can appear in any order. Unlike imperative languages, the order of elements doesn't affect how deployment is processed. |
+| [Bot](../bots/what-are-bots.md) | A bot is an app that executes programmed repetitive tasks. <br> **See also**: [Conversational bot](#c); [Chat bot](#c) |
+| [Bot Emulator](../bots/how-to/debug/locally-with-an-ide.md#use-the-bot-emulator) | A desktop application that lets you test and debug bots, either locally or remotely. |
+| [Bot Framework](../bots/bot-features.md) | A rich SDK used to create bots using C#, Java, Python, and JavaScript. If you have a bot that is based on the Bot Framework, you can modify it to work in Teams. |
+|
+
+## C
+
+| Term | Definition |
+| | |
+| [Call bot](../bots/calls-and-meetings/calls-meetings-bots-overview.md) | A bot that participates in audio or video calls and online meetings. <br> **See also**: [Chat bot](#c); [Meeting bot](#m) |
+| [Capability](../toolkit/add-capability.md) | A Teams feature you can build into your app for interacting with app users. An app capability is used to extend Teams to fit your app needs. An app may have one or more core capabilities, such as tab, bot, and messaging extension. <br>**See also**: [Device capability](#d); [Media capability](#m) |
+| [Chat bot](../bots/how-to/conversations/conversation-basics.md) | A bot is also referred to as a chatbot or conversational bot. It's an app that runs simple and repetitive tasks by users such as customer service or support staff. <br> **See also**: [Conversational bot](#c) |
+| Channel | A single place for a team to share messages, tools, and files. You can use a channel for teamwork and communication. <br>**See also**: [Conversation](#c) |
+| [Client secret](../bots/how-to/authentication/add-authentication.md) | The Client secret/password or a public or private key pair that is Certificate. It isn't required for native apps. <br> **See also**: [Bot](#b) |
+| [Cloud resources](../toolkit/add-resource.md) | A service that is available on cloud through internet that your Teams app can use. It could be storage accounts, web apps, databases, and more. |
+| [Collaboration app](../concepts/extensibility-points.md) | An app with capabilities for a user to work in a collaborative workspace with other users. <br> **See also**: [Standalone app](#s) |
+| [Compose Extension](../resources/schem#composeextensions) | A property in app manifest (`composeExtensions`) that refers to messaging extension capability. It's used when your extension needs to either authenticate or configure to continue. <br>**See also**: [App manifest](#a); [Messaging extension](#m) |
+| [Command box](../resources/schem) | A type of context in app manifest (`commandBox`) that you can configure to invoke a messaging extension from Teams command box. |
+| [Connector](../webhooks-and-connectors/what-are-webhooks-and-connectors.md) | It lets users subscribe to receive notifications and messages from the web services. Connectors expose the HTTPS endpoint for the service to post messages to Teams channels, typically in the form of cards. <br> **See also**: [Webhook](#w) |
+| Conversation | A series of messages sent between your Microsoft Teams app (tab or bot) and one or more users. A conversation can have three scopes: channel, personal, and group chat. <br>**See also**: [One-on-one chat](#o); [Group chat](#g); [Channel](#c) |
+| [Conversational bot](../bots/how-to/conversations/conversation-messages.md) | It lets a user interact with your web service using text, interactive cards, and task modules. <br>**See also** [Chat bot](#c) |
+|
++
+## D
+
+| Term | Definition |
+| | |
+| [Deep linking](../concepts/build-and-test/deep-links.md) | In a Teams app, you can create deep links to information and features within Teams or to help the user navigate to content in your app. |
+| [Developer Portal for Teams](../concepts/build-and-test/teams-developer-portal.md) | The primary tool for configuring, distributing, and managing your Microsoft Teams apps. With Developer Portal, you can collaborate with colleagues on your app, set up runtime environments, and much more. |
+| [Developer Preview](../resources/dev-preview/developer-preview-intro.md) | A public program for developers that provides early access to unreleased features in Microsoft Teams. It lets you explore and test upcoming features for potential inclusion in your Microsoft Teams app. |
+| Deploy | A process to upload the backend and frontend code for the application. At Deployment, the code for your app is copied to the resources you created during provisioning. <br>**See also**: [Provision](#p) |
+| [Device capabilities](../concepts/device-capabilities/device-capabilities-overview.md) | Built-in devices, such as camera, microphone, barcode scanner, photo gallery, in a mobile or desktop. You can access the following device capabilities on mobile or desktop through dedicated APIs available in Microsoft Teams JavaScript client SDK. <br>**See also**: [Capability](#c); [Media capability](#m); [Location capability](#l) |
+| [Device permission](../concepts/device-capabilities/browser-device-permissions.md) | A Teams app setting that you can configure in your app. You use it to request permission for your app to access and utilize a native device capability. You can manage device permissions in Teams settings. <br>**See also**: [App permissions](#a) |
+| [Dev environment](../toolkit/teamsfx-multi-env.md#create-a-new-environment) | A type of development environment that Teams Toolkit creates by default. It represents remote or cloud environment configurations. A project can have multiple remote environments. You can add more dev environments to your project using Teams Toolkit. <br>**See also** [Environment](#e); [Local environment](#l) |
+| [DevTools](../tabs/how-to/developer-tools.md) | Browser's Devtools are used to view console logs, view or modify runtime network requests, add breakpoints to code (JavaScript) and perform interactive debugging for a Teams app. The feature is only available for desktop and Android clients after the Developer Preview has been enabled. |
+| [Dynamic search](../task-modules-and-cards/cards/dynamic-search.md#dynamic-typeahead-search) | A search feature for Adaptive Cards that is useful to search and select data from large data sets. It helps to filter out the choices as the user enters the search string. <br>**See also**: [Static search](#s) |
+|
++
+## E
+
+| Term | Definition |
+| | |
+| [E5 developer account](../toolkit/accounts.md) | E5 developer subscription for building apps to extend Microsoft 365. It includes 25 user licenses, including the administrator, for development purposes only. <br>**See also**: [Microsoft 365 account](#m) |
+| [Entry point](../concepts/app-fundamentals-overview.md) | An access point, such as team, channel, and chat, for a Teams app where users can use your app. |
+| [Environment](../toolkit/teamsfx-multi-env.md) | A feature in Teams Toolkit that lets you create and use multiple development environments for your app project. There are two dev environments that Teams Toolkit creates by default, local environment and dev environment. <br>**See also**: [Local environment](#l); [Dev environment](#d) |
+|
++
+## F
+
+| Term | Definition |
+| | |
+| [Federated user](../apps-in-teams-meetings/meeting-app-extensibility.md#user-types-in-a-meeting) | A type of user in a Teams app meeting who is external and is invited to the meeting. This user has valid credentials that are federated by authorized Teams partners. They're also called External users. <br>**See also**: [Anonymous user](#a) |
+|
+
+## G
+
+| Term | Definition |
+| | |
+| [Graph API](../graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md) | A RESTful web API for Microsoft Graph that enables you to access Microsoft Cloud service resources. <br>**See also**: [Microsoft Graph Explorer](#m) |
+| [Group chat](../resources/bot-v3/bot-conversations/bots-conversations.md) | A chat feature where a user is able to chat with a bot in a group setting by using @mention to invoke the bot. <br>**See also**: [One-on-one chat](#o); [Chat bot](#c) |
+|
++
+## I
+
+| Term | Definition |
+| | |
+| [Identity provider](../concepts/authentication/configure-identity-provider.md) | An entity that stores and provides credentials to the user. Users can register themselves with an identity provider as well. <br>**See also**: [Authentication](#a) |
+| [Incoming Webhook](../webhooks-and-connectors/how-to/add-incoming-webhook.md) | It lets an external app share content in Teams channels. These webhooks are used as tracking and notifying tools. <br>**See also**: [Webhook](#w); [Outgoing Webhook](#o) |
+| [In-meeting app experience](../apps-in-teams-meetings/meeting-app-extensibility.md#in-meeting-app-experience) | A stage of Teams meeting lifecycle. With the in-meeting app experience, you can engage participants during the meeting by using apps and the in-meeting dialog box. <br>**See also**: [Meeting lifecycle](#m) |
+|
++
+## L
+
+| Term | Definition |
+| | |
+| [Link unfurling](../messaging-extensions/how-to/link-unfurling.md) | A feature used with messaging extension and meeting to unfold links pasted into a compose message area. The links expand to show additional information about the link in Adaptive Cards or in the meeting stage view. |
+| [Local environment](../toolkit/teamsfx-multi-env.md#create-a-new-environment) | A default development environment created by Teams Toolkit. <br>**See also**: [Environment](#e); [Dev environment](#d) |
+| [Local workbench](../sbs-gs-spfx.yml) | The default option to run and debug a Teams app in Visual Studio Code that is created using SPFx. <br>**See also**: [Workbench](#w); [Teams workbench](#t) |
+| [Location capability](../concepts/device-capabilities/location-capability.md) | A device capability that you can integrate with your app to know the geographical location of the app user for an enhanced collaborative experience. This feature is currently available only for Teams mobile clients only. <br>**See also**: [Capability](#c); [Media capability](#m); [Device Capability](#d); [Teams Mobile](#t) |
+| [Low code apps](../samples/teams-low-code-solutions.md) | A custom Teams app built from scratch using Microsoft Power Platform that requires little or no coding, and can be developed and deployed quickly. |
+|
++
+## M
+
+| Term | Definition |
+| | |
+| [Media capability](../concepts/device-capabilities/mobile-camera-image-permissions.md) | Native device capabilities, such as, camera and microphone, that you can integrate with your Teams app. <br>**See also**: [Capability](#c); [Device capability](#d) |
+| [Meeting bot](../bots/calls-and-meetings/calls-meetings-bots-overview.md) | Bots that interact with Teams calls and meetings using real-time voice, video, and screen sharing. <br>**See also**: [Call bot](#c); [Chat bot](#c) |
+| [Meeting lifecycle](../apps-in-teams-meetings/meeting-app-extensibility.md#meeting-lifecycle) | It spans from pre-meeting, in-meeting, and post-meeting app experience. You can integrate tabs, bots, and messaging extensions in each stage of the meeting lifecycle. <br>**See also**: [In-meeting experience](#i) |
+| [Meeting stage](../sbs-meetings-stage-view.yml) | A feature of meeting extension app. It's a shared space accessible to all participants during the meeting. It helps participants interact and collaborate with app content in real time. <br>**See also**: [Stage view](#s) |
+| [Messaging extension](../messaging-extensions/what-are-messaging-extensions.md) | Messaging extensions are shortcuts for inserting app content or acting on a message. You can use a messaging extension without navigating away from the conversation. <br>**See also**: [Search commands](#s); [Action commands](#a) |
+| [Meeting extension](../apps-in-teams-meetings/design/designing-apps-in-meetings.md) | An app that is designed to be used during the meeting lifecycle to make it more productive, such as whiteboard, dashboard, and more. |
+| [Microsoft 365 account](../toolkit/accounts.md#microsoft-365-account) | Microsoft 365 account includes 25 user licenses, including the administrator, for development purposes only. |
+| [Microsoft 365 developer program](../toolkit/accounts.md#join-microsoft-365-developer-program) | The Microsoft 365 Developer Program helps you build apps that extend Microsoft 365. |
+| [Microsoft Graph Explorer](../graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md) | The gateway to data and intelligence in Microsoft 365. It provides a unified programmability model that you can use to access data in Microsoft 365, Windows 10, and Enterprise Mobility + Security. |
+| [Microsoft Teams](../overview.md) | Microsoft Teams is a group collaboration software that can be used to help teams work together remotely. |
+| [Microsoft Teams Platform](../concepts/app-fundamentals-overview.md) | The Microsoft Teams developer platform makes it easy for developers to integrate their own apps and services with Teams. |
+| [Microsoft Teams UI Library](../concepts/design/design-teams-app-ui-templates.md#microsoft-teams-ui-library) | Microsoft Teams UI Library helps you view and test individual Teams UI templates and related components in your browser. |
+| [Microsoft Teams UI Toolkit](../concepts/design/design-teams-app-ui-templates.md#microsoft-teams-ui-library) | Microsoft Teams UI Kit includes components and patterns that are designed specifically for building Teams apps. |
+|
++
+## O
+
+| Term | Definition |
+| | |
+| [Office 365 Connector](../webhooks-and-connectors/how-to/connectors-creating.md) | It lets you create a custom configuration page for your Incoming Webhook and package them as part of a Teams app. You can send messages primarily using Office 365 Connector cards and have the ability to add a limited set of card actions to them. |
+| [Outgoing Webhook](../webhooks-and-connectors/how-to/add-outgoing-webhook.md) | It acts as a bot and search for messages in channels using @mention. It sends notifications to external web services and responds with rich messages, which include cards and images. <br>**See also**: [Webhook](#w); [Incoming Webhook](#i) |
+| [Outlook channel](../m365-apps/extend-m365-teams-message-extension.md#add-an-outlook-channel-for-your-bot) | A feature of Teams messaging extension app that lets the users interact with it from Microsoft Outlook. |
+| [One-on-one chat](../resources/bot-v3/bot-conversations/bots-conv-personal.md) | A type of chat between a Teams personal bot app and a single user. <br>**See also**: [Group chat](#g); [Chat bot](#c) |
+|
++
+## P
+
+| Term | Definition |
+| | |
+| [People Picker](../task-modules-and-cards/cards/people-picker.md) | A native control in Teams platform to search and select people, which can be integrated in web apps, Adaptive Cards, and more. |
+| [Personal app](../concepts/design/personal-apps.md) | A personal app is a Teams application with a personal scope. It focuses on interactions with a single user. It can be a conversational bot to engage in one-to-one conversations with a user or a personal tab providing an embedded web experience, or both. <br>**See also**: [Shared app](#s) |
+| [Power Virtual Agents](../bots/how-to/add-power-virtual-agents-bot-to-teams.md) | A no-code, guided graphical interface solution that empowers every member of your team to create rich, conversational chat bots that easily integrate with the Teams platform. |
+| [Proactive messages](../bots/how-to/conversations/send-proactive-messages.md) | A message sent by a bot that isn't in response to a request from a user, such as welcome messages, notifications, scheduled messages. |
+| [Provision](../toolkit/provision.md) | A process that creates resources in Azure and Microsoft 365 for your app, but no code (HTML, CSS, JavaScript, etc.) is copied to the resources. It's a prerequisite to deployment. <br>**See also**: [Deploy](#d) |
+|
++
+## R
+
+| Term | Definition |
+| | |
+| [Rate-limiting](../bots/how-to/rate-limit.md) | A method to limit messages to a certain maximum frequency to ensure that number of messages are sufficient and don't appear as spam. |
+| [Role-based views](../task-modules-and-cards/cards/universal-actions-for-adaptive-cards/user-specific-views.md) | A feature of tabs where the tab experience may be different for users depending on their permission level. |
+| [RSC permission](../graph-api/rsc/resource-specific-consent.md) | Resource-specific consent (RSC) permission feature is needed by team owners to let a bot app receive messages across channels in a team without being @mentioned. |
+|
++
+## S
+
+| Term | Definition |
+| | |
+| [Search commands](../messaging-extensions/how-to/search-commands/define-search-command.md) | A type of messaging extension app that lets users search external systems and include the search result into a message using a card. <br>**See also**: [Messaging extensions](#m); [Action commands](#a) |
+| [Sequential workflow](../task-modules-and-cards/cards/universal-actions-for-adaptive-cards/sequential-workflows.md) | A workflow that lets a bot carry out a conversation with a user based on the user response. |
+| [Shared app](../concepts/extensibility-points.md#shared-app-experiences) | An app that exists in a team, channel, or chat where users can collaborate and interact. <br>**See also:** Personal app |
+| [SharePoint site collection](../sbs-gs-spfx.yml) | A collection site for SharePoint apps. You need to have an administrator account for this site before you can deploy your SPFx-based app on the SharePoint site. <br>**See also**: SPFx |
+| [Sideloading](../toolkit/publish.md#publish-to-individual-scope-or-sideload-permission) | A process where a Teams app is loaded to the Teams client to test it in the Teams environment before distributing it. |
+| [SidePanel](../sbs-meetings-sidepanel.yml) | A feature of Teams meeting app that enables you to customize experiences in a meeting that allow organizers and presenters to have different set of views and actions. |
+| [SPFx](../sbs-gs-spfx.yml) | SharePoint Framework (SPFx) is a development model to build client-side solutions for Microsoft Teams and SharePoint. |
+| SSO | Acronym for Single sign-on, an authentication method in which a user needs to sign in to an independent service of a software platform (such as Microsoft 365) only once. The user is then able to access all services without having to go through authentication again. <br>**See also**: [Authentication](#a) |
+| [Stage view](../sbs-meetings-stage-view.yml) | A user interface component that lets you render the content that is opened in full screen in Teams and pinned as a tab. It's invoked to surface web content within Teams. Note that it is *not* the same as meeting stage. <br>**See also**: [Meeting stage](#m) |
+| [Standalone app](../samples/integrating-web-apps.md) | A single-page or large, and complex app. The user can use some aspects of it in Teams. <br>**See also**: [Collaboration aap](#c) |
+| [Static search](../task-modules-and-cards/cards/dynamic-search.md) | A method of typeahead search that lets users search from pre-specified values in the Adaptive Cards payload. <br>**See also**: [Dynamic search](#d) |
+| [Store validation guidelines](../concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md) | A set of Teams-specific guidelines for validating an app before it can be submitted to Teams store. <br>**See also**: [Teams store](#t) |
+|
++
+## T
+
+| Term | Definition |
+| | |
+| [Tab](../tabs/what-are-tabs.md) | Tabs are Teams-aware webpages embedded in Microsoft Teams that point to domains declared in manifest. You can add it inside a team, group chat, or personal app. |
+| [Tab chat](../tabs/how-to/conversational-tabs.md) | A type of tab that lets a user have a focused conversation experience in dynamic tabs. |
+| [Task modules](../task-modules-and-cards/what-are-task-modules.md) | A feature of Teams app to create modal popup for completing tasks, displaying videos, or dashboard. |
+| [Thread discussion](../tabs/design/tabs.md#thread-discussion) | A conversation posted on a channel or chat between users. <br>**See also** [Conversation](#c); [Channel](#c) |
+| [Teams](../overview.md) | Microsoft Teams is the ultimate messaging app for your organization. It's a workspace for real-time collaboration and communication, meetings, file and app sharing. |
+| [Teams Toolkit](../toolkit/teams-toolkit-fundamentals.md) | The Microsoft Teams Toolkit enables you to create custom Teams apps directly within the Visual Studio Code environment. |
+| [TeamsFx](../toolkit/teamsfx-cli.md) | TeamsFx is a text-based command line interface that accelerates Teams application development. It's also called TeamsFx CLI.|
+| [TeamsFx SDK](../toolkit/teamsfx-sdk.md) | TeamsFx SDK is pre-configured in scaffolded project using TeamsFx toolkit or CLI. |
+| [Teams Mobile](../concepts/design/plan-responsive-tabs-for-teams-mobile.md) | Microsoft Teams available as a mobile app. |
+| [Teams store](../concepts/deploy-and-publish/appsource/publish.md) | A store landing page that brings apps to users in a single place. The apps are categorized by usage, industry, and more. An app must follow Store validation guidelines and obtain an approval before it's available to users via the Teams store. <br>**See also**: [Store validation guidelines](#s) |
+| [Teams workbench](../sbs-gs-spfx.yml) | A workbench in Visual Studio Code used at build for Teams apps created using SPFx and Teams Toolkit. <br>**See also**: [Workbench](#w); [Local workbench](#l) |
+|
++
+## U
+
+| Term | Definition |
+| | |
+| [UI components](../concepts/design/design-teams-app-basic-ui-components.md) | For Teams app development, you can use Fluent UI components to build your app from scratch. |
+| [UI templates](../concepts/design/design-teams-app-ui-templates.md) | For Teams app development, you can use Teams UI templates to design your apps quickly. |
+| [Universal Actions for Adaptive Cards](../task-modules-and-cards/cards/universal-actions-for-adaptive-cards/overview.md) | A way to implement Adaptive Cards across platforms and applications. It uses a bot as a common backend for handling actions. |
+|
++
+## V
+
+| Term | Definition |
+| | |
+| [Virtual Assistant](../samples/virtual-assistant.md) | A Microsoft open-source template that enables you to create a robust conversational solution. |
+|
++
+## W
+
+| Term | Definition |
+| | |
+| [Website url](../tabs/design/tabs-mobile.md) | A property in the app manifest file (`websiteUrl`) that links the app to the website of the organization or landing page of the relevant product. It's a mandatory configuration for Teams mobile client. <br>**See also**: [App manifest](#a); [Teams Mobile](#t) |
+| [Web app](../samples/integrate-web-apps-overview.md) | An app that runs on a web server. It can be integrated with Microsoft Teams Platform. |
+| [Webhook](../webhooks-and-connectors/what-are-webhooks-and-connectors.md) | It is a feature of a Teams app used to integrate it with external apps. <br>**See also**: Incoming webhook; outgoing webhook |
+| [Web part](../sbs-gs-spfx.yml) | A UI component used to build a page or a site in a Teams app created using Visual Studio Code and SharePoint Framework. <br>**See also**: [SPFx](#s) |
+| [Workbench](../sbs-gs-spfx.yml) | Overall Visual Studio Code UI that encompasses UI components, such as title bar, panel, and more. <br>**See also**: [Local workbench](#l); [Teams workbench](#t) |
+
+
+## Y
+
+| Term | Definition |
+| | |
+| [YoTeams](../get-started/get-started-overview.md) | A development toolkit for building Microsoft Teams applications based on TypeScript and node.js. |
+|
platform Overview Explore https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/overview-explore.md
+
+ Title: Exploring Teams as a platform for building apps
+
+description: Overview of exploring Microsoft Teams platform features.
+
+ms.localizationpriority: high
+ Last updated : 11/02/2021+
+# Explore Teams platform features
+
+With Teams, you can build your app in a feature-rich environment. Using Teams as a platform for building apps, you can extend the Teams capabilities for your desktop and mobile app solutions. Choose the best features for your app.
++
+## Teams app features
+
+| Feature | Description | Useful for |
+| | | |
+|Tabs | Tabs are Teams-aware webpages embedded in Microsoft Teams. You can add them as part of a channel inside a team, group chat, or personal app for an individual user. | Personal tab, channel or group tab, stage view, and link unfurling. |
+| Bots | A bot is also referred to as a chatbot or conversational bot. It's an app that runs simple and repetitive automated tasks done by the users. A bot interaction can be a quick question and answer, or it can be a complex conversation that provides access to services. | Customer service, information about the weather, make dinner reservations, or provide travel information. |
+| Messaging extensions | Messaging extensions let the users interact with your web service Teams client. They search or start actions in an external system. You can send the result of the interaction to the Teams client as a richly formatted card. | Reserve a resource and allow the channel to know the reserved time slot. Search for a work item, and share it with the group as an Adaptive Card. Create a bug in your tracking system based on a Teams message, assign that bug to a user, and send a card to the conversation thread with the bug's details. |
+|Meeting extensions | You can create apps to make meetings more productive. | Ask people to complete a survey during a call or send a quick reminder that doesnΓÇÖt interrupt the flow of the meeting. |
+| Personal app | A personal app is a dedicated space (tab) or bot to help users focus on their own tasks or view activities important to them. | OneNote is a personal app that gives you a private workspace within Teams. Planner offers a bird's eye view of all your tasks, across boards that you or your team have added as channel tabs. |
+| Webhooks and connectors | Communicate with external apps, and send or receive notifications and messages from other apps. | Subscribe to receive notifications and messages from your web services. |
+| Microsoft Graph | Microsoft Graph is the gateway to data and intelligence in Microsoft 365 and can be incorporated in any kind of Teams app. | Create, manage, find, and archive large number of teams and populate them with users and channels. |
+| Adaptive Card | Cards help you organize information into groups and give users the opportunity to interact with specific parts of the information. | Sharing using text and images; gathering information using input forms. |
+| Task modules | Task modules permit you to create modal pop-up experiences in your Teams application. | Run your own custom HTML or JavaScript code. Show an <`iframe`>-based widget such as a YouTube or Microsoft Stream video. |
+|
+
+## Dive deeper
+
+Choose to customize your app with features and tools, such as user authentication, Microsoft Graph, and Developer Portal.
+
+You've had a short tour through some of Teams platform features. You're ready to see how you can use them to build your app. Let's head towards the solution for the user story.
+
+## Next step
+
+> [!div class="nextstepaction"]
+> [The Teams solution](overview-solution.md)
platform Overview Solution https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/overview-solution.md
+
+ Title: Teams solution for building apps
+
+description: Overview of Teams solution for building apps
+
+ms.localizationpriority: high
+ Last updated : 11/02/2021+
+# The Teams solution
+
+The Microsoft Teams Platform is a powerful, flexible platform for creating apps for Microsoft Teams. It provides a vast suite of development environments and tools to support app development.
+
+## The user story
+
+You've had a view of Teams offerings. You can now map them to user needs. LetΓÇÖs revisit the scenario.
+
+The developer from Tours and Travel agency wants to build an app for their users, the travelers. The app must:
+
+- Check and send the forecast to travelers registered with the travel agency.
+- Notify the users a day before the departure date so they can plan.
+
+Collate and map requirements to Teams features:
+
+| User app needs | Check forecast | Notification before travel | Registered user |
+| |::|::|::|
+| **Capability** | Bot | &nbsp; | &nbsp; |
+| **Integration** | &nbsp; | &nbsp; | Microsoft Graph, Weather API |
+| **Scope** | &nbsp; | Personal app | &nbsp; |
+| **Integration point** | &nbsp; | Chat | &nbsp; |
+|
+
+**Teams app solution**: A Teams *personal chat bot* app that checks and *sends forecast notification* to *registered users* before their travel date.
++
+Teams offers these and many more capabilities to bring your users a feature-rich app solution. To develop this app:
+
+1. Create a personal chat bot app.
+1. Integrate with an external weather forecast API to connect and request forecast for specific date and location.
+1. Integrate with Microsoft Graph for registered users.
+1. Check and send forecast details based on user's travel date and travel location.
+
+## Choose what suits you
+
+You can build a Teams app as per your app's requirements. Based on factors, such as business needs, development environment, domain knowledge, select the environment and tools you want to build your app.
+
+A Teams app offers you the flexibility of choosing your build environment. It includes tools, framework, and languages to approach your app development.
++
+Build your Teams app in the environment that works for your particular requirements. You can even select a combination.
+
+For example, you can use Teams Toolkit to build an app with JavaScript and host it on a SharePoint site.
+
+## Teams collaborative platform
+
+A Teams app brings your users the advantages of a collaborative workspace.
+
+As a platform for building apps, Teams offers the full range of apps and toolkits. Teams platform supports you at every stage from planning your app to distributing it.
++
+From designing to building and distributing a Teams app, you can use various tools and services. An example development flow can be:
+
+1. Plan your project and figure out the requirement.
+1. Design the app. Use Teams UI Kit and UI Library for designing tabs UI.
+1. Build the app with JavaScript using Teams Toolkit.
+1. Extend functionality by adding more Teams capabilities and M365 data with Microsoft Graph.
+1. Test the app on a developer tenant with sample user data.
+1. Deploy the app to Azure.
+1. Manage and publish the apps to Store with Developer Portal.
+
+## Next step
+
+ :::column span="1":::
+ **Start building**
+ :::column-end:::
+ :::column span="2":::
+ Quickly familiarize yourself with building for Teams by setting up your environment and creating a simple app.
+
+ > [!div class="nextstepaction"]
+ > [Build your first app](get-started/get-started-overview.md)
+ :::column-end:::
+
+## See also
+
+ :::column span="1":::
+ **Plan your app**
+ :::column-end:::
+ :::column span="2":::
+ Understand and map your app use cases to Teams features.
+
+ > [!div class="nextstepaction"]
+ > [Plan your app](~/concepts/app-fundamentals-overview.md)
+ :::column-end:::
+
+ :::column span="1":::
+ **Design your app**
+ :::column-end:::
+ :::column span="2":::
+ Design your app UI with Microsoft Teams UI Kit.
+
+ > [!div class="nextstepaction"]
+ > [Design your Teams app](~/concepts/design/design-teams-app-process.md)
+ :::column-end:::
+
+ :::column span="1":::
+ **Build your app**
+ :::column-end:::
+ :::column span="2":::
+ Looking for app development inspiration? Browse our list of real-world scenarios and industry solutions with high fidelity concept mocks to understand the various ways a Teams app can help your users.
+
+ > [!div class="nextstepaction"]
+ > [See app scenarios](https://adoption.microsoft.com/extensibility-look-book/scenarios/)
+ :::column-end:::
+
+ :::column span="1":::
+ **Extend your app across Microsoft 365**
+ :::column-end:::
+ :::column span="2":::
+ You can preview your Teams apps running in other high usage Microsoft 365 experiences with Microsoft Teams JavaScript client SDK v2 Preview.
+
+ > [!div class="nextstepaction"]
+ > [Extend your app](m365-apps/overview.md)
+ :::column-end:::
+
+ :::column span="1":::
+ **Test your app**
+ :::column-end:::
+ :::column span="2":::
+ After integrating your app with Microsoft Teams, you must test your app before publishing it.
+
+ > [!div class="nextstepaction"]
+ > [Test your app](concepts/build-and-test/test-app-overview.md)
+ :::column-end:::
+
+ :::column span="1":::
+ **Distribute your app**
+ :::column-end:::
+ :::column span="2":::
+ You can provide your Microsoft Teams app to an individual, team, organization, or anyone who wants to use it.
+
+ > [!div class="nextstepaction"]
+ > [Distribute your app](~/concepts/deploy-and-publish/apps-publish-overview.md)
+ :::column-end:::
+
+ :::column span="1":::
+ **Integrate with Teams**
+ :::column-end:::
+ :::column span="2":::
+ Blend the features users love about an existing web app, service, or system with the collaborative features of Teams.
+
+ > [!div class="nextstepaction"]
+ > [Integrate an existing app](samples/integrating-web-apps.md)
+ :::column-end:::
+
+ :::column span="1":::
+ **A little code goes a long way**
+ :::column-end:::
+ :::column span="2":::
+ You don't need to be an expert programmer to build a great Teams app. Try one of several low-code solutions.
+
+ > [!div class="nextstepaction"]
+ > [Create a low-code app](samples/teams-low-code-solutions.md)
+ :::column-end:::
platform Overview Story https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/overview-story.md
+
+ Title: Overview - User story for Microsoft Teams platform
+
+description: Overview user story of how app idea fits
+
+ms.localizationpriority: high
+ Last updated : 11/02/2021+
+# From ideas to Teams app
+
+Learn how apps let you help your users in the Teams environment.
+
+Take a look at this scenario:
++
+As a developer, you want a way to share important and relevant information to help your users. It's a typical user story. Relatable? But how does Teams fit in to this scenario?
+
+LetΓÇÖs dig deeper into this story and find out.
+
+## Delve into app ideation
+
+ :::column span="":::
+ :::image type="content" source="../msteams-platform/assets/images/overview/developer-scenario-01.png" alt-text="User story - As a developer at a travel agency, I build apps for travelers" border="false":::
+ :::column-end:::
+ :::column span="":::
+ #### Understand your user
+
+ Know about your user to identify how they use Teams.
+
+ Relevant questions:
+ - Do the users mostly use mobile clients?
+ - How technically sophisticated are your primary users?
+ :::column-end:::
+ :::column span="":::
+ #### Understand the problem
+
+ Identify the user problem that you want to resolve with your app.
+
+ Relevant questions:
+ - What are the pros and cons of the current system of your users?
+ - What issues do you want to address?
+ :::column-end:::
+ :::column span="":::
+ :::image type="content" source="../msteams-platform/assets/images/overview/developer-scenario-02.png" alt-text="I want to develop an app that sends weather forecast of the destination to customers..." border="false":::
+ :::column-end:::
+ :::column span="":::
+ :::image type="content" source="../msteams-platform/assets/images/overview/developer-scenario-03.png" alt-text="...so that customers can know weather conditions and plan ahead" border="false":::
+ :::column-end:::
+ :::column span="":::
+ #### List app requirements and benefits
+
+ Determine your app's features and how you expect it to answer the user's problem.
+
+ Relevant questions:
+ - Do the users need current updates regularly without having to check?
+ - Do you need to authenticate users?
+ :::column-end:::
+ :::column span="":::
+ #### User-centric solution
+
+ Craft the right app experience for your users with an app that fits their requirement.
+
+ Relevant questions:
+ - Should only registered users receive regular help?
+ - What features would be most convenient for user experience?
+ :::column-end:::
+ :::column span="":::
+ :::image type="content" source="../msteams-platform/assets/images/overview/developer-scenario-04.png" alt-text="Customers are well-prepared for traveling!" border="false":::
+ :::column-end:::
+
+Next, explore some of Teams features that help you build an app solution.
+
+## Next step
+
+> [!div class="nextstepaction"]
+> [Explore Teams features](overview-explore.md)
platform Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/overview.md
ms.localizationpriority: high
Last updated 05/24/2021
-# Build apps for Microsoft Teams
+# Teams app that fits
-Microsoft Teams apps bring key information, common tools, and trusted processes to where people increasingly gather, learn, and work.
+Microsoft Teams offers a collection of apps that are provided by Microsoft or external services. Teams apps can be tabs, bots, or messaging extensions or any combination of the three. These apps expand the value of your Teams collaborative experience.
-Apps are how you extend Teams to fit your needs. Create something brand new for Teams or integrate an existing app.
+Apps can be personal or shared. A personal app enables a one-on-one communication, and a shared app lets multiple users share app space to collaborate.
-> [!div class="nextstepaction"]
-> [Start here](get-started/get-started-overview.md)
-
-## What are Teams apps?
-
-Teams apps are a combination of [capabilities](concepts/capabilities-overview.md). Some apps are simple (send notifications), while others are complex (manage patient records). When planning your app, remember that Teams is a collaboration hub. The best Teams apps help people express themselves and work better together.
-
-### Personal apps
-
- :::column span="1":::
-
-**Help people focus**: A [personal app](concepts/design/personal-apps.md) is a dedicated space or bot to help users focus on their own tasks or view activities important to them.
-
- :::column-end:::
-
- :::column span="3":::
--
- :::column-end:::
--
-### Tabs
-
- :::column span="1":::
-
-**Collaborate more conveniently**: Display your web-based content in a [tab](tabs/what-are-tabs.md) where people can discuss and work on it together.
-
- :::column-end:::
-
- :::column span="3":::
--
- :::column-end:::
--
-### Bots
-
- :::column span="1":::
-
-**Turn words into actions**: Conversations often result in the need to do something (generate an order, review my code, check ticket status, and so on). A [bot](bots/what-are-bots.md) can kick off these kinds of workflows right inside Teams.
-
- :::column-end:::
-
- :::column span="3":::
--
- :::column-end:::
--
-### Messaging extensions
--
- :::column span="1":::
-
-**Make it easier to multitask**: With [messaging extensions](messaging-extensions/what-are-messaging-extensions.md), you can quickly share external information in a conversation. You also can act on a message, such as creating a help ticket based on the content of a channel post.
-
- :::column-end:::
+## Driving organizational goals
- :::column span="3":::
+Collaboration and communication are key for an organization. Concise communication, integration with necessary services, and on-the-go accessibility is why organizations are increasingly choosing to rely on apps.
+Organizations use it to connect with their customers, provide services, and share information. But that's not all! Apps are the meeting place for people to work together. A well-placed app helps build a cohesive environment for external and internal business needs.
- :::column-end:::
+Let's look at some areas where an app helps to meet a business need.
-### Meeting extensions
+| &nbsp; | &nbsp; |
+| | |
+| **Development Options** | **Business Opportunities** |
+| - Desktop app <br> - Web app <br> - Mobile app | - Increase user engagements <br> - Make your app discoverable on Teams Store |
+| **Customer benefits** | **Internal workflows** |
+| - On-the-go accessibility <br> - Secure customer data <br> - Ease of communication | - Automate repetitive tasks <br> - Simplify tasks with bots, <br> &nbsp;&nbsp; such as Q&A and Help-desk |
+|
- :::column span="1":::
+You can build apps with Teams Developer platform by extending Teams capabilities to fit your needs. Create something brand new for Teams or integrate an existing app.
-**Create apps for meetings**: There are a few options for [incorporating your app into the Teams calling experience](apps-in-teams-meetings/design/designing-apps-in-meetings.md).
+## Build apps with Microsoft Teams platform
- :::column-end:::
+Microsoft Teams apps help your collaborative workspace to be more productive by bringing key information, common tools, and trusted processes to where people increasingly gather, learn, and work. Apps are how you extend the capabilities of Team platform to fit your requirements. Create something brand new or integrate an existing app, and you utilize benefits of Microsoft Teams platform for your particular business needs.
- :::column span="3":::
+The benefits of building apps span from meeting organizational goals to increasing internal productivity.
+Here's why Teams is best-suited for your app needs:
- :::column-end:::
+- **Communication and collaboration**
-### Webhooks and connectors
+ Most successful Teams apps involve pulling information from another system, having a conversation about it, and letting users to take action. Teams lets you do all these tasks directly within the Teams client. You can even push information to a targeted audience based on an event or action in an external system.
+- **Social interactions**
- :::column span="":::
+ Teams is a social platform; custom social-focused apps encourage your team to extend your company culture into your collaboration space. Use apps for sending polls, letting people share feedback with each other, enabling connection and communication.
-**Communicate with external apps**: [Incoming webhooks](webhooks-and-connectors/what-are-webhooks-and-connectors.md#incoming-webhooks) are a simple way to automatically send notifications from another app to a Teams channel. With [outgoing webhooks](webhooks-and-connectors/what-are-webhooks-and-connectors.md#outgoing-webhooks), message your web service with an @mention.
+ :::image type="content" source="../msteams-platform/assets/images/overview/teams-apps-social.png" alt-text="Teams app for building team culture" border="false":::
- :::column-end:::
+- **Common business processes**
- :::column span="":::
+ Tasks like creating and sharing a sales call report, tracking your project timeline, reserving common resources, submitting help desk requests are repetitive tasks. They make for effective Teams apps.
+ In addition to automating repetitive workflows, you can use apps to help with communication issues. A chat bot is an easy replacement for emails and phone calls to IT or HR departments.
- :::column-end:::
+ :::image type="content" source="../msteams-platform/assets/images/overview/teams-apps-bot.png" alt-text="Teams app for internal use" border="false":::
-### Microsoft Graph for Teams
+- **Teams Store advantage**
+ Push your app on Teams store to improve app's availability and you can use it as a marketing opportunity. If you're running a startup, Teams platform helps to increase awareness of your products. Teams Store marketplace can be a great platform for large audiences to discover your app.
- :::column span="":::
+- **Surface existing app**
-**Utilize Teams data**: The [Microsoft Graph API for Teams](/graph/teams-concept-overview) provides access to information about teams, channels, users, and messages that can help you create or enhance features for your app (such as rich notifications).
+ If you've got an existing web app, SharePoint site (or SPFx extension), PowerApp, or other web-based application, it may make sense to enable some or all of it in Teams. Extending existing apps and porting interactive functionalities to Teams helps to grow user base and user engagement for your app.
- :::column-end:::
+ :::image type="content" source="../msteams-platform/assets/images/overview/teams-apps-sp.png" alt-text="SharePoint site ported as a Teams tab" border="false":::
- :::column span="":::
+- **Personal apps with tabs and bots**
+ One-to-one conversational bots are one of the more open-ended features in Microsoft Teams. The conversation is just between the bot and your user. You have the flexibility of including task modules to simplify complex sets of information.
- :::column-end:::
+ For example, if your app is a design tool with multiple collaborators, a shared bot that notifies all users helps to build user engagement.
- :::column span="2":::
-
-## Start building
-
-Quickly familiarize yourself with building for Teams by setting up your environment and creating a simple app.
-
-> [!div class="nextstepaction"]
-> [Build your first app](get-started/get-started-overview.md)
-
- :::column-end:::
- :::column span="":::
-
- :::column-end:::
-
- :::column span="2":::
-
-## Integrate with Teams
-
-Blend the features users love about an existing web app, service, or system with the collaborative features of Teams.
-
-> [!div class="nextstepaction"]
-> [Integrate an existing app](samples/integrating-web-apps.md)
-
- :::column-end:::
- :::column span="":::
-
- :::column-end:::
-
- :::column span="2":::
-
-## A little code goes a long way
-
-You don't need to be an expert programmer to build a great Teams app. Try one of several low-code solutions.
+## Next step
> [!div class="nextstepaction"]
-> [Create a low-code app](samples/teams-low-code-solutions.md)
-
- :::column-end:::
- :::column span="":::
-
- :::column-end:::
-
- :::column span="2":::
-
-## Get ideas for your app
-
-Looking for app development inspiration? Browse our list of real-world scenarios and industry solutions with high fidelity concept mocks to understand the various ways Teams apps can help your users.
-
-> [!div class="nextstepaction"]
-> [See app scenarios](https://adoption.microsoft.com/extensibility-look-book/scenarios/)
-
- :::column-end:::
- :::column span="":::
-
- :::column-end:::
-
-## Test your app running across Microsoft 365
-
-You can preview your Teams apps running in other high usage Microsoft 365 experiences with Microsoft Teams JavaScript client SDK v2 Preview.
-
-> [!div class="nextstepaction"]
-> [Extend your app](m365-apps/overview.md)
-
-## See also
-
-* [App fundamentals](~/concepts/app-fundamentals-overview.md)
-* [Design your Teams app](~/concepts/design/design-teams-app-process.md)
-* [Map your use cases to Teams app capabilities](~/concepts/design/map-use-cases.md)
+> [From ideas to Teams app](overview-story.md)
platform Auth Tab Aad https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/authentication/auth-tab-aad.md
Sample code showing the tab authentication process using Azure AD:
## See also
-* [Plan user authentication](../../../concepts/design/understand-use-cases.md#provide-authentication)
+* [Plan user authentication](../../../concepts/design/understand-use-cases.md)
* [Design your tab for Microsoft Teams](~/tabs/design/tabs.md) * [Silent authentication](~/tabs/how-to/authentication/auth-silent-aad.md) * [Add authentication to your messaging extension](~/messaging-extensions/how-to/add-authentication.md)
platform Whats New https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/whats-new.md
Discover Microsoft Teams platform features that are generally available (GA) and
## Latest updates ![bullhorn icon](~/assets/images/bullhorn.png)
-| Date | Update | Find here |
+| Date | Update | Find here |
| | | |
+| 02/18/2022 | Introduced extensive Glossary for the Microsoft Teams Developer Documentation to help you find the definition about a term quickly | [Glossary](~/get-started/glossary.md) |
+| 02/18/2022 | Updated the Overview module for mapping Teams app to organizational goals, user story, and exploring Teams app features | [Overview > Teams app that fits](overview.md) |
+| 02/18/2022 | Updated the App fundamentals module to Plan your app to include mapping use cases to Teams features, and app planning checklist | [Plan your app > Overview](~/concepts/app-fundamentals-overview.md) |
|02/17/2022| What to expect after you submit your app?| Distribute your app > Publish to the Teams store > [Overview](concepts/deploy-and-publish/appsource/publish.md)| |02/15/2022| Introduced step-by-step guide how to upload files to Teams from a bot | Build bots > Send and receive files > [Step-by-step guide how to upload files to Teams from a bot](sbs-file-handling-in-bot.yml) | |02/11/2022| Shared meeting stage| ΓÇó Build apps for Teams meetings > [Shared meeting stage](apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md#shared-meeting-stage) </br> ΓÇó Build apps for Teams meetings > [Meeting apps API references](apps-in-teams-meetings/API-references.md) </br> ΓÇó App manifest > Public developer preview > [Developer preview manifest schema](resources/schem)|
Discover Microsoft Teams platform features that are generally available (GA) and
|02/07/2022| Tools and SDKs |Teams Toolkit for Visual Studio Code > </br> ΓÇó Add capabilities to Teams app> [Add capabilities to your Teams apps](toolkit/add-capability.md) </br> ΓÇó Add cloud resources to Teams app> [Add cloud resources to your Teams app](toolkit/add-resource.md) | |02/03/2022| Introduced app manifest version 1.12 | ΓÇó App manifest > [App manifest schema](resources/schem) | |02/03/2022| Test preview for monetized apps (developer preview)| Monetize your app > [Test preview for monetized apps](concepts/deploy-and-publish/appsource/prepare/Test-preview-for-monetized-apps.md)|
-|02/03/2022| In-app purchase flow for monetization of apps (developer preview) | Monetize your app > [In-app purchases](concepts/deploy-and-publish/appsource/prepare/in-app-purchase-flow.md)
-|01/25/2022| Send real-time captions API | Build apps for Teams meetings > Meeting apps API references> [Meeting apps API references](apps-in-teams-meetings/API-references.md#send-real-time-captions-api)|
-|01/19/2022| Adaptive Cards form completion feedback | Build bots > Bot conversations > Messages in bot conversations > [Form completion feedback](bots/how-to/conversations/conversation-messages.md#form-completion-feedback)|
-|01/17/2022| People Picker in Adaptive cards (developer preview for mobile and GA for desktop) | Build cards and task modules > Build cards > [People Picker in Adaptive Cards](task-modules-and-cards/cards/people-picker.md)|
-|01/10/2022| Teams Toolkit for Visual Studio Code | Tools and SDKs > Teams Toolkit for Visual Studio Code > [Teams Toolkit fundamentals](toolkit/teams-toolkit-fundamentals.md) |
+|02/03/2022| In-app purchase flow for monetization of apps (developer preview) | Monetize your app > [In-app purchases](concepts/deploy-and-publish/appsource/prepare/in-app-purchase-flow.md) |
+|
## GA features
Microsoft Teams platform features that are available to all app developers.
<br> <details>- <summary><b>2022</b></summary> | **Date** | **Update** | **Find here** | | -- | | -|
-|02/15/2022| Introduced step-by-step guide how to upload files to Teams from a bot | Build bots > Send and receive files > [Step-by-step guide how to upload files to Teams from a bot](sbs-file-handling-in-bot.yml) |
-|02/11/2022| Shared meeting stage| ΓÇó Build apps for Teams meetings > [Shared meeting stage](apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md#shared-meeting-stage) </br> ΓÇó Build apps for Teams meetings > [Meeting apps API references](apps-in-teams-meetings/API-references.md) </br> ΓÇó App manifest > Public developer preview > [Developer preview manifest schema](resources/schem)|
-|02/08/2022| Introduced step-by-step guide to create Calling and Meeting bot| Build bots > Calls and meetings bots > Register calls and meetings bot > [Step-by-step guide to create Calling and Meeting bot](sbs-calling-and-meeting.yml) |
-|02/02/2022| Introduced app manifest version 1.12 | App manifest > [App manifest schema](resources/schem) |
-|01/25/2022| Send real-time captions API | Build apps for Teams meetings > Meeting apps API references> [Meeting apps API references](apps-in-teams-meetings/API-references.md#send-real-time-captions-api)|
-|01/19/2022| Adaptive Cards form completion feedback | Build bots > Bot conversations > Messages in bot conversations > [Form completion feedback](bots/how-to/conversations/conversation-messages.md#form-completion-feedback)|
-|01/17/2022| People Picker in Adaptive cards for desktop | Build cards and task modules > Build cards > [People Picker in Adaptive Cards](task-modules-and-cards/cards/people-picker.md)|
-
-<br>
-
+| 02/18/2022 | Introduced extensive Glossary for the Microsoft Teams Developer Documentation to help you find the definition about a term quickly | [Glossary](~/get-started/glossary.md) |
+| 02/18/2022 | Updated the Overview module for mapping Teams app to organizational goals, user story, and exploring Teams app features | [Overview > Teams app that fits](overview.md) |
+| 02/18/2022 | Updated the App fundamentals module to Plan your app to include mapping use cases to Teams features, and app planning checklist | [Plan your app > Overview](~/concepts/app-fundamentals-overview.md) |
+| 02/17/2022 | What to expect after you submit your app?| Distribute your app > Publish to the Teams store > [Overview](concepts/deploy-and-publish/appsource/publish.md) |
+| 02/15/2022 | Introduced step-by-step guide how to upload files to Teams from a bot | Build bots > Send and receive files > [Step-by-step guide how to upload files to Teams from a bot](sbs-file-handling-in-bot.yml) |
+| 02/11/2022 | Shared meeting stage| ΓÇó Build apps for Teams meetings > [Shared meeting stage](apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md#shared-meeting-stage) </br> ΓÇó Build apps for Teams meetings > [Meeting apps API references](apps-in-teams-meetings/API-references.md) </br> ΓÇó App manifest > Public developer preview > [Developer preview manifest schema](resources/schem)|
+| 02/08/2022 | Introduced step-by-step guide to create Calling and Meeting bot| Build bots > Calls and meetings bots > Register calls and meetings bot > [Step-by-step guide to create Calling and Meeting bot](sbs-calling-and-meeting.yml) |
+| 02/02/2022 | Introduced app manifest version 1.12 | App manifest > [App manifest schema](resources/schem) |
+| 01/25/2022 | Send real-time captions API | Build apps for Teams meetings > Meeting apps API references> [Meeting apps API references](apps-in-teams-meetings/API-references.md#send-real-time-captions-api)|
+| 01/19/2022 | Adaptive Cards form completion feedback | Build bots > Bot conversations > Messages in bot conversations > [Form completion feedback](bots/how-to/conversations/conversation-messages.md#form-completion-feedback)|
+| 01/17/2022 | People Picker in Adaptive cards for desktop | Build cards and task modules > Build cards > [People Picker in Adaptive Cards](task-modules-and-cards/cards/people-picker.md)|
+|
</details>
-
+
<br> <details>
+<summary><b>Older updates</b></summary>
+<br>
+Explore updates from the previous GA releases listed here.
+<br><br>
+
+<details>
<summary><b>2021</b></summary> | **Date** | **Update** | **Find here** |
Microsoft Teams platform features that are available to all app developers.
<br> <details>
-<summary><b>Older updates</b></summary>
-
-<details>
-
<summary><b>2020</b></summary> | **Date** | **Update** | **Find here** |
Microsoft Teams platform features that are available to all app developers.
| 04/23/2019 | Action-based Messaging Extensions are now available. | [Action-based Message Extensions](~/concepts/messaging-extensions/create-extensions.md) | | 02/18/2019 | Creating deep links to private chat. | [Deep linking to a chat](concepts/build-and-test/deep-links.md#deep-linking-to-a-chat) | | 01/23/2019 | Surfacing SKU and licenceType information in the tab context. | [Tab Context](~/concepts/tabs/tabs-context.md) |-
-<br>
-
+|
</details> <br> <details>- <summary><b>2018</b></summary> | **Date** | **Update** | **Find here** |
Microsoft Teams platform features that are available to all app developers.
| 03/03/2018 | Added documentation for Teams App Studio. |[Quickly develop apps with Teams App Studio](~/get-started/get-started-app-studio.md), [Using the control library in App Studio](~/get-started/app-studio-component-library.md)| | 02/27/2018 | Added sample code to demonstrate AsTeamsChannelAccounts() method. |[Get context for your bot](~/concepts/bots/bots-context.md)| | 02/05/2018 | Added topics for getting started using C#. |[Get started on the Microsoft Teams platform with C#/.NET](./get-started/get-started-dotnet-app-studio.md)|-
-<br>
-
+|
</details> </details>