Skip to content
Closed
712 changes: 384 additions & 328 deletions msteams-platform/bots/bot-concepts.md

Large diffs are not rendered by default.

442 changes: 252 additions & 190 deletions msteams-platform/bots/build-conversational-capability.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions msteams-platform/bots/build-notification-capability.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Learn about sending notifications using a bot app
ms.topic: article
ms.localizationpriority: medium
ms.owner: angovil
ms.date: 10/03/2024
ms.date: 06/05/2026
---

# Send notifications
Expand Down Expand Up @@ -559,7 +559,7 @@ protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivi

- [SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest&preserve-view=true#botbuilder-core-turncontext-sendactivity)

- [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/app-localization/nodejs/server/bot/botActivityHandler.js#L36)
- [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/app-localization/nodejs/server/bot/botActivityHandler.js#L36)

```typescript

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Get All Channel and Chat Messages for Bot and Agents
description: Enable bots to receive all conversation messages without being @mentioned using RSC permissions. Read on webApplicationInfo or authorization section in manifest.
ms.topic: article
ms.localizationpriority: medium
ms.date: 03/16/2026
ms.date: 06/05/2026
---

# Receive all messages for bots and agents
Expand Down Expand Up @@ -289,7 +289,7 @@ 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)
- [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/app-localization/nodejs/server/bot/botActivityHandler.js#L25)

```javascript

Expand Down
495 changes: 312 additions & 183 deletions msteams-platform/bots/how-to/get-teams-context.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions msteams-platform/concepts/build-and-test/apps-localization.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: App Localization - Factors to Consider
description: Learn considerations for localizing your Microsoft Teams app, localize strings in your app manifest, and handle localized text submissions from your users.
ms.topic: article
ms.localizationpriority: medium
ms.date: 10/17/2024
ms.date: 06/05/2026
---
# Localize your app

Expand Down Expand Up @@ -153,7 +153,7 @@ If you provide localized versions of your application, the users respond with th

| Sample name | Description | .NET | Node.js |
|-------------|-------------|------|------|
| App Localization | This sample demonstrates how to implement localization for Microsoft Teams apps using Bots and Tabs. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-localization/csharp) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-localization/nodejs) |
| App Localization | This sample demonstrates how to implement localization for Microsoft Teams apps using Bots and Tabs. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-localization/csharp) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-localization/nodejs) |

## Next step

Expand Down
4 changes: 2 additions & 2 deletions msteams-platform/concepts/build-and-test/apps-package.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Package your app
description: Learn how to create, package, and upload Microsoft Teams app, icons for different Teams capabilities, and ensure your app is running and accessible through HTTPS.
ms.localizationpriority: high
ms.topic: article
ms.date: 05/08/2026
ms.date: 06/05/2026
---

# Teams app package
Expand Down Expand Up @@ -37,7 +37,7 @@ You can create an app and configure the app manifest through one of the followin

