Updates from: 04/29/2023 01:23:36
Service Microsoft Docs article Related commit history on GitHub Change details
platform Build Apps For Anonymous User https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/build-apps-for-anonymous-user.md
ms.localizationpriority: medium
Anonymous users don't have an Azure Active Directory (Azure AD) identity and aren't federated with a tenant. The anonymous participants are like external users but their identity isn't shown in the meeting. An anonymous user can be a presenter or an attendee but can't be an organizer. You can build bots, messaging extensions, and cards and task modules in your app to engage with anonymous meeting participants.
+> [!NOTE]
+> Apps for anonymous users is supported in Teams mobile client only and isn't supported in channel meetings.
+ For anonymous users to interact with the apps in Teams meetings, ensure the following: 1. Update your [app manifest](#app-manifest-update-for-anonymous-users).
Anonymous users can view and interact with Adaptive Cards in the meeting chat. A
:::image type="content" source="../assets/images/apps-in-meetings/app-icon.png" alt-text="Screenshot shows how the app icon displays for anonymous user.":::
-* Channel meeting isn't supported for anonymous users.
- ## Code sample |Sample name | Description | .NET |Node.js|
platform Registering Calling Bot https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/calls-and-meetings/registering-calling-bot.md
The next section provides a list of application permissions supported for calls
## Add Graph permissions
-The Graph provides granular permissions to control the access that apps have to resources. You decide which permissions for Graph your app requests. The Graph calling APIs support application permissions, which are used by apps that run without a signed-in user present. A tenant administrator must grant consent to application permissions.
+The Graph provides granular permissions to control the access that apps have to resources. You decide which permissions for Graph your app requests. The Graph calling APIs support Resource-specific consent (RSC) permissions and application permissions.
+
+### RSC permissions for calls
+
+RSC is an authorization framework built by Teams and Microsoft identity platform that allows for granting scoped access to an app. Through RSC, an authorized user can give an app access to the data of a specific instance of a resource type.
+
+If a chat has a meeting or a call associated with it, then the relevant RSC permissions apply to those resources as well.
+
+The following table provides RSC application permissions for calls:
+
+| Permission name | Action |
+| -- | -- |
+| `Calls.AccessMedia.Chat` | Access media streams in calls associated with this chat or meeting. |
+| `Calls.JoinGroupCalls.Chat` | Join calls associated with this chat or meeting. |
### Application permissions for calls
+The application permissions for calls are used by apps that run without a signed-in user present. A tenant administrator must grant consent to application permissions.
+ The following table provides a list of application permissions for calls: |Permission |Display string |Description |Admin consent required |
platform Glossary https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/get-started/glossary.md
Common terms and definitions used in Microsoft Teams developer documentation.
| [Meeting extension](../apps-in-teams-meetings/design/designing-apps-in-meetings.md) | An app 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-developer-account-types) | Microsoft 365 account includes 25 user licenses, including the administrator, for development purposes only. | | Microsoft 365 client ID | See [Client ID](#c) |
-| [Microsoft 365 channel](../m365-apps/extend-m365-teams-message-extension.md#add-microsoft-365-extensions-channel-for-your-bot) | A feature of Teams message extension app that lets the users interact with it from Microsoft 365. |
+| [Add Microsoft 365 channel for your bot](../m365-apps/extend-m365-teams-message-extension.md#add-microsoft-365-channel-for-your-bot) | A feature of Teams message extension app that lets the users interact with it from Microsoft 365. |
| [Microsoft 365 developer program](../toolkit/tools-prerequisites.md)| The Microsoft 365 Developer Program helps you build apps that extend Microsoft 365. | | Microsoft App Password | A secret string that the application uses to prove its identity when requesting a token. Also, it can be referred to as application password. <br> **See also**: [Client secret](#c) | | [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. |
platform Extend M365 Teams Message Extension https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/extend-m365-teams-message-extension.md
ms.localizationpriority: high
> [!NOTE] >
-> * Microsoft 365 Extensions channel is available only in [public developer preview](../resources/dev-preview/developer-preview-intro.md).
-> * If you've connected your message extension bot to an **Outlook** channel, you must to migrate to the **Microsoft 365 Extensions** channel.
+> * If you've connected your message extension bot to an **Outlook** channel, you must to migrate to the **Microsoft 365** channel.
Search-based [message extensions](/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions) allow users to search an external system and share results through the compose message area of the Microsoft Teams client. You can now bring production search-based Teams message extensions to preview audiences in Outlook for Windows desktop and outlook.com by [extending your Teams apps across Microsoft 365](overview.md).
The process to update your search-based Teams message extension involves the fol
> [!div class="checklist"] > > * Update your app manifest.
-> * Add the Microsoft 365 Extensions channel for your bot.
+> * Add the Microsoft 365 channel for your bot.
> * Sideload your updated app in Teams. The rest of this guide walks you through these steps and shows how to preview your message extension in Outlook for Windows desktop and web.
If your search-based message extension unfurls links that display cards to launc
Outlook mobile users on Android and [Microsoft Outlook beta TestFlight](https://testflight.apple.com/join/AhS6fRDK) iOS rings can now receive and take actions on cards from your apps that were sent to them by users on Outlook on web and Windows desktop.
-The [Code sample](#code-sample) section provides a stage view app for testing.
+The [code sample](#code-sample) section provides a stage view app for testing.
## Prepare your message extension for the upgrade
To start with a [sample message extension](https://github.com/OfficeDev/TeamsFx-
1. Open the command palette (`Ctrl+Shift+P`) and type `Teams: Deploy to the cloud` to deploy the sample code to the provisioned resources in Azure and start the app. 1. Select **Deploy**.
-From here, you can skip ahead to [Add Microsoft 365 Extensions channel for your bot](#add-microsoft-365-extensions-channel-for-your-bot) to complete the final step of enabling the Teams message extension to work in Outlook. (The app manifest is already referencing the correct version, so no updates are necessary).
+From here, you can skip ahead to [Add Microsoft 365 channel for your bot](#add-microsoft-365-channel-for-your-bot) to complete the final step of enabling the Teams message extension to work in Outlook. (The app manifest is already referencing the correct version, so no updates are necessary).
## Update the app manifest
Open your Teams app manifest and update the `$schema` and `manifestVersion` with
If you used Teams Toolkit to create your message extension app, you can use it to validate the changes to your manifest file and identify any errors. Open the command palette (`Ctrl+Shift+P`) and find **Teams: Validate manifest file**.
-## Add Microsoft 365 extensions channel for your bot
+## Add Microsoft 365 channel for your bot
In Microsoft Teams, a message extension consists of a web service that you host and an app manifest, which defines where your web service is hosted. The web service takes advantage of the [Bot Framework SDK](/azure/bot-service/bot-service-overview) messaging schema and secure communication protocol through a Teams channel registered for your bot.
-For users to interact with your message extension from Outlook, you need to add Microsoft 365 Extensions channel to your bot:
+For users to interact with your message extension from Outlook, you need to add Microsoft 365 channel to your bot:
1. From [Microsoft Azure portal](https://portal.azure.com) (or [Bot Framework portal](https://dev.botframework.com) if you previously registered there), go to your bot resource. 1. From *Settings*, select **Channels**.
-1. Under *Available channels*, select **Microsoft 365 Extensions (Preview)** channel.
+1. Under *Available channels*, select **Microsoft 365** channel.
:::image type="content" source="../assets/images/azure-bot-channel-message-extensions.png" alt-text="The screenshot is an example that shows the Microsoft 365 Extensions (Preview) channel for your bot from the Azure Bot Channels pane.":::
For users to interact with your message extension from Outlook, you need to add
:::image type="content" source="../assets/images/azure-bot-channel-message-extensions-apply.png" alt-text="The screenshot is an example that shows the Microsoft 365 'Message Extensions' channel for your bot from the Azure Bot Channels pane.":::
-1. Confirm that your Microsoft 365 Extensions channel is listed along with Teams in your bot's **Channels** pane.
+1. Confirm that your Microsoft 365 channel is listed along with Teams in your bot's **Channels** pane.
## Update Microsoft Azure Active Directory (Azure AD) app registration for SSO
Azure Active Directory (AD) single sign-on (SSO) for message extensions works th
|Outlook desktop | d3590ed6-52b3-4102-aeff-aad2292ab01c | |Outlook Web Access | 00000002-0000-0ff1-ce00-000000000000 | |Outlook Web Access | bc59ab01-8403-45c6-8796-ac3ef710b3e3 |
+ |Outlook mobile | 27922004-5251-4030-b22d-91ecd9a37ea4 |
## Sideload your updated message extension in Teams
platform Link Unfurling https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/link-unfurling.md
The document guides you on how to add link unfurling to your app manifest using
> [!NOTE] > > * The link unfurling result is cached for 30 minutes.
+> * Link unfurling supports Adaptive Cards version 1.3 and earlier.
> * Messaging extension commands aren't required for Link unfurling. However, there must be at least one command in manifest as it is a mandatory property in messaging extensions. For more information, see [compose extensions](/microsoftteams/platform/resources/schema/manifest-schema). > * For mobile client, link unfurling is supported only for links that don't require authentication. The following image is an example of link unfurling in Teams desktop and mobile clients:
-# [Mobile](#tab/mobile)
+# [Desktop](#tab/desktop)
-When the app link is pasted into the Teams compose message area, the link unfurls into a card with the link details.
+When a link is pasted into the Teams compose message area, the link unfurls into a card with the work item details.
-# [Desktop](#tab/desktop)
+# [Mobile](#tab/mobile)
-When the Azure DevOps link is pasted into the Teams compose message area, the link unfurls into a card with the work item details.
+When an app link is pasted into the Teams compose message area, the link unfurls into a card with the link details.
For a complete manifest example, see [manifest reference](~/resources/schema/man
After adding the domain to the app manifest, you must update your web service code to handle the invoke request. Use the received URL to search your service and create a card response. If you respond with more than one card, only the first card response is used.
+> [!Note]
+> The response from a bot must include a `preview` property.
+ The following card types are supported:
+* [Adaptive Card](~/task-modules-and-cards/cards/cards-reference.md#adaptive-card)
* [Thumbnail card](~/task-modules-and-cards/cards/cards-reference.md#thumbnail-card) * [Hero card](~/task-modules-and-cards/cards/cards-reference.md#hero-card) * [Connector card for Microsoft 365 Groups](../../task-modules-and-cards/cards/cards-reference.md#connector-card-for-microsoft-365-groups)
-* [Adaptive Card](~/task-modules-and-cards/cards/cards-reference.md#adaptive-card)
For more information, see [Action type invoke](~/task-modules-and-cards/cards/cards-actions.md#action-type-invoke). The following is an example of the `invoke` request:
-# [C#/.NET](#tab/dotnet)
-
-```csharp
- protected override async Task<MessagingExtensionResponse> OnTeamsAppBasedLinkQueryAsync(ITurnContext<IInvokeActivity> turnContext, AppBasedLinkQuery query, CancellationToken cancellationToken)
- {
- //You'll use the query.link value to search your service and create a card response
- var card = new HeroCard
- {
- Title = "Hero Card",
- Text = query.Url,
- Images = new List<CardImage> { new CardImage("https://raw.githubusercontent.com/microsoft/botframework-sdk/master/icon.png") },
- };
-
- var attachments = new MessagingExtensionAttachment(HeroCard.ContentType, null, card);
- var result = new MessagingExtensionResult(AttachmentLayoutTypes.List, "result", new[] { attachments }, null, "test unfurl");
-
- return new MessagingExtensionResponse(result);
- }
-```
-
-# [JavaScript/Node.js](#tab/javascript)
-
-```javascript
- class TeamsLinkUnfurlingBot extends TeamsActivityHandler {
- handleTeamsAppBasedLinkQuery(context, query) {
- const attachment = CardFactory.thumbnailCard('Thumbnail Card',
- query.url,
- ['https://raw.githubusercontent.com/microsoft/botframework-sdk/master/icon.png']);
-
- const result = {
- attachmentLayout: 'list',
- type: 'result',
- attachments: [attachment]
- };
-
- const response = {
- composeExtension: result
- };
- return response;
-
- }
- }
-```
- # [JSON](#tab/json)
- Following is an example of the `invoke` sent to your bot:
+ Following is an example of the `invoke` sent to your bot:
```json {
The following is an example of the `invoke` request:
Following is an example of the response: ```json
+{
+ "composeExtension":
{
- "composeExtension": {
- "type": "result",
- "attachmentLayout": "list",
- "attachments": [
+ "type": "result",
+ "attachmentLayout": "list",
+ "attachments":
+ [
+ {
+ "contentType": "application/vnd.microsoft.card.adaptive",
+ "preview":
+ {
+ "contentType": "application/vnd.microsoft.card.adaptive",
+ "content": << Card Payload >>
+ },
+ "contentType": "application/vnd.microsoft.card.adaptive",
+ "content": << Card Payload >>
+ }
+ ]
+ }
+}
+
+```
+
+# [C#](#tab/dotnet)
+
+```csharp
+ protected override Task<MessagingExtensionResponse> OnTeamsAppBasedLinkQueryAsync(ITurnContext<IInvokeActivity> turnContext, AppBasedLinkQuery query, CancellationToken cancellationToken)
+ {
+ AdaptiveCard adaptiveCard = new AdaptiveCard(new AdaptiveSchemaVersion(1, 3));
+ adaptiveCard.Body.Add(new AdaptiveTextBlock()
+ {
+ Text = "Adaptive Card",
+ Size = AdaptiveTextSize.ExtraLarge
+ });
+ adaptiveCard.Body.Add(new AdaptiveImage()
{
- "contentType": "application/vnd.microsoft.teams.card.o365connector",
- "content": {
- "sections": [
- {
- "activityTitle": "[85069]: Create a cool app",
- "activityImage": "https://placekitten.com/200/200"
- },
- {
- "title": "Details",
- "facts": [
- {
- "name": "Assigned to:",
- "value": "[Larry Brown](mailto:larryb@example.com)"
- },
- {
- "name": "State:",
- "value": "Active"
- }
- ]
- }
- ]
- }
- }
- ]
- }
+ Url = new Uri("https://raw.githubusercontent.com/microsoft/botframework-sdk/master/icon.png")
+ });
+ var attachments = new MessagingExtensionAttachment()
+ {
+ Content = adaptiveCard,
+ ContentType = AdaptiveCard.ContentType
+ };
+ return Task.FromResult(new MessagingExtensionResponse
+ {
+ ComposeExtension = new MessagingExtensionResult
+ {
+ AttachmentLayout = "list",
+ Type = "result",
+ Attachments = new List<MessagingExtensionAttachment>
+ {
+ new MessagingExtensionAttachment
+ {
+ Content = adaptiveCard,
+ ContentType = AdaptiveCard.ContentType,
+ Preview = attachments,
+ },
+ },
+ },
+ });
}+
+```
+
+# [JavaScript](#tab/javascript)
+
+```javascript
+
+handleTeamsAppBasedLinkQuery(context, query) {
+ const card = CardFactory.adaptiveCard({
+ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
+ "type": "AdaptiveCard",
+ "version": "1.3"
+ });
+const attachment = CardFactory.adaptiveCard(card);
+attachment.preview = {
+ content: {
+ Title: "Thumbnail Card",
+ text: query.url,
+ images: [
+ {
+ url: "https://raw.githubusercontent.com/microsoft/botframework-sdk/master/icon.png",
+ },
+ ],
+ },
+contentType: "application/vnd.microsoft.card.thumbnail",
+}
+ ```
To get your app ready for zero install link unfurling, follow these steps:
1. **Advantages and limitations**:
-# [Advantages](#tab/advantages)
-
-Zero install link unfurling helps you provide enhanced experience to the users, such as:
-
-* Unfurl previews for your links that users share in Teams even before they've installed your app.
-* Create a welcome card for your app to show a preview with the placeholder fields.
-
-# [Limitations](#tab/limitations)
-
-The following are the limitations:
-
-* The bot can only send back a response as `result` or `auth` as the value for the `type` property in response to the `composeExtension/anonymousQueryLink` invoke request. The user can log an error for all other response types, such as, *silentAuth* and *config*.
-
-* The bot can't send back an acv2 card in response to the `composeExtension/anonymousQueryLink` invoke request, either as a result or as a pre-auth card in auth.
-
-* If the bot selects to send back the `"type": "auth"` with a pre-auth card, the Teams client strips away any action buttons from the card, and adds a sign in action button to get users to authenticate into your app.
-
- * The bot can't send back an acv2 card in response to the `composeExtension/anonymousQueryLink` invoke request, either as a result or as a pre-auth card in auth.
-
+ # [Advantages](#tab/advantages)
+
+ Zero install link unfurling helps you provide enhanced experience to the users, such as:
+
+ * Unfurl previews for your links that users share in Teams even before they've installed your app.
+ * Create a welcome card for your app to show a preview with the placeholder fields.
+
+ # [Limitations](#tab/limitations)
+
+ The following are the limitations:
+
+ * The bot can only send back a response as `result` or `auth` as the value for the `type` property in response to the `composeExtension/anonymousQueryLink` invoke request. The user can log an error for all other response types, such as, *silentAuth* and *config*.
+
+ * The bot can't send back an acv2 card in response to the `composeExtension/anonymousQueryLink` invoke request, either as a result or as a pre-auth card in auth.
+
* If the bot selects to send back the `"type": "auth"` with a pre-auth card, the Teams client strips away any action buttons from the card, and adds a sign in action button to get users to authenticate into your app.--
+
+ * The bot can't send back an acv2 card in response to the `composeExtension/anonymousQueryLink` invoke request, either as a result or as a pre-auth card in auth.
+
+ * If the bot selects to send back the `"type": "auth"` with a pre-auth card, the Teams client strips away any action buttons from the card, and adds a sign in action button to get users to authenticate into your app.
+
+
## Remove link unfurling cache
platform Define Search Command https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md
To add the search command to your app manifest, you must add a new `composeExten
### Create a search command using Developer Portal
-The prerequisite to create a search command is that you must already have created a message extension. For information on how to create a message extension, see [create a message extension](~/messaging-extensions/how-to/create-messaging-extension.md).
+The prerequisite to create a search command is that you must already have created a message extension. For information on how to create a message extension, see [create a message extension](../../../sbs-gs-msgext.yml).
**To create an action command**
platform App Templates https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/app-templates.md
App template code samples are a collection of sample apps for Microsoft Teams pl
> > * Microsoft is not actively managing the source code. The complete source code is open source and you can explore, fork, and modify the source code to meet your specific requirements. > * You must not use Microsoft Power Platform to create apps that are to be published to the Teams app store. Microsoft Power Platform apps can be published to an organizationΓÇÖs app store only.
-> * Applications based on Poll, Survey, Checklist, Quiz, and Training templates will be retired by March 10, 2023. These applications will stay active until February 10, 2023 and you will be able to retrieve any data until March 10, 2023.
The following table describes App template code samples:
The following table describes App template code samples:
|Book-a-room | Book-a-room is a [Microsoft Teams bot](../bots/what-are-bots.md) that allows users quickly to find and reserve a meeting room for 30, 60, or 90 minutes starting from the current time. The default time is 30 minutes. The Book-a-room bot scopes to personal or 1:1 conversations.| [Book-a-room](https://github.com/OfficeDev/microsoft-teams-apps-bookaroom) | | Building Access | Building Access is a Microsoft [Power Platform](https://powerapps.microsoft.com/blog/now-in-preview-customize-teams-with-built-in-power-platform-capabilities/) based app that supports the administration of building occupancy thresholds and social distancing norms by enabling facilities directors to manage, track, and report employee on-site presence. The app, built using Microsoft [Power Apps](/powerapps/powerapps-overview), and [Power Automate](/power-automate/getting-started), deeply integrates with Teams and enables organizations to determine building readiness, establish eligibility criteria for on-site access, and gather insights for future planning. | [Building Access](https://github.com/OfficeDev/microsoft-teams-apps-buildingaccess) | | Celebrations |Celebrations is a Teams app that helps team members to celebrate each others' birthdays, anniversaries, and other recurring events. It remembers special occasions of all the team members and sends a friendly message in all the teams selected at the time of event creation, to make the team members feel special on their day. The app provides an easy interface for all the team members to personally add and view their events and also allows the user to select the teams in which the events get shared. | [Celebrations](https://github.com/OfficeDev/microsoft-teams-celebrations-app) |
-| Checklist | Note: The Checklist App Template will be retired soon. For more details refer the note section [here](#app-template-code-samples). <br/> Checklist is a custom Teams [message extension](../messaging-extensions/what-are-messaging-extensions.md) app that enables you to collaborate with your team by creating a shared checklist in a chat or channel. The app is supported across all Teams platform clients, such as desktop browser, iOS, and Android. The app is ready for deployment as part of your Microsoft 365 subscription. | [Checklist](https://github.com/OfficeDev/microsoft-teams-checklist-app)|
| Classroom Drop-in | Classroom Drop-in is a Microsoft [Power Platform](https://powerapps.microsoft.com/blog/now-in-preview-customize-teams-with-built-in-power-platform-capabilities/)-based app that enables system leaders to find class teams, means virtual classrooms and add themselves or others to these class teams for a specified drop-in period, as needed. The app built using Microsoft [Power Apps](/powerapps/powerapps-overview) and [Power Automate](/power-automate/getting-started), deeply integrates with Teams to ensure educational institutes can optimize their operations in a hybrid learning environment by providing access to relevant stakeholders for class teams per business requirements.| [Classroom Drop-in](https://github.com/OfficeDev/microsoft-teams-apps-classroom-dropin) | | Contact Group Lookup |The Contact Group Lookup app provides a convenient and useful approach to creating, accessing, and managing your organization's contact groups, formerly known as distribution lists or communication groups. Users can quickly view and chat with group members, view member status, and create a group chat with selected members in the contact group, all within the Teams environment.| [Contact Group Lookup](https://github.com/OfficeDev/microsoft-teams-app-contactgrouplookup)| | Co-worker Appreciate | The co-worker appreciation template in Teams helps users to recognize their colleagues' achievements within the TeamsΓÇÖ context. When co-workers select to reward a colleague, recipients and other team members are tagged in a channel conversation and they receive a notification about the channel's award details. The awards are recorded in the Teams app, which is secure, portable, and easily shareable. This is considered as the PowerApps based version of the Open Badges app template, with a leaderboard.| [Co-worker Appreciation](https://github.com/OfficeDev/microsoft-teams-apps-coworker-appreciation)|
The following table describes App template code samples:
|Issue Reporting |The Issue Reporting app empowers the employees and managers to raise and manage issues. It consists of two apps, Issue reporting app for reporting issues and Manage Issues app for managing issues. The team managers use the Manage Issues app to configure the app experience, including the channel in which Teams messages and Planner tasks are created by the app. Managers also use the app to create template forms to collect details when a user reports an issue. For example, review, edit, or delete issue template forms. The app is also used to review team issues, report on issue history, and efficiently manage issue resolution. The employees use the Issue reporting app to log issues and details required to resolve them. The app is also used to modify and resolve existing issues and get a high-level view of individual or team issues. |[Issue Reporting](https://github.com/OfficeDev/microsoft-teams-apps-issuereporting) | | New Employee Onboarding| New Employee Onboarding is an integrated Teams and [SharePoint New Employee Onboarding Solution](https://lookbook.microsoft.com/details/75e60a32-9849-4ed4-b83e-b2b08983ad19) that enables your organization to provide a consistent, high-quality onboarding experience for employees on their new-hire journey. The app is used by human resource teams and hiring managers to provide relevant information throughout the orientation and induction process and by new hires to share feedback, provide introductions, and complete onboarding tasks.|[New Employee Onboarding](https://github.com/OfficeDev/microsoft-teams-apps-newemployeeonboarding) | | Open Badges| Open Badges is a Teams app that enables individuals to earn digital learning credential badges within the Teams context and share them everywhere. Using capabilities from the third-party digital badge issuing authority, [Badgr](https://badgr.org/), awarded badges are recorded in a recipient's Badgr profile and available to build and share a rich picture of lifetime learning journeys.|[Open Badges](https://github.com/OfficeDev/microsoft-teams-apps-openbadges) |
-| Poll| Note: The Poll App Template will be retired soon. For more details refer the note section [here](#app-template-code-samples). <br/> Poll is a custom Teams [message extension](../messaging-extensions/what-are-messaging-extensions.md) app that enables you to quickly create and send polls in a chat or a channel to gather team opinions and preferences. The app is supported across all Teams platform clients, such as desktop, browser, iOS, and Android and is ready for deployment as part of your Microsoft 365 subscription.|[Poll](https://github.com/OfficeDev/microsoft-teams-poll-app) |
| Quick Responses| Quick Responses is a Teams app that delivers a robust solution for effectively answering users' commonly asked questions FAQs. Instead of answering each query manually and continuously repeating information, the app builds a library of responses for an interactive user experience through Teams [message extensions](../messaging-extensions/what-are-messaging-extensions.md).|[Quick Responses](https://github.com/OfficeDev/microsoft-teams-apps-quickresponses) |
-|Quiz | Note: The Quiz App Template will be retired soon. For more details refer the note section [here](#app-template-code-samples). <br/> Quiz is a custom [Teams message extension](../messaging-extensions/what-are-messaging-extensions.md) app that enables you to create a quiz within a chat or a channel for knowledge check and instantaneous results. You can use Quiz for, In-class and offline exams, Knowledge check within team, and for fun quizzes within a team. Quiz app is supported across multiple platforms, such as Teams desktop, browser, iOS, and Android clients. This app is ready for deployment as part of your existing Microsoft 365 subscription.|[Quiz](https://github.com/OfficeDev/microsoft-teams-apps-quiz) |
| Rapid Assist|Rapid Assist is a Microsoft [Power Platform](https://powerapps.microsoft.com/blog/) based app that allows customer facing associates to rapidly connect with the experts to get quick answers, search for information, follow up open requests, and allow experts to receive notifications to quickly get on a call to help answer questions. The app built using Microsoft [Power Apps](/powerapps/powerapps-overview) and [Power Automate](/power-automate/getting-started), deeply integrates with Teams to enable organizations to easily connect frontline workers with corporate liaisons to resolve customer queries and deliver a great customer experience. |[Rapid Assist](https://github.com/OfficeDev/microsoft-teams-apps-rapid-assist) | | Reflect|Reflect is a custom Teams [message extension](../messaging-extensions/what-are-messaging-extensions.md) app that provides a safe and inclusive resource for your team members to share the state of their emotional well-being with colleagues or group leaders directly within Teams. The app is available in channel, group, meeting, and 1:1 chats and the check-in response is set to public, private-to-sender, or fully anonymous. |[Reflect](https://github.com/OfficeDev/Microsoft-Teams-App-Reflect) | |Remote Support | Remote Support is a [Microsoft Teams bot](../bots/what-are-bots.md) that provides a focused interface between support requesters throughout your organization and the internal support team. End-users can submit, edit, or withdraw requests for support and the support team can respond, manage, and update requests all within the Teams platform.|[Remote Support](https://github.com/OfficeDev/microsoft-teams-apps-remotesupport) |
The following table describes App template code samples:
|Share Now |The Share Now app promotes the positive exchange of information between colleagues by enabling your users to easily share content within the Teams environment. Users engage the app to share items of interest with team members, discover new shared content, set preferences, and bookmark favorites for later reading. |[Share Now](https://github.com/OfficeDev/microsoft-teams-apps-sharenow) | |SharePoint List Search |Collaboration in Teams often references information contained within items in a SharePoint list. Paste a link to the item in question forces everyone to switch context away from the conversation, find the needed information, then return to Teams to continue the conversation. As the conversation continues people have to switch back to the reference item multiple times to verify new comments and refresh their memories of the information contained within the item. This context switching creates a barrier to smooth collaboration. To resolve this problem, the List Search app template is used. Many users use SharePoint to power some of the core workflows in their organizations. However, collaborating around lists is difficult. Using the List Search app template in Teams, users can insert information from SharePoint list items directly within a chat conversation to alleviate the context-switching caused when simply inserting a link into a chat. The information is inserted as an easy-to-read auto-formatted card, helping the users stay engaged in the conversation. |[SharePoint List Search](https://github.com/OfficeDev/microsoft-teams-list-search-app) | |Staff Check-ins | Staff Check-ins is a [Power Apps](/powerapps/powerapps-overview) based app that enables oversight communication between your business and field personnel. Staff can easily provide time-critical information and status updates on either a scheduled or ad-hoc basis directly from Teams. The app supports real-time location, photos, notes, reminder notifications, and automated workflows.|[Staff Check-ins](https://github.com/OfficeDev/microsoft-teams-apps-staffcheckins) |
-| Survey|Note: The Survey App Template will be retired soon. For more details refer the note section [here](#app-template-code-samples). <br/> Survey is a custom Teams [message extension](../messaging-extensions/what-are-messaging-extensions.md) app that enables you to create a survey in a chat or a channel to gather data and gain actionable insight. The app is supported across all Teams platform clients, such as desktop, browser, iOS, and Android and is ready for deployment as part of your Microsoft 365 subscription. |[Survey](https://github.com/OfficeDev/Microsoft-Teams-Survey-app) |
|Time Tally |A project can include multiple tasks, and various projects can be assigned to employees. Managers are required to understand the project progress through the time spent by the employees on these tasks. This can be a cumbersome activity, as the employees need to fill in the timesheets. Time Tally app enables employees to fill their timesheets quickly, using the mobile device, and managers don't have to follow up with employees on the timesheet entry. Managers get to view the project utilization based on resources, and they can approve or reject the entries. Reminder notifications are sent to ensure timesheet compliance. Also, historical data and utilizations are available for analytics. |[Time Tally](https://github.com/OfficeDev/microsoft-teams-apps-timetally) |
-| Training | Note: The Training App Template will be retired soon. For more details refer the note section [here](#app-template-code-samples). <br/> Training is a custom [Teams message extension](../messaging-extensions/what-are-messaging-extensions.md) app that enables users to publish a training within a chat or a channel for offline knowledge sharing and upskilling. The app is supported across multiple Teams platform clients, such as desktop, browser, iOS, and Android. This app is ready for deployment as part of your Microsoft 365 subscription.|[Training](https://github.com/OfficeDev/microsoft-teams-apps-training) |
|Virtual Rounding | Hospital and emergency room providers make many **rounds** per day. These quick check-ins on patients are intended to provide a status check on how the patient is doing and ensure that the patientΓÇÖs concerns are addressed. While rounding is an essential practice to ensure patients are being monitored by multiple types of providers, they represent a huge drain on PPE, because for each visit, from each provider, a new mask, and new set of gloves are used. With this app templates, medical workers can easily conduct rounds virtually, through a Teams meeting between the provider and the patient. The Virtual Rounding solution is also referenced in the Microsoft Health and Life Sciences [blog post](https://aka.ms/teamsvirtualrounding).|[Virtual Rounding](https://github.com/SmartterHealth/Virtual-Rounding) | |Visitor Management | The Visitor Management app enables your organization and employees to easily and efficiently manage the on-site visitor process, directly from Teams. The app enables employees to create visitor requests, centrally track a request status through the visitor dashboard, and receive real-time notifications when a visitor arrives.|[Visitor Management](https://github.com/OfficeDev/microsoft-teams-app-visitormanagement) | |Water Cooler |Water Cooler is a custom Teams app that enables corporate teams to create, invite, and join casual conversations among teammates, such as those that take place by the Water Cooler or break room. Use this template for multiple scenarios, such as new non project related announcements, topics of interest, current events, or conversations about hobbies. The app provides an easy interface for anyone to find an existing conversation or start a new one. It's a foundation for building custom targeted communication capabilities, promoting interaction amongst coworkers who may otherwise not get a chance to socialize during breaks. Key features are: <br/> **Water Cooler Home Page**: You can browse existing rooms where team members are interacting in existing conversations with certain people or topics of interest. Active conversations on the **Home Page** show a room name, short description, call duration, and room image. <br/>**Join room**: Use the **Join room** feature to join an ongoing conversation immediately. Select **Join** from active conversations to join the room.<br/>**Room creation**: Use the **Room creation** feature to create a Teams call or chat for all attendees to interact. Create rooms easily by specifying the room name, short description, up to five colleagues as an initial group and selecting from the provided set of room images. <br/>**Find room**: Use the **Find room** feature to search keyword, which matches with the topic or short descriptions of ongoing conversations.<br/>**Attendee invitation**: Use the **Attendee invitation** feature to invite additional users after room creation. This is similar to Teams call.<br/>**App badge**: The **Water Cooler** icon on the left menu shows a badge with the number of active conversations visible from Teams while using any app. |[Water Cooler](https://github.com/microsoft/csapps-msteams-watercooler) |
platform Provision https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/provision.md
TeamsFx integrates with Azure and the Microsoft 365 cloud, which allows to place
## Provision using Teams Toolkit in Microsoft Visual Studio Code
-Provision Azure resources with a single command in Teams Toolkit for Visual Studio Code or TeamsFx CLI. For more information, see [how to provision Azure-based app](/microsoftteams/platform/sbs-gs-javascript?tabs=vscode%2Cvsc%2Cviscode%2Cvcode&tutorial-step=8).
+Provision Azure resources with a single command in Teams Toolkit for Visual Studio Code or TeamsFx CLI. For more information, see [how to provision Azure-based app](/microsoftteams/platform/sbs-gs-javascript?tutorial-step=4).
## Create Resources