From 9728f98621f10f756f2b2dbade9c804bfbc3f9d2 Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Fri, 19 Jun 2026 11:15:25 +0530 Subject: [PATCH 01/13] Update Archived samples links --- .../authentication/add-authentication.md | 28 +++++++++---------- .../how-to/connectors-creating.md | 4 +-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/msteams-platform/bots/how-to/authentication/add-authentication.md b/msteams-platform/bots/how-to/authentication/add-authentication.md index 6a4bd2bab3d..0966b476935 100644 --- a/msteams-platform/bots/how-to/authentication/add-authentication.md +++ b/msteams-platform/bots/how-to/authentication/add-authentication.md @@ -3,7 +3,7 @@ title: OAuth 2.0 Bot Authentication with Azure description: Learn how to enable authentication using third-party provider to a bot app in Teams using Entra ID. Learn to create and register bot resource group and service plan. ms.topic: how-to ms.localizationpriority: high -ms.date: 03/16/2026 +ms.date: 06/19/2026 --- # Add authentication to your Teams bot @@ -296,7 +296,7 @@ With the preliminary settings done, let's focus on the creation of the bot to us Depending on the characters in your bot secret, you might need to XML escape the password. For example, any ampersands (&) must be encoded as `&`. - [!code-json[appsettings](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/csharp/appsettings.json?range=1-5)] + [!code-json[appsettings](~/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/csharp/appsettings.json?range=1-5)] 1. In the Solution Explorer, go to the `TeamsAppManifest` folder, open `manifest.json` and set `id` and `botId` to the **bot App ID** you saved at the time of the bot registration. For more information, see [app manifest](/microsoft-365/extensibility/schema/root-bots#botid). @@ -334,7 +334,7 @@ With the preliminary settings done, let's focus on the creation of the bot to us Depending on the characters in your bot secret, you might need to XML escape the password. For example, any ampersands (&) must be encoded as `&`. - [!code-python[config](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/config.py?range=14-16)] + [!code-python[config](~/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/python/config.py?range=14-16)] > [!div class="nextstepaction"] > [I ran into an issue](https://github.com/MicrosoftDocs/msteams-docs/issues/new?template=Doc-Feedback.yaml&title=%5BI+ran+into+an+issue%5D+Prepare+the+bot+sample+code+using+Python&&author=%40surbhigupta&pageUrl=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication%3Ftabs%3Dpython%252Cdotnet-sample%23prepare-the-bot-sample-code&contentSourceUrl=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmsteams-docs%2Fblob%2Fmain%2Fmsteams-platform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication.md&documentVersionIndependentId=70952f91-56e9-ff08-59f6-e237d4aaeca9&platformId=cc53b20b-69e0-cb70-1ca7-9b939c969c92&metadata=*%2BID%253A%2Be473e1f3-69f5-bcfa-bcab-54b098b59c80%2B%250A*%2BService%253A%2B%2A%2Amsteams%2A%2A) @@ -593,13 +593,13 @@ An **Invoke Activity** is sent to the bot rather than the Event Activity used by **Bots/DialogBot.cs** -[!code-csharp[ActivityHandler](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/csharp/Bots/DialogBot.cs?range=19-51)] +[!code-csharp[ActivityHandler](~/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/csharp/Bots/DialogBot.cs?range=19-51)] **Bots/TeamsBot.cs** The *Invoke Activity* must be forwarded to the dialog if the **OAuthPrompt** is used. -[!code-csharp[ActivityHandler](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/csharp/Bots/TeamsBot.cs?range=34-42)] +[!code-csharp[ActivityHandler](~/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/csharp/Bots/TeamsBot.cs?range=34-42)] #### TeamsActivityHandler.cs @@ -662,27 +662,27 @@ Within the following dialog step, check for the presence of a token in the resul **bots/dialog_bot.py** -[!code-python[ActivityHandler](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/bots/dialog_bot.py?range=10-42)] +[!code-python[ActivityHandler](~/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/python/bots/dialog_bot.py?range=10-42)] **bots/teams_bot.py** The *Invoke Activity* must be forwarded to the dialog if the **OAuthPrompt** is used. -[!code-python[on_token_response_event](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/bots/teams_bot.py?range=38-45)] +[!code-python[on_token_response_event](~/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/python/bots/teams_bot.py?range=38-45)] **dialogs/main_dialog.py** Within a dialog step, use `begin_dialog` to start the OAuth prompt, which asks the user to sign in. If the user is already signed in, it generates a token response event, without prompting the user. Otherwise, it prompts the user to sign in. The Azure Bot Service sends the token response event after the user attempts to sign in. -[!code-python[Add OAuthPrompt](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/dialogs/main_dialog.py?range=48-49)] +[!code-python[Add OAuthPrompt](~/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/python/dialogs/main_dialog.py?range=48-49)] Within the following dialog step, check for the presence of a token in the result from the previous step. If it isn't null, then the user successfully signed in. -[!code-python[Add OAuthPrompt](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/dialogs/main_dialog.py?range=51-61)] +[!code-python[Add OAuthPrompt](~/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/python/dialogs/main_dialog.py?range=51-61)] **dialogs/logout_dialog.py** -[!code-python[allow logout](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/dialogs/logout_dialog.py?range=29-36&highlight=6)] +[!code-python[allow logout](~/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/python/dialogs/logout_dialog.py?range=29-36&highlight=6)] > [!div class="nextstepaction"] > [I ran into an issue](https://github.com/MicrosoftDocs/msteams-docs/issues/new?template=Doc-Feedback.yaml&title=%5BI+ran+into+an+issue%5D+Handling+Invoke+Activity+using+Python&&author=%40surbhigupta&pageUrl=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication%3Ftabs%3Ddotnet%252Cpython-sample%23handling-invoke-activity&contentSourceUrl=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmsteams-docs%2Fblob%2Fmain%2Fmsteams-platform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication.md&documentVersionIndependentId=70952f91-56e9-ff08-59f6-e237d4aaeca9&platformId=cc53b20b-69e0-cb70-1ca7-9b939c969c92&metadata=*%2BID%253A%2Be473e1f3-69f5-bcfa-bcab-54b098b59c80%2B%250A*%2BService%253A%2B%2A%2Amsteams%2A%2A) @@ -695,7 +695,7 @@ This section provides Bot authentication v3 SDK sample. | **Sample name** | **Description** | **.NET** | **Node.js** | **Python** | **Manifest**| |---------------|------------|------------|-------------|---------------|---------------| -| Bot authentication | This sample app demonstrates how a bot can use Teams authentication. | [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-teams-authentication/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/csharp/demo-manifest/bot-teams-authentication.zip) +| Bot authentication | This sample app demonstrates how a bot can use Teams authentication. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-teams-authentication/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-teams-authentication/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-teams-authentication/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-teams-authentication/csharp/demo-manifest/bot-teams-authentication.zip) | Tab, Bot, and Message Extension (ME) SSO | This sample app demonstrates Teams SSO integration for tabs, bots, and message extensions, using C# and Microsoft Entra ID for secure authentication. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsJS/app-sso/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsJS/app-sso/nodejs) | NA | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsJS/app-sso/csharp/demo-manifest/App-SSO.zip) ## See also @@ -712,8 +712,8 @@ This section provides Bot authentication v3 SDK sample. [concept-dialogs]: /azure/bot-service/bot-builder-concept-dialog?view=azure-bot-service-4.0&preserve-view=true [simple-dialog]: /azure/bot-service/bot-builder-dialog-manage-conversation-flow?view=azure-bot-service-4.0&preserve-view=true -[teams-auth-bot-cs]: https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/csharp +[teams-auth-bot-cs]: https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-teams-authentication/csharp -[teams-auth-bot-py]: https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/python +[teams-auth-bot-py]: https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-teams-authentication/python -[teams-auth-bot-js]: https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/nodejs +[teams-auth-bot-js]: https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-teams-authentication/nodejs diff --git a/msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md b/msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md index fc9eccd0c69..2c1b6982049 100644 --- a/msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md +++ b/msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md @@ -5,7 +5,7 @@ description: Learn to create connectors for Microsoft 365 Groups with .NET, Node ms.localizationpriority: medium ms.topic: article ms.owner: hantony -ms.date: 04/16/2023 +ms.date: 06/18/2026 --- # Create connectors for Microsoft 365 Groups @@ -240,7 +240,7 @@ The following table provides the sample name and its description: |**Sample name** | **Description** | **.NET** | **Node.js** | |----------------|------------------|--------|----------------| -| Connector TODO notification |This sample shows a connector for Microsoft 365 Groups, which generates and sends notifications for Teams channel.| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/connector-todo-notification/csharp)| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/connector-todo-notification/nodejs)| +| Connector TODO notification |This sample shows a connector for Microsoft 365 Groups, which generates and sends notifications for Teams channel.| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/connector-todo-notification/csharp)| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/connector-todo-notification/nodejs)| | Generic connectors sample |This sample shows a generic connector that is easy to customize for any system that supports webhooks.| NA| [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/connector-generic/nodejs)| ## See also From 3f87578f8b6adc9d19751e12a3503e774e21e630 Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Fri, 19 Jun 2026 16:30:45 +0530 Subject: [PATCH 02/13] Updated Archived samples links --- .../apps-in-teams-meetings/meeting-apps-apis.md | 6 +++--- msteams-platform/bots/build-conversational-capability.md | 6 +++--- .../bots/how-to/conversations/send-proactive-messages.md | 4 ++-- .../graph-proactive-bots-and-messages.md | 4 ++-- .../includes/messaging-extensions/learn-more.md | 2 +- .../includes/messaging-extensions/msgex-sso-code.md | 5 +++-- .../how-to/action-commands/create-task-module.md | 6 +++--- .../how-to/action-commands/define-action-command.md | 8 ++++---- .../action-commands/respond-to-task-module-submit.md | 6 +++--- .../messaging-extensions/what-are-messaging-extensions.md | 6 +++--- 10 files changed, 27 insertions(+), 26 deletions(-) diff --git a/msteams-platform/apps-in-teams-meetings/meeting-apps-apis.md b/msteams-platform/apps-in-teams-meetings/meeting-apps-apis.md index a948894b0ad..8808749eed3 100644 --- a/msteams-platform/apps-in-teams-meetings/meeting-apps-apis.md +++ b/msteams-platform/apps-in-teams-meetings/meeting-apps-apis.md @@ -3,9 +3,9 @@ title: Enhance Meeting Experience with APIs description: Learn meeting apps API references that are available for Teams client and Bot Framework SDKs with examples, code samples, and response codes. ms.topic: article ms.localizationpriority: medium -ms.author: vikasalmal +ms.author: nickwalk ms.owner: kanchankaur -ms.date: 03/16/2026 +ms.date: 06/19/2026 --- # Meeting apps APIs @@ -1081,7 +1081,7 @@ The following table lists the query parameter: # [C#](#tab/dotnet) * [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsinfo.getmeetinginfoasync?view=botbuilder-dotnet-stable&preserve-view=true) -* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/graph-meeting-notification/csharp/MeetingNotification/Bots/MeetingNotificationBot.cs#L56) +* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/graph-meeting-notification/csharp/MeetingNotification/Bots/MeetingNotificationBot.cs#L56) ```csharp // Gets the information for the given meeting id. diff --git a/msteams-platform/bots/build-conversational-capability.md b/msteams-platform/bots/build-conversational-capability.md index a463b6e3e40..8e79cead6b0 100644 --- a/msteams-platform/bots/build-conversational-capability.md +++ b/msteams-platform/bots/build-conversational-capability.md @@ -5,7 +5,7 @@ ms.topic: article ms.localizationpriority: medium ms.author: vikasalmal ms.owner: angovil -ms.date: 03/16/2025 +ms.date: 06/19/2026 --- # Send and receive messages @@ -454,7 +454,7 @@ The following code shows an example of sending a message when a user is added to - [SDK reference](/dotnet/api/microsoft.bot.builder.turncontext.sendactivityasync?view=botbuilder-dotnet-stable&preserve-view=true#microsoft-bot-builder-turncontext-sendactivityasync(microsoft-bot-schema-iactivity-system-threading-cancellationtoken)) -- [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-teams-authentication/csharp/Bots/TeamsBot.cs#L29) +- [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/bot-teams-authentication/csharp/Bots/TeamsBot.cs#L29) ```csharp @@ -492,7 +492,7 @@ protected override async Task OnMembersAddedAsync(IList membersA # [Python](#tab/python2) - [SDK reference](/python/api/botbuilder-core/botbuilder.core.turncontext?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-turncontext-send-activity) -- [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-teams-authentication/python/bots/auth_bot.py#L33) +- [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/bot-teams-authentication/python/bots/auth_bot.py#L33) ```python diff --git a/msteams-platform/bots/how-to/conversations/send-proactive-messages.md b/msteams-platform/bots/how-to/conversations/send-proactive-messages.md index 7120a93cb70..2e004d907db 100644 --- a/msteams-platform/bots/how-to/conversations/send-proactive-messages.md +++ b/msteams-platform/bots/how-to/conversations/send-proactive-messages.md @@ -4,7 +4,7 @@ description: Learn how to send proactive messages with your Teams bot, install y ms.topic: article ms.owner: angovil ms.localizationpriority: high -ms.date: 04/23/2026 +ms.date: 06/19/2026 --- # Proactive messages @@ -239,7 +239,7 @@ The following code shows how to send proactive messages: # [C#](#tab/dotnet) * [SDK reference](/dotnet/api/microsoft.bot.builder.cloudadapterbase.continueconversationasync?view=botbuilder-dotnet-stable&preserve-view=true#microsoft-bot-builder-cloudadapterbase-continueconversationasync(system-string-microsoft-bot-schema-activity-microsoft-bot-builder-botcallbackhandler-system-threading-cancellationtoken)) -* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/graph-meeting-notification/csharp/MeetingNotification/Controllers/NotificationController.cs#L112) +* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/graph-meeting-notification/csharp/MeetingNotification/Controllers/NotificationController.cs#L112) ```csharp [Route("api/notify")] diff --git a/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md b/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md index 117805e55b3..d02363da591 100644 --- a/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md +++ b/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md @@ -5,7 +5,7 @@ ms.localizationpriority: medium author: akjo ms.topic: overview ms.owner: vishachadha -ms.date: 12/15/2022 +ms.date: 06/19/2026 --- # Send proactive installation messages @@ -193,7 +193,7 @@ The following code provides an example of sending proactive messages: * [SDK reference](/dotnet/api/microsoft.bot.builder.cloudadapterbase.continueconversationasync?view=botbuilder-dotnet-stable&preserve-view=true#microsoft-bot-builder-cloudadapterbase-continueconversationasync(system-string-microsoft-bot-schema-activity-microsoft-bot-builder-botcallbackhandler-system-threading-cancellationtoken)) -* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/graph-meeting-notification/csharp/MeetingNotification/Controllers/NotificationController.cs#L112) +* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/graph-meeting-notification/csharp/MeetingNotification/Controllers/NotificationController.cs#L112) ```csharp public async Task SendNotificationToAllUsersAsync(ITurnContext turnContext, CancellationToken cancellationToken) diff --git a/msteams-platform/includes/messaging-extensions/learn-more.md b/msteams-platform/includes/messaging-extensions/learn-more.md index f4743964359..937c46fa627 100644 --- a/msteams-platform/includes/messaging-extensions/learn-more.md +++ b/msteams-platform/includes/messaging-extensions/learn-more.md @@ -4,5 +4,5 @@ Try it out in a quickstart: | **Sample name** | **Description** | **.NET** | **Node.js** | **Python** | **Manifest** | |---------------|---------------|-----------|----------|----------|----------| - | Message extension with action-based commands |This sample demonstrates how to create action-based message extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/nodejs) | [View]( https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp/demo-manifest/msgext-action.zip)| + | Message extension with action-based commands |This sample demonstrates how to create action-based message extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/nodejs) | [View]( https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp/demo-manifest/msgext-action.zip)| | Message extension with search-based commands | This sample demonstrates how to create a C# message extension in Microsoft Teams that allows users to perform searches and retrieve results. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip)| diff --git a/msteams-platform/includes/messaging-extensions/msgex-sso-code.md b/msteams-platform/includes/messaging-extensions/msgex-sso-code.md index aab5f4f1d87..0e65c5ff78d 100644 --- a/msteams-platform/includes/messaging-extensions/msgex-sso-code.md +++ b/msteams-platform/includes/messaging-extensions/msgex-sso-code.md @@ -221,7 +221,6 @@ To update your app's code: > [!div class="nextstepaction"] > [I ran into an issue](https://github.com/MicrosoftDocs/msteams-docs/issues/new?template=Doc-Feedback.yaml&title=%5BI+ran+into+an+issue%5D+Add+code+to+request+a+token&&author=%40surbhigupta&pageUrl=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fhow-to%2Fauthentication%2Fbot-sso-code&contentSourceUrl=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmsteams-docs%2Fblob%2Fmain%2Fmsteams-platform%2Fbots%2Fhow-to%2Fauthentication%2Fbot-sso-code.md&documentVersionIndependentId=039ff5cc-7243-ce4b-527e-c152755eeb72&platformId=915789b2-9617-01bb-fb21-d6789a634ed8&metadata=*%2BID%253A%2Be473e1f3-69f5-bcfa-bcab-54b098b59c80%2B%250A*%2BService%253A%2B%2A%2Amsteams%2A%2A) - ### Consent dialog for getting access token If the app user is using your app for the first time, they're required to consent for SSO authentication. @@ -365,8 +364,10 @@ if(valueObject["authentication"] !=null) if(authenticationObject["token"] !=null) } ``` + > [!div class="nextstepaction"] > [I ran into an issue](https://github.com/MicrosoftDocs/msteams-docs/issues/new?template=Doc-Feedback.yaml&title=%5BI+ran+into+an+issue%5D+Add+code+to+receive+the+token&&author=%40surbhigupta&pageUrl=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fhow-to%2Fauthentication%2Fbot-sso-code%3Ftabs%3Dcs1%252Ccs2%252Ccs3%252Ccs4%252Ccs5%26pivots%3Dmex-app%23add-code-to-receive-the-token&contentSourceUrl=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmsteams-docs%2Fblob%2Fmain%2Fmsteams-platform%2Fbots%2Fhow-to%2Fauthentication%2Fbot-sso-code.md&documentVersionIndependentId=039ff5cc-7243-ce4b-527e-c152755eeb72&platformId=915789b2-9617-01bb-fb21-d6789a634ed8&metadata=*%2BID%253A%2Be473e1f3-69f5-bcfa-bcab-54b098b59c80%2B%250A*%2BService%253A%2B%2A%2Amsteams%2A%2A) +> ### Validate the access token Web APIs on your server must decode the access token and verify if it's sent from the client. @@ -597,6 +598,6 @@ This section provides bot authentication v3 SDK sample. | **Sample name** | **Description** | **.NET** | **Node.js** | **Python** | **Manifest** | |---------------|------------|------------|-------------|---------------|---------------| -| Bot authentication | This sample app demonstrate how an Bot can use Teams authentication. | [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) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/csharp/demo-manifest/bot-teams-authentication.zip)| +| Bot authentication | This sample app demonstrate how an Bot can use Teams authentication. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-teams-authentication/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-conversation-sso-quickstart/js) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-teams-authentication/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-teams-authentication/csharp/demo-manifest/bot-teams-authentication.zip)| | Tab, bot, and Message extension (ME) SSO | This sample app demonstrates Teams SSO integration for Tab, Bot, and Messaging Extension, using C# and Microsoft Entra ID for secure authentication. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsJS/app-sso/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsJS/app-sso/nodejs) | NA |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsJS/app-sso/csharp/demo-manifest/App-SSO.zip)| |Tab, bot, and Message extension | This sample showcases Microsoft Entra ID and Facebook authentication across bots, tabs, and messaging extensions in Microsoft Teams. | [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) | NA |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-complete-auth/csharp/demo-manifest/App-Complete-Auth.zip)| diff --git a/msteams-platform/messaging-extensions/how-to/action-commands/create-task-module.md b/msteams-platform/messaging-extensions/how-to/action-commands/create-task-module.md index f3134bb01d6..38d7106e623 100644 --- a/msteams-platform/messaging-extensions/how-to/action-commands/create-task-module.md +++ b/msteams-platform/messaging-extensions/how-to/action-commands/create-task-module.md @@ -3,9 +3,9 @@ title: Modal Dialogs in Message Extensions description: Learn to create and send dialogs (task modules). Handle the initial invoke action and respond with a dialog (task module) from an action message extension command. ms.localizationpriority: medium ms.topic: article -ms.author: anclear +ms.author: nickwalk ms.owner: ginobuzz -ms.date: 03/11/2025 +ms.date: 06/19/2026 --- # Create and send dialogs @@ -983,7 +983,7 @@ private static Attachment GetAdaptiveCardAttachmentFromFile(string fileName) | Sample name | Description | .NET | Node.js | Python | Manifest| |:---------------------|:--------------|:---------|:--------|:--------|:--------| -|Teams message extension action| This sample demonstrates how to create Action-Based Messaging Extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp/demo-manifest/msgext-action.zip) +|Teams message extension action| This sample demonstrates how to create Action-Based Messaging Extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp/demo-manifest/msgext-action.zip) |Message extension action preview| This sample app illustrates how to utilize action previews in Teams Messaging Extensions, allowing users to create cards from input in a Task Module. It showcases bot interactions that enhance user engagement by attributing messages to users. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/nodejs) |NA|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp/demo-manifest/msgext-action-preview.zip) | |Teams message extension search | This sample demonstrates how to create a Messaging Extension in Microsoft Teams that allows users to perform searches and retrieve results. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/python)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip) diff --git a/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md b/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md index 4199d84d75d..d0ec86a442e 100644 --- a/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md +++ b/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md @@ -3,9 +3,9 @@ title: Create Action Commands for App description: Learn to define message extension action commands with app manifest in Teams. Sample (.NET, Node.js), create dialog (task module), respond to dialog submit action. ms.localizationpriority: medium ms.topic: article -ms.author: anclear +ms.author: nickwalk ms.owner: ginobuzz -ms.date: 03/11/2025 +ms.date: 06/19/2026 --- # Define message extension action commands @@ -200,7 +200,7 @@ protected override Task OnTeamsMessagingExtens # [Node.js](#tab/nodejs) -[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-action/nodejs/bots/teamsMessagingExtensionsActionBot.js#L24-L61) +[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/msgext-action/nodejs/bots/teamsMessagingExtensionsActionBot.js#L24-L61) ```javascript // Invoked when a Messaging Extension Fetch activity is received from the connector. @@ -232,7 +232,7 @@ protected override Task OnTeamsMessagingExtens | Sample name | Description | .NET | Node.js | Manifest| |:---------------------|:--------------|:---------|:--------|:--------------| -|Teams message extension action| This sample demonstrates how to create action-based message extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp/demo-manifest/msgext-action.zip) | +|Teams message extension action| This sample demonstrates how to create action-based message extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/TeamsSDK/Archived/samples/msgext-action/csharp/demo-manifest/msgext-action.zip) | |Message extension action preview| This sample app illustrates how to utilize action previews in Teams message extensions, allowing users to create cards from input in a dialog. It showcases bot interactions that enhance user engagement by attributing messages to users. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp/demo-manifest/msgext-action-preview.zip) | ## Step-by-step guide diff --git a/msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md b/msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md index 614a7247b99..de816cc4927 100644 --- a/msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md +++ b/msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md @@ -3,9 +3,9 @@ title: Explore Responses to Action Commands description: Learn to respond to message extension action commands with Proactive message. Define and respond to search commands and display username on Adaptive Card headers. ms.localizationpriority: medium ms.topic: article -ms.author: anclear +ms.author: nickwalk ms.owner: ginobuzz -ms.date: 03/11/2025 +ms.date: 06/19/2026 --- # Respond to the dialog submit action @@ -626,7 +626,7 @@ The following section is a description of the entities in the `OnBehalfOf` Array | Sample name | Description | .NET | Node.js | Manifest| |:---------------------|:--------------|:---------|:--------|:--------| -|Teams message extension action| This sample demonstrates how to create action-based message extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp/demo-manifest/msgext-action.zip) +|Teams message extension action| This sample demonstrates how to create action-based message extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp/demo-manifest/msgext-action.zip) |Message extension action preview| This sample app illustrates how to utilize action previews in Teams message extensions, allowing users to create cards from input in a Task Module. It showcases bot interactions that enhance user engagement by attributing messages to users. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp/demo-manifest/msgext-action-preview.zip) | |Teams message extension search | This sample demonstrates how to create a message extension in Microsoft Teams that allows users to perform searches and retrieve results.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip) diff --git a/msteams-platform/messaging-extensions/what-are-messaging-extensions.md b/msteams-platform/messaging-extensions/what-are-messaging-extensions.md index 932f8963546..3794388a775 100644 --- a/msteams-platform/messaging-extensions/what-are-messaging-extensions.md +++ b/msteams-platform/messaging-extensions/what-are-messaging-extensions.md @@ -3,9 +3,9 @@ title: Message extensions description: Learn how to build message extensions and the scenarios where they are used. Explore samples on action and search based message extensions. ms.localizationpriority: medium ms.topic: overview -ms.author: anclear +ms.author: nickwalk ms.owner: slamba -ms.date: 01/23/2025 +ms.date: 06/19/2026 --- # Build message extensions @@ -142,7 +142,7 @@ The following table helps you select a message extension type to get started: | **Sample name** | **Description** | **.NET** | **Node.js** | **Python** | **Manifest**| |------------|-------------|----------------|------------|------------|------------| -| Message extension with action-based commands | This sample demonstrates how to create Action-Based Message Extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp/demo-manifest/msgext-action.zip) +| Message extension with action-based commands | This sample demonstrates how to create Action-Based Message Extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp/demo-manifest/msgext-action.zip) | Message extension with search-based commands | This sample demonstrates how to create a Message Extension in Microsoft Teams that allows users to perform searches and retrieve results. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip) |Message extension action preview| This sample app illustrates how to utilize action previews in Teams Message Extensions, allowing users to create cards from input in a Task Module. It showcases bot interactions that enhance user engagement by attributing messages to users. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/nodejs) |NA|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp/demo-manifest/msgext-action-preview.zip) | |Message extension action for task scheduling|This sample demonstrates a Message Extension that allows users to schedule tasks and receive reminder cards in Microsoft Teams.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-message-reminder/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-message-reminder/nodejs)| NA |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-message-reminder/csharp/demo-manifest/msgext-message-reminder.zip)| From 469f88934bd563746a3c7d6e418e1ffd9595358e Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Tue, 23 Jun 2026 08:47:44 +0530 Subject: [PATCH 03/13] Update links --- .../messaging-extensions/how-to/add-authentication.md | 6 +++--- .../messaging-extensions/how-to/link-unfurling.md | 4 ++-- .../how-to/search-commands/respond-to-search.md | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/msteams-platform/messaging-extensions/how-to/add-authentication.md b/msteams-platform/messaging-extensions/how-to/add-authentication.md index 2bbb39a4014..466b71ec2c1 100644 --- a/msteams-platform/messaging-extensions/how-to/add-authentication.md +++ b/msteams-platform/messaging-extensions/how-to/add-authentication.md @@ -3,8 +3,8 @@ title: Enable Third Party IdP Authentication description: Enable authentication in Teams message extension app using third-party provider with Microsoft Entra configuration and code sample. ms.localizationpriority: medium ms.topic: article -ms.author: anclear -ms.date: 03/11/2025 +ms.author: nickwalk +ms.date: 06/22/2026 --- # Add third party authentication to your message extension @@ -142,7 +142,7 @@ At this point, the window closes and the control is passed to the Teams client. |**Sample name** | **Description** |**.NET** | **Node.js**| **Manifest**| |----------------|-----------------|--------------|----------------|----------------| -|Message extensions - auth and config | This sample demonstrates how to implement authentication in a C# message extension for Microsoft Teams, enabling secure access and user-specific interactions. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-auth-config/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-sso-config/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-auth-config/csharp/demo-manifest/msgext-search-auth-config.zip)| +|Message extensions - auth and config | This sample demonstrates how to implement authentication in a C# message extension for Microsoft Teams, enabling secure access and user-specific interactions. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-auth-config/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-sso-config/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-auth-config/csharp/demo-manifest/msgext-search-auth-config.zip)| ## See also diff --git a/msteams-platform/messaging-extensions/how-to/link-unfurling.md b/msteams-platform/messaging-extensions/how-to/link-unfurling.md index 6064ec7f9a9..e2c97c95963 100644 --- a/msteams-platform/messaging-extensions/how-to/link-unfurling.md +++ b/msteams-platform/messaging-extensions/how-to/link-unfurling.md @@ -528,11 +528,11 @@ The following JSON payload example for `suggestedActions` property: |**Sample name** | **Description** | **.NET** | **Node.js**| **Manifest** |----------------|-----------------|--------------|----------------|----------------| -| Zero install link unfurling. | This sample demonstrates how to implement authentication in a message extension for Microsoft Teams, enabling secure access and user-specific interactions. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-auth-config/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-sso-config/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-search-auth-config/csharp/demo-manifest/msgext-search-auth-config.zip)| +| Zero install link unfurling. | This sample demonstrates how to implement authentication in a message extension for Microsoft Teams, enabling secure access and user-specific interactions. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-auth-config/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-sso-config/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/msgext-search-auth-config/csharp/demo-manifest/msgext-search-auth-config.zip)| ## See also * [Message extensions](../what-are-messaging-extensions.md) * [Adaptive Cards](../../task-modules-and-cards/what-are-cards.md#adaptive-cards) * [Tabs link unfurling and Stageview](../../tabs/tabs-link-unfurling.md) -* [Bot activity handlers](../../bots/bot-basics.md) \ No newline at end of file +* [Bot activity handlers](../../bots/bot-basics.md) diff --git a/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md b/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md index 73e7b468f37..027134253a2 100644 --- a/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md +++ b/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md @@ -2,8 +2,8 @@ title: Respond to Search Command in Teams description: Learn how to respond to the search command from a message extension in a Microsoft Teams app. Understand how to respond to the user request. ms.topic: article -ms.author: anclear -ms.date: 03/06/2025 +ms.author: nickwalk +ms.date: 06/23/2026 ms.localizationpriority: medium --- # Respond to search command @@ -602,7 +602,7 @@ The default query has the same structure as any regular user query, except it ha | Sample name | Description | .NET | Node.js | Manifest | |:---------------------|:--------------|:---------|:--------|:--------| | Teams message extension search | This sample demonstrates how to create a message extension in Teams that allows users searches for NuGet packages and retrieve the results as a card. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip) -|Teams message extension auth and config | This sample demonstrates how to implement authentication in a message extension for Teams, enabling secure access and user-specific interactions. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-auth-config/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-sso-config/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-auth-config/csharp/demo-manifest/msgext-search-auth-config.zip) +|Teams message extension auth and config | This sample demonstrates how to implement authentication in a message extension for Teams, enabling secure access and user-specific interactions. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-auth-config/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-sso-config/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-auth-config/csharp/demo-manifest/msgext-search-auth-config.zip) ## Next step From c6b125326b6d564d84ba7bd9e9b93ba55a2bf5d0 Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Thu, 25 Jun 2026 12:24:43 +0530 Subject: [PATCH 04/13] update links --- .../how-to/search-commands/define-search-command.md | 2 +- .../how-to/search-commands/respond-to-search.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md b/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md index 89ff80aa793..cfa11877a6e 100644 --- a/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md +++ b/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md @@ -171,7 +171,7 @@ protected override async Task OnTeamsMessagingExtens # [Node.js](#tab/nodejs) -[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-search-quickstart/js/botActivityHandler.js#L30-L53) +[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/msgext-search-quickstart/js/botActivityHandler.js#L30-L53) ```javascript async handleTeamsMessagingExtensionQuery(context, query) { diff --git a/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md b/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md index 027134253a2..4c54cf4921a 100644 --- a/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md +++ b/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md @@ -236,7 +236,7 @@ protected override async Task OnTeamsMessagingExtens # [TypeScript/Node.js](#tab/typescript2) -[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-search-quickstart/js/botActivityHandler.js#L35) +[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/msgext-search-quickstart/js/botActivityHandler.js#L35) ```typescript class TeamsMessagingExtensionsSearchBot extends TeamsActivityHandler { From 79f4891d3241dfc62eab124d38ff988935b3d397 Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Fri, 26 Jun 2026 10:43:21 +0530 Subject: [PATCH 05/13] Update TeamsFx-multi-env.md --- msteams-platform/toolkit/TeamsFx-multi-env.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/toolkit/TeamsFx-multi-env.md b/msteams-platform/toolkit/TeamsFx-multi-env.md index 621fb234a5b..b980a8a5b4f 100644 --- a/msteams-platform/toolkit/TeamsFx-multi-env.md +++ b/msteams-platform/toolkit/TeamsFx-multi-env.md @@ -2,7 +2,7 @@ title: TeamsFx Environments in Agents Toolkit description: Learn about TeamsFX multiple environment, use env files with Microsoft 365 Agents Toolkit, create a new environment manually in Visual Studio Code, and select target environment. ms.localizationpriority: medium -ms.topic: conceptual +ms.topic: article ms.date: 04/20/2026 --- From 324db25d6e1ab190fc56cc284b82a433ad435142 Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Mon, 29 Jun 2026 11:32:16 +0530 Subject: [PATCH 06/13] Update add-authentication.md --- .../bots/how-to/authentication/add-authentication.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/bots/how-to/authentication/add-authentication.md b/msteams-platform/bots/how-to/authentication/add-authentication.md index 0966b476935..128ecb96e9b 100644 --- a/msteams-platform/bots/how-to/authentication/add-authentication.md +++ b/msteams-platform/bots/how-to/authentication/add-authentication.md @@ -668,7 +668,7 @@ Within the following dialog step, check for the presence of a token in the resul The *Invoke Activity* must be forwarded to the dialog if the **OAuthPrompt** is used. -[!code-python[on_token_response_event](~/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/python/bots/teams_bot.py?range=38-45)] +[!code-python[on_token_response_event](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/bot-teams-authentication/python/bots/auth_bot.py)] **dialogs/main_dialog.py** From a116db98685d155c10c28515d5bb444b7de78ea9 Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Mon, 29 Jun 2026 11:48:11 +0530 Subject: [PATCH 07/13] Update add-authentication.md --- .../bots/how-to/authentication/add-authentication.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/bots/how-to/authentication/add-authentication.md b/msteams-platform/bots/how-to/authentication/add-authentication.md index 128ecb96e9b..5443a940c0c 100644 --- a/msteams-platform/bots/how-to/authentication/add-authentication.md +++ b/msteams-platform/bots/how-to/authentication/add-authentication.md @@ -668,7 +668,7 @@ Within the following dialog step, check for the presence of a token in the resul The *Invoke Activity* must be forwarded to the dialog if the **OAuthPrompt** is used. -[!code-python[on_token_response_event](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/bot-teams-authentication/python/bots/auth_bot.py)] +[!code-python[on_token_response_event](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/bot-teams-authentication/python/bots/auth_bot.py#L38-L45)] **dialogs/main_dialog.py** From 0bf14cb6c1065e6339957836dc14f9bab0ed96e0 Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Mon, 29 Jun 2026 12:19:18 +0530 Subject: [PATCH 08/13] Update add-authentication.md --- .../bots/how-to/authentication/add-authentication.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/bots/how-to/authentication/add-authentication.md b/msteams-platform/bots/how-to/authentication/add-authentication.md index 5443a940c0c..dcfeadc3564 100644 --- a/msteams-platform/bots/how-to/authentication/add-authentication.md +++ b/msteams-platform/bots/how-to/authentication/add-authentication.md @@ -668,7 +668,7 @@ Within the following dialog step, check for the presence of a token in the resul The *Invoke Activity* must be forwarded to the dialog if the **OAuthPrompt** is used. -[!code-python[on_token_response_event](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/bot-teams-authentication/python/bots/auth_bot.py#L38-L45)] +[!code-python[on_token_response_event]((/../Microsoft-Teams-Samples/samples/TeamsSDK/Archived/bot-teams-authentication/python/bots/teams_bot.py)] **dialogs/main_dialog.py** From d8bfed30ddc378d3aa5ecc88889f78ddf6578c8e Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Fri, 10 Jul 2026 16:47:34 +0530 Subject: [PATCH 09/13] Update from main --- .../bots/how-to/conversations/send-proactive-messages.md | 1 - .../graph-proactive-bots-and-messages.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/msteams-platform/bots/how-to/conversations/send-proactive-messages.md b/msteams-platform/bots/how-to/conversations/send-proactive-messages.md index 7147e43baad..5f0d1ad01b1 100644 --- a/msteams-platform/bots/how-to/conversations/send-proactive-messages.md +++ b/msteams-platform/bots/how-to/conversations/send-proactive-messages.md @@ -5,7 +5,6 @@ ms.topic: article ms.owner: nickwalk ms.localizationpriority: high ms.date: 06/30/2026 -ms.date: 06/19/2026 --- # Proactive messages diff --git a/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md b/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md index 620149d0761..2616b3955b4 100644 --- a/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md +++ b/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md @@ -6,7 +6,7 @@ author: nickwalk ms.topic: how-to ms.owner: vishachadha ms.date: 06/19/2026 -ms.date: 06/19/2026 + --- # Proactively install your bot for users using Microsoft Graph From 5e80c0b3b1db9ee9adda3e4eba7949da21ea08f2 Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Tue, 14 Jul 2026 08:36:07 +0530 Subject: [PATCH 10/13] Fixing all warnings and conflicts --- .../authentication/add-authentication.md | 135 +++--------------- .../search-commands/respond-to-search.md | 10 +- .../what-are-messaging-extensions.md | 5 +- 3 files changed, 29 insertions(+), 121 deletions(-) diff --git a/msteams-platform/bots/how-to/authentication/add-authentication.md b/msteams-platform/bots/how-to/authentication/add-authentication.md index 09402726464..afcd8d93180 100644 --- a/msteams-platform/bots/how-to/authentication/add-authentication.md +++ b/msteams-platform/bots/how-to/authentication/add-authentication.md @@ -297,8 +297,18 @@ With the preliminary settings done, let's focus on the creation of the bot to us - Set `ClientSecret` to the **client secret** you saved at the time of the bot registration. Depending on the characters in your bot secret, you might need to XML escape the password. For example, any ampersands (&) must be encoded as `&`. +Depending on the characters in your bot secret, you might need to XML escape the password. For example, any ampersands (&) must be encoded as `&`. - [!code-json[appsettings](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/csharp/appsettings.json?range=1-5)] + ```JSON + { + "Teams": { + "ClientId": "", + "ClientSecret": "", + "TenantId": "", + "ConnectionName": "" + } + } + ``` 1. In the Solution Explorer, go to the `appPackage` folder, open `manifest.json` and set `id` and `botId` to the **bot App ID** you saved at the time of the bot registration. For more information, see [app manifest](/microsoft-365/extensibility/schema/root-bots#botid). @@ -341,7 +351,12 @@ With the preliminary settings done, let's focus on the creation of the bot to us Depending on the characters in your bot secret, you might need to XML escape the password. For example, any ampersands (&) must be encoded as `&`. - [!code-python[config](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/config.py?range=14-16)] + ```Python + TENANT_ID= + CLIENT_ID= + CLIENT_SECRET= + CONNECTION_NAME= + ``` > [!div class="nextstepaction"] > [I ran into an issue](https://github.com/MicrosoftDocs/msteams-docs/issues/new?template=Doc-Feedback.yaml&title=%5BI+ran+into+an+issue%5D+Prepare+the+bot+sample+code+using+Python&&author=%40vikasalmal&pageUrl=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication%3Ftabs%3Dpython%252Cdotnet-sample%23prepare-the-bot-sample-code&contentSourceUrl=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmsteams-docs%2Fblob%2Fmain%2Fmsteams-platform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication.md&documentVersionIndependentId=70952f91-56e9-ff08-59f6-e237d4aaeca9&platformId=cc53b20b-69e0-cb70-1ca7-9b939c969c92&metadata=*%2BID%253A%2Be473e1f3-69f5-bcfa-bcab-54b098b59c80%2B%250A*%2BService%253A%2B%2A%2Amsteams%2A%2A) @@ -587,120 +602,15 @@ This manifest contains information needed by Teams to connect with the bot: With authentication, Teams behaves differently than other channels. > [!div class="nextstepaction"] -> [I ran into an issue](https://github.com/MicrosoftDocs/msteams-docs/issues/new?template=Doc-Feedback.yaml&title=%5BI+ran+into+an+issue%5D+TeamsAppManifest%2Fmanifest.json&&author=%40surbhigupta&pageUrl=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication%3Ftabs%3Ddotnet%252Cpython-sample%23teamsappmanifestmanifestjson&contentSourceUrl=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmsteams-docs%2Fblob%2Fmain%2Fmsteams-platform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication.md&documentVersionIndependentId=70952f91-56e9-ff08-59f6-e237d4aaeca9&platformId=cc53b20b-69e0-cb70-1ca7-9b939c969c92&metadata=*%2BID%253A%2Be473e1f3-69f5-bcfa-bcab-54b098b59c80%2B%250A*%2BService%253A%2B%2A%2Amsteams%2A%2A) - -### Handling Invoke Activity - -An **Invoke Activity** is sent to the bot rather than the Event Activity used by other channels, which is done by subclassing the **ActivityHandler**. - -# [C#/.NET](#tab/dotnet-sample) - -**Bots/DialogBot.cs** - -[!code-csharp[ActivityHandler](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/csharp/Bots/DialogBot.cs?range=19-51)] - -**Bots/TeamsBot.cs** - -The *Invoke Activity* must be forwarded to the dialog if the **OAuthPrompt** is used. - -[!code-csharp[ActivityHandler](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/csharp/Bots/TeamsBot.cs?range=34-42)] - -#### TeamsActivityHandler.cs - -```csharp - -protected virtual Task OnInvokeActivityAsync(ITurnContext turnContext, CancellationToken cancellationToken) -{ - switch (turnContext.Activity.Name) - { - case "signin/verifyState": - return OnSigninVerifyStateAsync(turnContext, cancellationToken); - - default: - return Task.CompletedTask; - } -} - -protected virtual Task OnSigninVerifyStateAsync(ITurnContext turnContext, CancellationToken cancellationToken) -{ - return Task.CompletedTask; -} -``` - -> [!div class="nextstepaction"] -> [I ran into an issue](https://github.com/MicrosoftDocs/msteams-docs/issues/new?template=Doc-Feedback.yaml&title=%5BI+ran+into+an+issue%5D+Handling+Invoke+Activity+using+C%23%2F.NET&&author=%40surbhigupta&pageUrl=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication%3Ftabs%3Ddotnet%252Cdotnet-sample%23handling-invoke-activity&contentSourceUrl=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmsteams-docs%2Fblob%2Fmain%2Fmsteams-platform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication.md&documentVersionIndependentId=70952f91-56e9-ff08-59f6-e237d4aaeca9&platformId=cc53b20b-69e0-cb70-1ca7-9b939c969c92&metadata=*%2BID%253A%2Be473e1f3-69f5-bcfa-bcab-54b098b59c80%2B%250A*%2BService%253A%2B%2A%2Amsteams%2A%2A) - -# [JavaScript](#tab/node-js-dialog-sample) - -**bots/dialogBot.js** - -[!code-javascript[ActivityHandler](~/../Microsoft-Teams-Samples/samples/bot-conversation-sso-quickstart/js/bots/dialogBot.js?range=4-46)] - -**bots/teamsBot.js** - -The *Invoke Activity* must be forwarded to the dialog if the **OAuthPrompt** is used. - -[!code-javascript[ActivityHandler](~/../Microsoft-Teams-Samples/samples/bot-conversation-sso-quickstart/js/bots/teamsBot.js?range=4-33)] - -**dialogs/mainDialog.js** - -Within a dialog step, use `beginDialog` to start the OAuth prompt, which asks the user to sign in. - -- If the user is already signed in, it generates a token response event, without prompting the user. -- Otherwise, it prompts the user to sign in. The Azure Bot Service sends the token response event after the user attempts to sign in. - -[!code-javascript[AddOAuthPrompt](~/../Microsoft-Teams-Samples/samples/bot-conversation-sso-quickstart/js/dialogs/mainDialog.js?range=50-52)] - -Within the following dialog step, check for the presence of a token in the result from the previous step. If it isn't null, then the user successfully signed in. - -[!code-javascript[AddOAuthPrompt](~/../Microsoft-Teams-Samples/samples/bot-conversation-sso-quickstart/js/dialogs/mainDialog.js?range=50-64)] - -**dialogs/logoutDialog.js** - -[!code-javascript[allow-logout](~/../Microsoft-Teams-Samples/samples/bot-conversation-sso-quickstart/js/dialogs/logoutDialog.js?range=31-42&highlight=7)] - -> [!div class="nextstepaction"] -> [I ran into an issue](https://github.com/MicrosoftDocs/msteams-docs/issues/new?template=Doc-Feedback.yaml&title=%5BI+ran+into+an+issue%5D+Handling+Invoke+Activity+using+JavaScript&&author=%40surbhigupta&pageUrl=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication%3Ftabs%3Ddotnet%252Cnode-js-dialog-sample%23handling-invoke-activity&contentSourceUrl=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmsteams-docs%2Fblob%2Fmain%2Fmsteams-platform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication.md&documentVersionIndependentId=70952f91-56e9-ff08-59f6-e237d4aaeca9&platformId=cc53b20b-69e0-cb70-1ca7-9b939c969c92&metadata=*%2BID%253A%2Be473e1f3-69f5-bcfa-bcab-54b098b59c80%2B%250A*%2BService%253A%2B%2A%2Amsteams%2A%2A) - -# [Python](#tab/python-sample) - -**bots/dialog_bot.py** - -[!code-python[ActivityHandler](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/bots/dialog_bot.py?range=10-42)] - -**bots/teams_bot.py** - -The *Invoke Activity* must be forwarded to the dialog if the **OAuthPrompt** is used. - -[!code-python[on_token_response_event](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/bots/teams_bot.py?range=38-45)] - -**dialogs/main_dialog.py** - -Within a dialog step, use `begin_dialog` to start the OAuth prompt, which asks the user to sign in. If the user is already signed in, it generates a token response event, without prompting the user. Otherwise, it prompts the user to sign in. The Azure Bot Service sends the token response event after the user attempts to sign in. - -[!code-python[Add OAuthPrompt](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/dialogs/main_dialog.py?range=48-49)] - -Within the following dialog step, check for the presence of a token in the result from the previous step. If it isn't null, then the user successfully signed in. - -[!code-python[Add OAuthPrompt](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/dialogs/main_dialog.py?range=51-61)] - -**dialogs/logout_dialog.py** - -[!code-python[allow logout](~/../Microsoft-Teams-Samples/samples/bot-teams-authentication/python/dialogs/logout_dialog.py?range=29-36&highlight=6)] - -> [!div class="nextstepaction"] -> [I ran into an issue](https://github.com/MicrosoftDocs/msteams-docs/issues/new?template=Doc-Feedback.yaml&title=%5BI+ran+into+an+issue%5D+Handling+Invoke+Activity+using+Python&&author=%40surbhigupta&pageUrl=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication%3Ftabs%3Ddotnet%252Cpython-sample%23handling-invoke-activity&contentSourceUrl=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmsteams-docs%2Fblob%2Fmain%2Fmsteams-platform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication.md&documentVersionIndependentId=70952f91-56e9-ff08-59f6-e237d4aaeca9&platformId=cc53b20b-69e0-cb70-1ca7-9b939c969c92&metadata=*%2BID%253A%2Be473e1f3-69f5-bcfa-bcab-54b098b59c80%2B%250A*%2BService%253A%2B%2A%2Amsteams%2A%2A) - ---- +> [I ran into an issue](https://github.com/MicrosoftDocs/msteams-docs/issues/new?template=Doc-Feedback.yaml&title=%5BI+ran+into+an+issue%5D+appPackage%2Fmanifest.json&&author=%40vikasalmal&pageUrl=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication%3Ftabs%3Ddotnet%252Cpython-sample%23apppackagemanifestjson&contentSourceUrl=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fmsteams-docs%2Fblob%2Fmain%2Fmsteams-platform%2Fbots%2Fhow-to%2Fauthentication%2Fadd-authentication.md&documentVersionIndependentId=70952f91-56e9-ff08-59f6-e237d4aaeca9&platformId=cc53b20b-69e0-cb70-1ca7-9b939c969c92&metadata=*%2BID%253A%2Be473e1f3-69f5-bcfa-bcab-54b098b59c80%2B%250A*%2BService%253A%2B%2A%2Amsteams%2A%2A) ## Code sample This sample demonstrates how to implement Single Sign-On (SSO) authentication for Microsoft Teams bots using Azure Active Directory. -| **Sample name** | **Description** | **.NET** | **Node.js** | **Python** | **Manifest**| -|---------------|------------|------------|-------------|---------------|---------------| -| Bot authentication | This sample app demonstrates how a bot can use Teams authentication. | [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-teams-authentication/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-teams-authentication/csharp/demo-manifest/bot-teams-authentication.zip) -| Tab, Bot, and Message Extension (ME) SSO | This sample app demonstrates Teams SSO integration for tabs, bots, and message extensions, using C# and Microsoft Entra ID for secure authentication. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsJS/app-sso/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsJS/app-sso/nodejs) | NA | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsJS/app-sso/csharp/demo-manifest/App-SSO.zip) +| **Sample name** | **Description** | **.NET** | **Node.js** | **Python** | +|---------------|------------|------------|-------------|---------------| +| Bot Auth Quickstart | This sample demonstrates how to implement Single Sign-On (SSO) authentication for Microsoft Teams bots using Azure Active Directory. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-auth-quickstart/dotnet/bot-auth-quickstart) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-auth-quickstart/nodejs/bot-auth-quickstart) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-auth-quickstart/python/bot-auth-quickstart) | ## See also @@ -712,5 +622,6 @@ This sample demonstrates how to implement Single Sign-On (SSO) authentication fo [teams-bot-auth-quickstart-cs]: https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-auth-quickstart/dotnet/bot-auth-quickstart +[teams-bot-auth-quickstart-py]: https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-auth-quickstart/python/bot-auth-quickstart - +[teams-bot-auth-quickstart-js]: https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-auth-quickstart/nodejs/bot-auth-quickstart diff --git a/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md b/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md index ab3157b27be..84561d8d4a0 100644 --- a/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md +++ b/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md @@ -269,7 +269,7 @@ teams.OnQuery(async (ctx) => # [TypeScript/Node.js](#tab/typescript2) -[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-search-quickstart/js/botActivityHandler.js#L35) +* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/bot-message-extensions/nodejs/bot-message-extensions/index.ts) ```typescript app.on('message.ext.query', async ({ activity }) => { @@ -604,10 +604,10 @@ The default query has the same structure as any regular user query, except it ha ## Code sample -| Sample name | Description | .NET | Node.js | Manifest | -|:---------------------|:--------------|:---------|:--------|:--------| -| Teams message extension search | This sample demonstrates how to create a message extension in Teams that allows users searches for NuGet packages and retrieve the results as a card. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip) -|Teams message extension auth and config | This sample demonstrates how to implement authentication in a message extension for Teams, enabling secure access and user-specific interactions. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-auth-config/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-sso-config/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search-auth-config/csharp/demo-manifest/msgext-search-auth-config.zip) +| Sample name | Description | .NET | Node.js | Python | Manifest | +|:---------------------|:--------------|:---------|:--------|:--------|:--------| +| Bot Message Extensions | This sample demonstrates a search-based messaging extension in Microsoft Teams that allows users to search for Wikipedia articles. The extension supports search commands, item selection, and link unfurling. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-message-extensions/dotnet/bot-message-extensions)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-message-extensions/nodejs/bot-message-extensions)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-message-extensions/python/bot-message-extensions)| NA | +|Teams message extension auth and config | This sample demonstrates how to implement authentication in a message extension for Teams, enabling secure access and user-specific interactions. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-auth-config/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-sso-config/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-auth-config/python)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-search-auth-config/csharp/demo-manifest/msgext-search-auth-config.zip) ## Next step diff --git a/msteams-platform/messaging-extensions/what-are-messaging-extensions.md b/msteams-platform/messaging-extensions/what-are-messaging-extensions.md index e145a4b7f47..f071c48b81e 100644 --- a/msteams-platform/messaging-extensions/what-are-messaging-extensions.md +++ b/msteams-platform/messaging-extensions/what-are-messaging-extensions.md @@ -143,8 +143,5 @@ The following table helps you select a message extension type to get started: | **Sample name** | **Description** | **.NET** | **Node.js** | **Python** | **Manifest**| |------------|-------------|----------------|------------|------------|------------| +| Bot Message Extensions | This sample demonstrates a search-based messaging extension in Microsoft Teams that allows users to search for Wikipedia articles. The extension supports search commands, item selection, and link unfurling. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-message-extensions/dotnet/bot-message-extensions) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-message-extensions/nodejs/bot-message-extensions) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-message-extensions/python/bot-message-extensions) | NA | | Message extension with action-based commands | This sample demonstrates how to create Action-Based Message Extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp/demo-manifest/msgext-action.zip) -| Message extension with search-based commands | This sample demonstrates how to create a Message Extension in Microsoft Teams that allows users to perform searches and retrieve results. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/python) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip) -|Message extension action preview| This sample app illustrates how to utilize action previews in Teams Message Extensions, allowing users to create cards from input in a Task Module. It showcases bot interactions that enhance user engagement by attributing messages to users. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/nodejs) |NA|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp/demo-manifest/msgext-action-preview.zip) | -|Message extension action for task scheduling|This sample demonstrates a Message Extension that allows users to schedule tasks and receive reminder cards in Microsoft Teams.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-message-reminder/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-message-reminder/nodejs)| NA |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-message-reminder/csharp/demo-manifest/msgext-message-reminder.zip)| -| Northwind inventory message extension| This sample implements a Teams message extension that can be used as a plugin for Microsoft 365 Copilot. The message extension allows users to query the Northwind Database. | NA |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-copilot-handoff/ts) |NA |NA From 2d73cad0a2fb21654b0db8933f0ee3b94cffc160 Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Wed, 15 Jul 2026 15:25:49 +0530 Subject: [PATCH 11/13] Update build-conversational-capability.md --- msteams-platform/bots/build-conversational-capability.md | 1 + 1 file changed, 1 insertion(+) diff --git a/msteams-platform/bots/build-conversational-capability.md b/msteams-platform/bots/build-conversational-capability.md index 4c7bb273038..0b0ca1e2412 100644 --- a/msteams-platform/bots/build-conversational-capability.md +++ b/msteams-platform/bots/build-conversational-capability.md @@ -6,6 +6,7 @@ ms.localizationpriority: medium ms.author: vikasalmal ms.owner: angovil ms.date: 06/19/2026 +zone_pivot_groups: teams-sdk-languages --- # Send and receive messages From 479c84c56ed29989fd584722704c2dbdf25e50e1 Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Wed, 15 Jul 2026 15:43:14 +0530 Subject: [PATCH 12/13] Update link-unfurling.md --- msteams-platform/messaging-extensions/how-to/link-unfurling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msteams-platform/messaging-extensions/how-to/link-unfurling.md b/msteams-platform/messaging-extensions/how-to/link-unfurling.md index e2c97c95963..dc0f841421d 100644 --- a/msteams-platform/messaging-extensions/how-to/link-unfurling.md +++ b/msteams-platform/messaging-extensions/how-to/link-unfurling.md @@ -364,7 +364,7 @@ To get your app ready for zero install link unfurling, follow these steps: } }, "value":{ - "url":"https://test.test.com/test" + "url":"{server_url}/test" }, "locale":"en-US", "localTimezone":"America/Los_Angeles" From 4664510de6e9ed3af705324c143d4c96f088373f Mon Sep 17 00:00:00 2001 From: v-shgarcha Date: Thu, 16 Jul 2026 12:06:07 +0530 Subject: [PATCH 13/13] Update archived samples links --- msteams-platform/bots/how-to/bots-filesv4.md | 2 +- .../how-to/action-commands/define-action-command.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/msteams-platform/bots/how-to/bots-filesv4.md b/msteams-platform/bots/how-to/bots-filesv4.md index b1024ff5d97..3109a946e9a 100644 --- a/msteams-platform/bots/how-to/bots-filesv4.md +++ b/msteams-platform/bots/how-to/bots-filesv4.md @@ -453,7 +453,7 @@ The following code sample demonstrates how to obtain file consent and upload fil |**Sample name** | **Description** | **.NET** | **Node.js** | **Python**| **Manifest**| |----------------|-----------------|--------------|----------------|-----------|-----------| -| File upload | This bot sample for Teams demonstrates file upload capabilities using Bot Framework v4, enabling users to upload files and view inline images within chats. | [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) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-file-upload/csharp/demo-manifest/bot-file-upload.zip) +| File upload | This bot sample for Teams demonstrates file upload capabilities using Bot Framework v4, enabling users to upload files and view inline images within chats. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-file-upload/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-file-upload/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-file-upload/python) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/bot-file-upload/csharp/demo-manifest/bot-file-upload.zip) ## Next step diff --git a/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md b/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md index 3143d069d15..ea97bec02e5 100644 --- a/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md +++ b/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md @@ -233,7 +233,7 @@ protected override Task OnTeamsMessagingExtens | Sample name | Description | .NET | Node.js | Manifest| |:---------------------|:--------------|:---------|:--------|:--------------| |Teams message extension action| This sample demonstrates how to create action-based message extensions for Microsoft Teams, enabling users to interactively generate content. It features bots, message extensions, and seamless integration with user inputs for enhanced functionality.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/TeamsSDK/Archived/samples/msgext-action/csharp/demo-manifest/msgext-action.zip) | -|Message extension action preview| This sample app illustrates how to utilize action previews in Teams message extensions, allowing users to create cards from input in a dialog. It showcases bot interactions that enhance user engagement by attributing messages to users. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp/demo-manifest/msgext-action-preview.zip) | +|Message extension action preview| This sample app illustrates how to utilize action previews in Teams message extensions, allowing users to create cards from input in a dialog. It showcases bot interactions that enhance user engagement by attributing messages to users. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action-preview/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action-preview/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/msgext-action-preview/csharp/demo-manifest/msgext-action-preview.zip) | ## Step-by-step guide