You can add bot, tab, message extensions, and other capabilities to your app by updating the app manifest with the required app capability. For more information, see [build app with app capabilities](../../get-started/get-started-overview.md#build-your-first-teams-app).

When you publish your app to the Microsoft Teams Store, ensure your app manifest references to the latest [app manifest schema](/microsoft-365/extensibility/schema/).
When you publish your app to the Microsoft Teams Store, ensure your app manifest references to the latest [app manifest schema](/microsoft-365/extensibility/schema/). For sample app manifest, see [Hello world sample app](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/app-hello-world/csharp/demo-manifest/app-hello-world.zip).

## App icons

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Configure default options for your app
description: Learn how to specify your Teams app's default install options, default capability for shared scopes, default landing capability for personal tab and bot apps, and block apps by default.
ms.topic: how-to
ms.localizationpriority: medium
ms.date: 04/13/2026
ms.date: 06/05/2026
---
# Configure default options for Teams app

Expand Down Expand Up @@ -113,16 +113,6 @@ If an app is configured with shared scopes along with a default install scope, h
</details>
</br>

### Installation context and app experience

App installation context and app open experience are related but not identical:

* Installation determines where the app is available (personal, team, chat, or meeting).
* Open experience depends on the capabilities declared in the app manifest, such as tab or bot.
* An app can be installed to enable notification delivery even when it doesn't provide an interactive surface that opens in Teams for that scope.

This separation is expected behavior in Teams app architecture. For activity feed UX guidance, see [Designing activity feed notifications](../design/activity-feed-notifications.md).

## Configure the default capability for shared scopes

Configure the default capability when your app is installed for a team, meeting, or groupchat. For more information, see [app manifest](/microsoft-365/extensibility/schema/root#defaultgroupcapability).
Expand Down Expand Up @@ -335,7 +325,7 @@ To ensure that IT admins perform the relevant tasks, developers can block an app

:::image type="content" source="../../assets/images/manage-apps-status.png" alt-text="Screenshot shows an app blocked by publisher." lightbox="../../assets/images/manage-apps-status-expanded.png":::

The admins can do their due diligence about your app and they can read the [app documentation that you provide](/microsoftteams/manage-apps#developer-provided-agent-and-app-information-support-and-documentation) before they allow their users to use your app. For example, the admins can purchase the required licenses and distribute the licenses before allowing users to use the app. To allow the app with **Blocked by publisher** status, an admin can select **Allow** in the **[Manage apps](https://admin.teams.microsoft.com/policies/manage-apps)** page in Teams admin center.
The admins can do their due diligence about your app and they can read the [app documentation that you provide](appsource/prepare/submission-checklist.md) before they allow their users to use your app. For example, the admins can purchase the required licenses and distribute the licenses before allowing users to use the app. To allow the app with **Blocked by publisher** status, an admin can select **Allow** in the **[Manage apps](https://admin.teams.microsoft.com/policies/manage-apps)** page in Teams admin center.

:::image type="content" source="../../assets/images/manage-apps-allow.png" alt-text="Screenshot shows the Allow option for the app blocked by publisher." lightbox="../../assets/images/manage-apps-allow-expanded.png":::

Expand All @@ -346,9 +336,9 @@ If you don't want your app to be blocked by default, update the `defaultBlockUnt

## Code sample

|**Sample name** | **Description** | **.NET** | **Node.js** | **Python**|
|**Sample name** | **Description** | **.NET** | **Node.js** | **Manifest**|
|----------------|-----------------|--------------|----------------|-----------|
| Bot Quickstart | This sample demonstrates how to handle various bot conversation events in Microsoft Teams. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-quickstart/dotnet/bot-quickstart) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-quickstart/nodejs/bot-quickstart) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/bot-quickstart/python/bot-quickstart) |
| Hello world | A Microsoft Teams Hello World sample app built with .NET/C# that demonstrates essential features like tabs, bots, and messaging extensions for seamless interaction within the Teams environment. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-hello-world/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-hello-world/nodejs) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-hello-world/csharp/demo-manifest/app-hello-world.zip)|

## Next step

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Add Location Capability with TeamsJS
description: Learn how to use Teams JavaScript client library and location APIs to utilize location capabilities using code snippets and samples.
ms.topic: article
ms.localizationpriority: high
ms.date: 12/13/2022
ms.date: 06/05/2026
---

# Integrate location capabilities
Expand Down Expand Up @@ -182,7 +182,7 @@ You must ensure to handle these errors appropriately in your Teams app. The foll

|Sample name | Description | .NET | Node.js | Manifest
|----------------|-----------------|--------------|--------------|--------------|
| App check-in current location | This sample showcases a Microsoft Teams bot that allows users to check in their current location and view all previous check-ins seamlessly. | [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) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/app-checkin-location/csharp/demo-manifest/App-checkin-location.zip) |
| App check-in current location | This sample showcases a Microsoft Teams bot that allows users to check in their current location and view all previous check-ins seamlessly. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-checkin-location/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-checkin-location/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/app-checkin-location/csharp/demo-manifest/App-checkin-location.zip) |

