Updates from: 01/07/2023 02:23:15
Service Microsoft Docs article Related commit history on GitHub Change details
platform Build Apps For Teams Meeting Stage https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/build-apps-for-teams-meeting-stage.md
The following table provides the user types and lists the features that each use
## Code sample
-|Sample name | Description | C# | Node.js |
+|Sample name | Description | .NET| Node.js |
|-|--|--|-| |Meeting stage sample | Sample app to show a tab in meeting stage for collaboration. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-stage-view/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-stage-view/nodejs) | | In-meeting notification | Demonstrates how to implement in-meeting notification using bot. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-content-bubble/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-content-bubble/nodejs) |
platform Build Tabs For Meeting https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/build-tabs-for-meeting.md
The following table provides the user types and lists the features that each use
## Code sample
-|Sample name | Description | C# | Node.js |
+|Sample name | Description | .NET | Node.js |
|-|--|--|-| | Meeting app | Demonstrates how to use the Meeting Token Generator app to request a token. The token is generated sequentially so that each participant has a fair opportunity to contribute in a meeting. The token is useful in situations like scrum meetings and Q&A sessions. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-token-app/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-token-app/nodejs) | | Meeting stage sample | Sample app to show a tab in meeting stage for collaboration | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-stage-view/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-stage-view/nodejs) |
platform In Meeting Notification For Meeting https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/in-meeting-notification-for-meeting.md
You can also add the Teams display picture and people card of the user to in-mee
} ``` ## Feature compatibility by user types
The following table provides the user types and lists the features that each use
| User type | Scheduled meeting or Instant calendar meeting | One-on-one call | Group call | Scheduled channel meeting | | :-- | :-- | :-- | :-- | :-- | | In-tenant user | Available | Available | Available | Available |
-| Guest user | Available | Available | Available | Available |
-| Federated user or External user | Available | Not available | Not available | Available |
-| Anonymous user | Not available | Not available | Not available | Not available |
+| Guest | Available | Available | Available | Available |
+| Federated or External | Available | Not available | Not available | Available |
+| Anonymous | Not available | Not available | Not available | Not available |
## Code sample
-Sample name | Description | C# | Node.js |
+Sample name | Description | .NET | Node.js |
|-|--|--|-| | In-meeting notification | Demonstrates how to implement in-meeting notification using bot. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-content-bubble/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-content-bubble/nodejs) |
platform Meeting Apps Apis https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/meeting-apps-apis.md
The following table provides the response codes:
## Code sample
-|Sample name | Description | C# | Node.js |
+|Sample name | Description | .NET | Node.js |
|-|--|--|--| | Meetings extensibility | Teams meeting extensibility sample for passing tokens. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-token-app/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-token-app/nodejs) | | Meeting content bubble bot | Teams meeting extensibility sample for interacting with content bubble bot in a meeting. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-content-bubble/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-content-bubble/nodejs)|
platform Teams Apps In Meetings https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/teams-apps-in-meetings.md
Last updated 04/07/2022
Meetings enable collaboration, partnership, informed communication, and shared feedback. The meeting space can deliver a user experience for each stage of the meeting lifecycle. The following illustration gives you an idea of the meeting app extensibility features:
-<!--
+ :::image type="content" source="../assets/images/apps-in-meetings/meetingappextensibility.png" alt-text="The screenshot shows you how meeting app extensibility works.":::>
+<!--
:::row::: :::column span="":::
- &nbsp; <!--:::image type="icon" source="../assets/images/apps-in-meetings/app-extensibility/space.png" border="false":::-->
+ &nbsp; <!--:::image type="icon" source="../assets/images/apps-in-meetings/app-extensibility/space.png" border="false":::
:::column-end::: :::column span="2"::: :::image type="icon" source="../assets/images/apps-in-meetings/app-extensibility/1-cust-apps.png" border="false" link="../concepts/build-and-test/share-in-meeting.md"::: :::image type="icon" source="../assets/images/apps-in-meetings/app-extensibility/2-enable-app.png" border="false" link="build-tabs-for-meeting.md":::
Meetings enable collaboration, partnership, informed communication, and shared f
:::column-end::: :::row-end::: :::row:::+
+ :::column span="":::
+ &nbsp;
+ :::column-end:::
+ :::column span=""::: :::image type="icon" source="../assets/images/apps-in-meetings/app-extensibility/3-create-scene.png" border="false" link="teams-together-mode.md":::
Meetings enable collaboration, partnership, informed communication, and shared f
<br><br><br><br> :::image type="icon" source="../assets/images/apps-in-meetings/app-extensibility/7-fetch-participant.png" border="false" link="meeting-apps-apis.md#get-participant-api"::: :::column-end:::+ :::column span="2"::: :::image type="icon" source="../assets/images/apps-in-meetings/app-extensibility/0-app-extensibility.png" border="false"::: :::column-end:::+ :::column span=""::: :::image type="icon" source="../assets/images/apps-in-meetings/app-extensibility/4-meeting-lifecycle.png" border="false" link="#meeting-lifecycle"::: <br><br><br><br>
Meetings enable collaboration, partnership, informed communication, and shared f
<br><br><br><br><br> :::image type="icon" source="../assets/images/apps-in-meetings/app-extensibility/8-optimize-meeting.png" border="false" link="teams-apps-in-meetings.md"::: :::column-end:::+
+ :::column span="":::
+ &nbsp;
+ :::column-end:::
:::row-end::: :::row::: :::column span="":::
Meetings enable collaboration, partnership, informed communication, and shared f
&nbsp; :::column-end::: :::row-end:::-
+-->
You must be familiar with the following product concepts to create custom meeting experiences with apps in Microsoft Teams.
platform Registering Calling Bot https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/calls-and-meetings/registering-calling-bot.md
You can rely on an administrator to grant the permissions your app needs at the
## Code sample
-| **Sample name** | **Description** | **C#** |
+| **Sample name** | **Description** | **.NET** |
||-|--| | Calling and meeting bot | The sample app demonstrates how Bot can create call, join meeting and transfer call. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-calling-meeting/csharp) | | Realtime meeting events |The sample app demonstrates how Bot can receive real-time meeting events.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-events/csharp)|
platform Bot Sso Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/authentication/bot-sso-overview.md
ms.localizationpriority: high
With Single sign-on (SSO) in Teams, app users have the advantage of using Teams to access bot or message extension apps. After logging into Teams using Microsoft or Microsoft 365 account, app users can use your app without needing to sign in again. Your app is available to app users on any device with access granted through Azure Active Directory (AD).
+> [!NOTE]
+> SSO for a bot app in Teams is supported only in one-on-one chat.
+ This section covers SSO configuration required for bot and messaging extension apps. ## SSO user experience in Teams
platform Bots Filesv4 https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/bots-filesv4.md
private async Task SendFileCardAsync(ITurnContext turnContext, string filename,
The following code sample demonstrates how to obtain file consent and upload files to Teams from a bot:
-|**Sample name** | **Description** | **.NET** | **Javascript** | **Python**|
+|**Sample name** | **Description** | **.NET** | **Node.js** | **Python**|
|-|--|--|-|--| | File upload | Demonstrates how to obtain file consent and upload files to Teams from a bot. Also, how to receive a file sent to a bot. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-file-upload/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-file-upload/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-file-upload/python) |
platform Channel Messages With Rsc https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/channel-messages-with-rsc.md
The following steps guide you to sideload and validate bot that receives all cha
The following code provides an example of the RSC permissions: # [C#](#tab/dotnet)+ * [SDK reference](/dotnet/api/microsoft.bot.builder.activityhandler.onmessageactivityasync?view=botbuilder-dotnet-stable&preserve-view=true) * [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/meetings-token-app/csharp/Bots/TokenBot.cs#L52)
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivi
``` # [Node.js](#tab/nodejs)+ * [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onmessage&preserve-view=true) * [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/app-localization/nodejs/server/bot/botActivityHandler.js#L25)
this.onMessage(async (context, next) => {
## Code sample
-| Sample name | Description | C# |Node.js|
+| Sample name | Description | .NET |Node.js|
|-|-||-| |Channel messages with RSC permissions| Microsoft Teams sample app demonstrating on how a bot can receive all channel messages with RSC without being @mentioned.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-receive-channel-messages-withRSC/csharp) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-receive-channel-messages-withRSC/nodejs) |
platform What Are Bots https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/what-are-bots.md
You can add single sign-on authentication to your conversation bot using the fol
## Code samples
-|Sample name | Description | C# | Node.js |
+|Sample name | Description |.NET | Node.js |
|-|--|--|--| | Bot daily task reminder| Demonstrate how to schedule a recurring task and get a reminder at a scheduled time. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-daily-task-reminder/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-daily-task-reminder/nodejs) | | Hello World Bot | This is a simple hello world application with both Bot and Message extension capabilities. | NA | [View](https://github.com/OfficeDev/TeamsFx-Samples/tree/v1.0.0/hello-world-bot) |
platform Deep Link Application https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/deep-link-application.md
The following table provides information on `APP_ID` and `BOT_APP_ID`:
## Code Sample
-| Sample name | Description | C# |Node.js|
+| Sample name | Description | .NET |Node.js|
|-|-||-| |Deep link consuming Subentity ID | Teams sample app for demonstrating deep link from bot chat to tab consuming Subentity ID.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-deeplink/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-deeplink/nodejs)|
platform Submission Checklist https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
The Microsoft Teams app validation tool helps you identify and fix issues before
## Compile testing instructions
-Provide instructions and resources to help the reviewers test your app, including:
+Depending on your app functionality, you're required to provide Teams tenant configurations, a set of test accounts, and test notes. Ensure that you meet all requirements listed in this section to avoid app testability failures and delay in the app publishing process.
-* Test accounts
-* Credentials
-* License keys
+1. **Tenant configurations**: You must configure a Teams tenant to test your app and provide test accounts. This section shares the details for configuring a tenant for your app's testing. For more information about creating a demo tenant, see [Prepare your Microsoft 365 tenant](../../../build-and-test/prepare-your-o365-tenant.md). Ensure your app is configured for this demo tenant. If applicable, safe-listing or connection to external services for this tenant should be done before submission of the app.
-You can add instructions in Partner Center or upload them to a publicly available location on SharePoint.
+2. **Test Accounts**: Depending on your app's features, you need to provide the following accounts:
-### Feature list
+ - Admin account (required)
+ - Non-admin accounts (required)
-Provide details about your app's capabilities in Teams and steps for testing each one.
+ - Ensure that test accounts are safe-listed or configured with license keys, if applicable.
+ - If your app requires users to log in or connect to external services, provide the required credentials to complete the login or connection with the external service.
+ - Ensure that phone-based 2-way authentication is disabled for test accounts.
+ - If the app provides a collaborative experience, provide a non-admin account for each user persona. For example, if your app is used by teachers and students, provide credentials for both user personas.
+ - Ensure that at least one account has access to premium or upgraded features, if applicable.
+ - All accounts you provide must include pre-populated data to help in testing. For example, if your app helps to provide market insights based on the user profile, ensure that market data is pre-populated along with a few user profiles.
+ - Provide at least one account that isn't pre-configured to test the first-run sign-in experience properly.
-### Accounts
+ > [!NOTE]
+ > These accounts must be utilized only for validation requirements. The validation team will test your app fully, including first-run user experience.
+ > If your app is free for all users and anyone who intends to use your app can sign up to use it, indicate the same in the test notes. The validation team will use the sign up process as described.
-Provide test accounts if your app requires a license or backend safe listing. All accounts you provide must include pre-populated data to help in testing.
+3. **Test Notes**: The notes provide details about your app's capabilities in Teams and the steps for testing each one. It helps the validation team to understand your app better and complete the testing for all functionalities in your app. If your app functionality includes event-based notifications, list the instructions to trigger these events. For time-based notifications, indicate the expected time for receiving these notifications.
-Depending on your app's features, you may need to provide all the following accounts:
+ > [!NOTE]
+ > The functional testing of the app is initiated based on the test notes you provide. However, the validation team won't restrict the testing only to the test instructions.
-* Admin account (required)
-* Non-admin account (required)
-* An account that isn't pre-configured to properly test the first-run sign-in experience (required)
-* An account with access to premium or upgraded features (if applicable)
-* Two accounts in the same tenant to test the collaboration experience for apps that work in shared contexts (if applicable)
+4. **Demo Video**: Provide a recording of your app so that Microsoft can fully understand its functionality.
-### Tenant configurations
+You can find the following [sample test instructions](https://github.com/MicrosoftDocs/msteams-docs/tree/19115f8bdd4be6a6c0c38a77651dd8d8c55c741b/msteams-platform/assets/sample-instructions) for your reference.
-If you must configure a Teams tenant to use your app, include those instructions and admin and non-admin accounts for validation.
-
-### Video (optional)
-
-Provide a recording of your app so that Microsoft can fully understand its functionality.
+- Sample 1: Educational app
+- Sample 2: ERP Data transfer
+- Sample 3: Collaborative app
## Create your store listing details
During submission, you're asked to categorize your app. You can categorize your
| Microsoft | | Education | | Productivity |
-| Images & video galleries |
+| Images and video galleries |
| Project management | | Utilities | | Social | | Communication | | Content management |
-| Files & documents |
-| Workflow & business management |
+| Files and documents |
+| Workflow and business management |
| IT/Admin |
-| Human resources & recruiting|
+| Human resources and recruiting|
| Developer tools |
-| Meetings & scheduling |
-| Data visualization & BI |
-| Training & tutorial |
-| News & weather |
+| Meetings and scheduling |
+| Data visualization and BI |
+| Training and tutorial |
+| News and weather |
| Customer support | | Reference |
-| Sales & marketing |
-| Look & feel |
-| Customer & contact management (CRM) |
+| Sales and marketing |
+| Look and feel |
+| Customer and contact management (CRM) |
| Financial management |
-| Maps & feeds |
+| Maps and feeds |
| Other | ### Localize your store listing
platform Location Capability https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/device-capabilities/location-capability.md
You must ensure to handle these errors appropriately in your Teams app. The foll
### Code sample
-|Sample name | Description | C# | Node.js |
+|Sample name | Description | .NET | Node.js |
|-|--|--|--| | App check-in current location | Users can check in the current location and view all the previous location check-ins.| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-checkin-location/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-checkin-location/nodejs) |
platform Fetch Id https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/meeting-transcripts/fetch-id.md
After your app obtains the meeting ID and the organizer ID, it triggers the Grap
You can try the following code sample for a bot app:
-| **Sample name** | **Description** | **C#** | **Node.js** |
+| **Sample name** | **Description** | **.NET** | **Node.js** |
|-|--|--|--|--| | Meeting transcription | This is a sample application which demonstrates how to get Transcript using Graph API and show it in the task module. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-transcription/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-transcription/nodejs) |
platform Resource Specific Consent https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/rsc/resource-specific-consent.md
For more information on how to get details of apps installed in a specific chat,
* [Test resource-specific consent permissions in Teams](test-resource-specific-consent.md) * [Resource-specific consent in Microsoft Teams for admins](/MicrosoftTeams/resource-specific-consent)
-* [Resource-specific consent](resource-specific-consent.md)
platform Teams Bot Samples https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/includes/bots/teams-bot-samples.md
For complete working samples demonstrating the functionality, see the following Teams samples for Bot Framework:
-| **Sample** | **Description** | **.NET** | **JavaScript** | **Python** |
+| **Sample** | **Description** | **.NET** | **Node.js* | **Python** |
|--|- |||| | Teams conversation bot | Messaging and conversation event handling. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-conversation/csharp)| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-conversation/nodejs)| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-conversation/python) | | Authentication with OAuthPrompt| Authentication and basic messaging in Bot Framework v4. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/csharp)| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-conversation-sso-quickstart/js)| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/python) |
platform Msgex Sso Code https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/includes/messaging-extensions/msgex-sso-code.md
To update your app's code:
1. Add code snippet for `TeamsSSOTokenExchangeMiddleware`.
- # [csharp](#tab/cs1)
+ # [csharp](#tab/cs1)
Add the following code snippet to `AdapterWithErrorHandler.cs` (or the equivalent class in your app's code):
To update your app's code:
base.Use(new TeamsSSOTokenExchangeMiddleware(storage, configuration["ConnectionName"])); ```
- # [JavaScript](#tab/js1)
-
+ # [JavaScript](#tab/js1)
+ Add the following code snippet to `index.js` (or the equivalent class in your app's code):
-
+ ```JavaScript const {TeamsSSOTokenExchangeMiddleware} = require('botbuilder'); const tokenExchangeMiddleware = new TeamsSSOTokenExchangeMiddleware(memoryStorage, env.connectionName); adapter.use(tokenExchangeMiddleware); ```
-
+ >[!NOTE]
To update your app's code:
1. Use the following code snippet for requesting a token.
- # [csharp](#tab/cs2)
+ # [csharp](#tab/cs2)
After you add the `AdapterWithErrorHandler.cs`, your code should be as shown below:
To update your app's code:
} ```
- # [JavaScript](#tab/js2)
-
+ # [JavaScript](#tab/js2)
+ After you add the code to `index.js`, your code should be as shown below: ```JavaScript
async loginStep(stepContext) {
return await stepContext.endDialog(); } ```+ > [!NOTE]
Use the following code snippet to handle the access token in case the app user l
This section provides bot authentication v3 SDK sample. -
-| **Sample name** | **Description** | **C#** | **Node.js** | **Python** |
+| **Sample name** | **Description** | **.NET** | **Node.js** | **Python** |
||||-|| | Bot authentication | This sample shows how to get started with authentication in a bot for Teams. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-conversation-sso-quickstart/js) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/python) | | Tab, bot, and Message extension (ME) SSO | This sample shows SSO for tab, bot, and message extension - search, action, link unfurl. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-sso/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-sso/nodejs) | NA |
platform Virtual Assistant https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/virtual-assistant.md
You can also leverage existing skills from [Bot Framework Solutions repository](
## Code sample
-| **Sample name** | **Description** | **C#** **.NET** |
+| **Sample name** | **Description** |**.NET** |
|-|--|| | Updated visual studio template | Customized template to support teams capabilities. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-virtual-assistant/csharp) | | Book-a-room bot skill code | Lets you quickly find and book a meeting room on the go. | [View](https://github.com/OfficeDev/microsoft-teams-apps-bookaroom/tree/nebhagat/microsoft-teams-apps-bookaroom-skill) |
platform Auth Flow Tab https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/authentication/auth-flow-tab.md
Although the tab context provides helpful information regarding the user, don't
Sample code showing the tab authentication process:
-| **Sample name** | **Description** | **C#** | **Node.js** |
+| **Sample name** | **Description** | **.NET** | **Node.js** |
|--|--|-|| | App complete authentication | The sample demos authentication in a bot, tab, and messaging extension with Single sign-on (SSO) and in Facebook using a username and password | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-complete-auth/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-complete-auth/nodejs) |
platform Tab Sso Code https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/authentication/tab-sso-code.md
The following is a typical decoded payload of an access token.
## Code samples
-| Sample name | Description | C#/.NET| Node.js |
+| Sample name | Description | .NET| Node.js |
||||--| | Tab SSO |Microsoft Teams sample app for tabs Azure AD SSO| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-sso/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/tab-sso/nodejs), </br>[Teams Toolkit](../../../toolkit/visual-studio-code-tab-sso.md)| | Tab, Bot and Message Extension (ME) SSO | This sample shows SSO for Tab, Bot and ME - search, action, linkunfurl. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-sso/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-sso/nodejs) |
platform Conversational Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/conversational-tabs.md
You can also listen for an event when the users selects **Close (X)** in the con
## Code sample
-| Sample name | Description | C# |Node.js|
+| Sample name | Description | .NET |Node.js|
|-|-||-| |Create Conversational tab| Microsoft Teams tab sample app for demonstrating create conversation tab. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-conversations/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-conversations/nodejs) |
platform Tabs Link Unfurling https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/tabs-link-unfurling.md
Encoded
## Code sample
-| Sample name | Description | C# |Node.js|
+| Sample name | Description | .NET |Node.js|
|-|-||-| |Tab in stage view |Microsoft Teams tab sample app for demonstrating tab in stage view.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-stage-view/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-stage-view/nodejs)|
platform Sequential Workflows https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/cards/Universal-actions-for-adaptive-cards/Sequential-Workflows.md
var adaptiveCardResponse = JObject.FromObject(new
## Code samples
-|Sample name | Description | .NETCore | Node.js |
+|Sample name | Description | .NET | Node.js |
|-|--|--|--| | Teams catering bot | Create a bot that accepts food order using Adaptive Cards. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-catering/csharp)| NA | | Sequential Workflows Adaptive Cards | Demonstrate how to implement Sequential Workflows, User Specific Views, and up to date Adaptive Cards in bots. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-sequential-flow-adaptive-cards/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-sequential-flow-adaptive-cards/nodejs) |
platform Up To Date Views https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/cards/Universal-actions-for-adaptive-cards/Up-To-Date-Views.md
The following code provides an example of Adaptive Cards sent as response of `ad
## Code sample
-|Sample name | Description | .NETCore | Node.js |
+|Sample name | Description | .NET | Node.js |
|-|--|--|--| | Sequential Workflows Adaptive Cards | Demonstrate how to implement Sequential Workflows, User Specific Views, and up to date Adaptive Cards in bots. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-sequential-flow-adaptive-cards/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-sequential-flow-adaptive-cards/nodejs) |
platform User Specific Views https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/cards/Universal-actions-for-adaptive-cards/User-Specific-Views.md
The following list provides card design guidelines for User Specific Views:
## Code sample
-|Sample name | Description | .NETCore | Node.js |
+|Sample name | Description | .NET | Node.js |
|-|--|--|--| | Sequential Workflows Adaptive Cards | Demonstrate how to implement Sequential Workflows, User Specific Views, and up to date Adaptive Cards in bots. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-sequential-flow-adaptive-cards/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-sequential-flow-adaptive-cards/nodejs) |
platform Work With Universal Actions For Adaptive Cards https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/cards/Universal-actions-for-adaptive-cards/Work-with-Universal-Actions-for-Adaptive-Cards.md
For more information, see [backward compatibility on Teams](/adaptive-cards/auth
## Code samples
-|Sample name | Description | .NETCore | Node.js |
+|Sample name | Description | .NET | Node.js |
|-|--|--|--| | Teams catering bot | Create a bot that accepts food order using Adaptive Cards. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-catering/csharp)| NA | | Sequential Workflows Adaptive Cards | Demonstrate how to implement Sequential Workflows, User Specific Views, and up to date Adaptive Cards in bots. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-sequential-flow-adaptive-cards/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-sequential-flow-adaptive-cards/nodejs) |
platform Cards Actions https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/cards/cards-actions.md
The following code shows an example of Adaptive Cards with `invoke` action with
## Code samples
-|S.no|Card| description|.NET|JavaScript|Python|Java|
+|S.no|Card| description|.NET|Node.js|Python|Java|
|:--|:--|:--|--||--|-| |1|Using cards|Introduces all card types including thumbnail, audio, media etc. Builds on Welcoming user + multi-prompt bot by presenting a card with buttons in welcome message that route to appropriate dialog.|[View](https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/csharp_dotnetcore/06.using-cards)|[View](https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/javascript_nodejs/06.using-cards)|[View](https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/python/06.using-cards)|[View](https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/java_springboot/06.using-cards)| |2|Adaptive cards|Demonstrates how the multi-turn dialog can use a card to get user input for name and age.|[View](https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/csharp_dotnetcore/07.using-adaptive-cards)|[View](https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/javascript_nodejs/07.using-adaptive-cards)|[View](https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/python/07.using-adaptive-cards)|[View](https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/java_springboot/07.using-adaptive-cards)|
platform Dynamic Search https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/cards/dynamic-search.md
protected override async Task<InvokeResponse> OnInvokeActivityAsync(ITurnContext
## Code sample
-|**Sample name** | **Description** | **C#** | **Node.js** |
+|**Sample name** | **Description** | **.NET** | **Node.js** |
|-|--|--|-| | Typeahead search control on Adaptive Cards | The sample shows the features of static and dynamic typeahead search control in Adaptive Cards. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-type-ahead-search-adaptive-cards/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-type-ahead-search-adaptive-cards/nodejs) |
platform People Picker https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/cards/people-picker.md
You can implement People Picker for efficient task management in different scena
## Code sample
-| Sample Name | Description | C# | Node.js |
+| Sample Name | Description | .NET | Node.js |
|:|:--|:|:--| |People picker control in Adaptive Cards| This sample demonstrates how to use the people picker control in Adaptive Cards.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-people-picker-adaptive-card/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-people-picker-adaptive-card/nodejs) |
platform Add Incoming Webhook https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/webhooks-and-connectors/how-to/add-incoming-webhook.md
To remove an Incoming Webhook from a Teams channel, follow these steps:
## Code sample
-| Sample Name | Description | C# | Node.js |
+| Sample Name | Description | .NET | Node.js |
|:|:--|:|:--| |Incoming Webhook|This sample code demonstrates how to send card using Incoming Webhook. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/incoming-webhook/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/incoming-webhook/nodejs) |