## See also

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -599,4 +600,4 @@ This section provides bot authentication v3 SDK sample.
|---------------|------------|------------|-------------|---------------|---------------|
| 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)|
| 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)|
|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/TeamsSDK/Archived/app-complete-auth/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-complete-auth/nodejs) | NA |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-complete-auth/csharp/demo-manifest/App-Complete-Auth.zip)|
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Create Search Commands for App
description: Learn about message extension search commands for Teams apps, to create a search command through app manifest and manually.
ms.topic: article
ms.author: anclear
ms.date: 09/16/2024
ms.date: 06/05/2026
ms.localizationpriority: medium
ms.owner: slamba
---
Expand Down Expand Up @@ -125,7 +125,7 @@ The following code provides an example of search-based for message extensions:
# [.NET](#tab/dotnet)

* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsmessagingextensionqueryasync?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/app-hello-world/csharp/Microsoft.Teams.Samples.HelloWorld.Web/Bots/MessageExtension.cs#L26-L59)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/app-hello-world/csharp/Microsoft.Teams.Samples.HelloWorld.Web/Bots/MessageExtension.cs#L26-L59)

```csharp
protected override async Task<MessagingExtensionResponse> OnTeamsMessagingExtensionQueryAsync(ITurnContext<IInvokeActivity> turnContext, MessagingExtensionQuery query, CancellationToken cancellationToken)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Proactive Messages & Event Notification
description: In this module, learn how to use proactive messaging for bots and best practices for proactive messaging in Microsoft Teams
ms.topic: article
ms.localizationpriority: medium
ms.date: 04/02/2023
ms.date: 06/05/2026
ms.owner: angovil
---
# Proactive messaging for bots
Expand Down Expand Up @@ -169,7 +169,7 @@ Alternatively, you can use the REST API and issue a POST request to [`/conversat

# [C#](#tab/csharp)

The .NET example is from [this sample](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/app-complete-sample/csharp/AppCompleteSample/src/dialogs/examples/teams/ProactiveMsgTo1to1Dialog.cs)
The .NET example is from [this sample](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/TeamsSDK/Archived/app-complete-sample/csharp/AppCompleteSample/src/dialogs/examples/teams/ProactiveMsgTo1to1Dialog.cs)

```csharp
using Microsoft.Bot.Builder.Dialogs;
Expand Down
4 changes: 2 additions & 2 deletions msteams-platform/samples/virtual-assistant.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Create Virtual Assistant Bot in Teams
description: Learn how to create a Virtual Assistant bot using code examples and snippets, with features such as Adaptive Cards and handling interruptions.
ms.localizationpriority: medium
ms.topic: how-to
ms.date: 12/21/2022
ms.date: 06/05/2026
---

# Create Virtual Assistant
Expand Down Expand Up @@ -578,7 +578,7 @@ You can also use existing skills from [Bot Framework Solutions repository](https

| **Sample name** | **Description** |**.NET** |
|----------|-----------------|---------------------------|
| Updated visual studio template | This sample showcases a customizable virtual assistant template that integrates seamlessly with Microsoft Teams. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-virtual-assistant/csharp) |
| Updated visual studio template | This sample showcases a customizable virtual assistant template that integrates seamlessly with Microsoft Teams. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-virtual-assistant/csharp) |
| Book-a-room bot skill code | Book-a-room bot 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) |

## See also
Expand Down
4 changes: 2 additions & 2 deletions msteams-platform/tabs/how-to/authentication/auth-flow-tab.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Enable OAuth Authentication for Tab
description: Learn about Teams authentication flow in tabs using third-party OAuth provider with Microsoft Entra configuration and code samples.
ms.topic: article
ms.localizationpriority: high
ms.date: 03/02/2025
ms.date: 06/05/2026
---
# Enable authentication using third-party OAuth provider

Expand Down Expand Up @@ -63,7 +63,7 @@ Sample code showing the tab authentication process:

| **Sample name** | **Description** | **.NET** | **Node.js** | **Manifest**|
|-----------------|-----------------|-------------|------------|------------|
| App complete authentication | This sample showcases Microsoft Entra ID and Facebook authentication across bots, tabs, and messaging extensions. | [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) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-complete-auth/csharp/demo-manifest/App-Complete-Auth.zip) |
| App complete authentication | This sample showcases Microsoft Entra ID and Facebook authentication across bots, tabs, and messaging extensions. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-complete-auth/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-complete-auth/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/TeamsSDK/Archived/app-complete-auth/csharp/demo-manifest/App-Complete-Auth.zip) |

## See also

Expand Down
Loading