Updates from: 07/17/2024 02:20:00
Service Microsoft Docs article Related commit history on GitHub Change details
platform Build Tabs For Meeting https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/build-tabs-for-meeting.md
The following table provides the user types and lists the features that each use
* [Apps for Teams meetings and calls](teams-apps-in-meetings.md) * [Design your Microsoft Teams meeting extension](design/designing-apps-in-meetings.md) * [Enable SSO for tab app](../tabs/how-to/authentication/tab-sso-overview.md)
-* [Add apps to meetings using Microsoft Graph](/graph/api/chat-post-installedapps?view=graph-rest-1.0&tabs=http&preserve-view=true)
+* [Add apps to meetings using Microsoft Graph](/graph/api/chat-post-installedapps?view=graph-rest-1.0&preserve-view=true&tabs=http)
* [Get change notifications for Microsoft Teams meeting call updates](/graph/changenotifications-for-onlinemeeting) * [Enable app icon badging for your Teams app](app-icon-badging-for-your-app.md)
platform Meeting Apps Apis https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/meeting-apps-apis.md
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivi
# [JavaScript](#tab/javascript3)
-* [SDK reference](/javascript/api/botbuilder/teamsinfo?view=botbuilder-ts-latest#botbuilder-teamsinfo-getmeetingparticipant&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsinfo?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsinfo-getmeetingparticipant)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/meetings-token-app/nodejs/server/bot/botActivityHandler.js#L30) ```typescript
You can also send targeted in-meeting notification to a specific participant in
> [!NOTE] > > * When an in-meeting notification is invoked, the content is presented as a chat message.
-> * You must invoke the [submitTask()](../task-modules-and-cards/task-modules/task-modules-bots.md#submit-the-result-of-a-dialog) function to dismiss automatically after a user takes an action in the web view. This is a requirement for app submission. For more information, see [Teams SDK task module](/javascript/api/@microsoft/teams-js/microsoftteams.tasks?view=msteams-client-js-latest#submittask-stringobject--stringstring&preserve-view=true).
+> * You must invoke the [submitTask()](../task-modules-and-cards/task-modules/task-modules-bots.md#submit-the-result-of-a-dialog) function to dismiss automatically after a user takes an action in the web view. This is a requirement for app submission. For more information, see [Teams SDK task module](/javascript/api/@microsoft/teams-js/microsoftteams.tasks?view=msteams-client-js-latest&preserve-view=true#@microsoft-teams-js-microsoftteams-tasks-submittask).
> * If you want your app to support anonymous users, initial invoke request payload must rely on `from.id` request metadata in `from` object, not `from.aadObjectId` request metadata. `from.id` is the user ID and `from.aadObjectId` is the Microsoft Entra ID of the user. For more information, see [using task modules in tabs](../task-modules-and-cards/task-modules/task-modules-tabs.md) and [create and send the task module](../messaging-extensions/how-to/action-commands/create-task-module.md?tabs=dotnet#the-initial-invoke-request). ### Query parameter
The following table includes the query parameter:
# [C#](#tab/dotnet2)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityextensions.teamsnotifyuser?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsactivityextensions-teamsnotifyuser(microsoft-bot-schema-iactivity)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityextensions.teamsnotifyuser?view=botbuilder-dotnet-stable&preserve-view=true#microsoft-bot-builder-teams-teamsactivityextensions-teamsnotifyuser(microsoft-bot-schema-iactivity))
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-proactive-messaging/csharp/proactive-cmd/Program.cs#L178) ```csharp
await turnContext.SendActivityAsync(activity).ConfigureAwait(false);
# [JavaScript](#tab/javascript2)
-* [SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest#botbuilder-core-turncontext-sendactivity&preserve-view=true)
+* [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/bot-conversation/nodejs/bots/teamsConversationBot.js#L74) ```javascript
The following table lists the query parameter:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsinfo.getmeetinginfoasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsinfo-getmeetinginfoasync(microsoft-bot-builder-iturncontext-system-string-system-threading-cancellationtoken)&preserve-view=true)
+* [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) ```csharp
The following examples show how to capture the meeting start and end events:
**Meeting Start Event**
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsmeetingstartasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsactivityhandler-onteamsmeetingstartasync(microsoft-bot-schema-teams-meetingstarteventdetails-microsoft-bot-builder-iturncontext((microsoft-bot-schema-ieventactivity))-system-threading-cancellationtoken)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsmeetingstartasync?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/meetings-events/csharp/MeetingEvents/Bots/ActivityBot.cs#L34) ```csharp
protected override async Task OnTeamsMeetingStartAsync(MeetingStartEventDetails
**Meeting End Event**
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsmeetingendasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsactivityhandler-onteamsmeetingendasync(microsoft-bot-schema-teams-meetingendeventdetails-microsoft-bot-builder-iturncontext((microsoft-bot-schema-ieventactivity))-system-threading-cancellationtoken)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsmeetingendasync?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/meetings-events/csharp/MeetingEvents/Bots/ActivityBot.cs#L51) ```csharp
platform Bot Features https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/bot-features.md
The following code provides an example of a bot activity for a channel team scop
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.activityhandler.onmessageactivityasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-activityhandler-onmessageactivityasync(microsoft-bot-builder-iturncontext((microsoft-bot-schema-imessageactivity))-system-threading-cancellationtoken)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.activityhandler.onmessageactivityasync?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/app-localization/csharp/Localization/Bots/LocalizerBot.cs#L20)
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivi
# [Node.js](#tab/nodejs)
-* [SDK reference](/javascript/api/botbuilder-core/activityhandler?view=botbuilder-ts-latest#botbuilder-core-activityhandler-onmessage&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder-core/activityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-core-activityhandler-onmessage)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/app-localization/nodejs/server/bot/botActivityHandler.js#L25)
The following code provides an example of bot activity for a one-to-one chat:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.schema.activityextensions.removerecipientmention?view=botbuilder-dotnet-stable#microsoft-bot-schema-activityextensions-removerecipientmention(microsoft-bot-schema-imessageactivity)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.schema.activityextensions.removerecipientmention?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#L19)
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivi
# [Node.js](#tab/nodejs)
-* [SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest#botbuilder-core-turncontext-sendactivity&preserve-view=true)
+* [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/bot-receive-channel-messages-withRSC/nodejs/server/bot/botActivityHandler.js#L20) ```javascript
platform Call Notifications https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/calls-and-meetings/call-notifications.md
HTTP/1.1 302 Found
Location: your-new-location ```
-Enable your bot to answer an incoming call using the [answer](/graph/api/call-answer?view=graph-rest-1.0&tabs=http&preserve-view=true) API. You can specify the `callbackUri` to handle this particular call. This is useful for stateful instances where your call is handled by a particular partition, and you want to embed this information in the `callbackUri` for routing to the right instance.
+Enable your bot to answer an incoming call using the [answer](/graph/api/call-answer?view=graph-rest-1.0&preserve-view=true&tabs=http) API. You can specify the `callbackUri` to handle this particular call. This is useful for stateful instances where your call is handled by a particular partition, and you want to embed this information in the `callbackUri` for routing to the right instance.
The next section provides details on authenticating the callback by inspecting the token posted to your webhook.
platform How Conversation Ai Get Started https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/Teams conversational AI/how-conversation-ai-get-started.md
You can easily integrate Teams AI library, prompt management, and safety moderat
Teams AI library is built on top of the Bot Framework SDK and uses its fundamentals to offer an extension to the Bot Framework SDK capabilities. As part of initial setup, it's important to import the Bot Framework SDK functionalities. > [!NOTE]
-> The adapter class that handles connectivity with the channels is imported from [Bot Framework SDK](/azure/bot-service/bot-builder-basics?view=azure-bot-service-4.0#the-bot-adapter&preserve-view=true).
+> The adapter class that handles connectivity with the channels is imported from [Bot Framework SDK](/azure/bot-service/bot-builder-basics?view=azure-bot-service-4.0&preserve-view=true#the-bot-adapter).
# [.NET](#tab/dotnet1)
platform Add Authentication https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/authentication/add-authentication.md
With the preliminary settings done, let's focus on the creation of the bot to us
### Deploy the bot to Azure
-To deploy the bot, follow the steps in the How to [Deploy your bot to Azure](/azure/bot-service/provision-and-publish-a-bot?view=azure-bot-service-4.0&tabs=userassigned%2Ccsharp&preserve-view=true).
+To deploy the bot, follow the steps in the How to [Deploy your bot to Azure](/azure/bot-service/provision-and-publish-a-bot?view=azure-bot-service-4.0&preserve-view=true&tabs=userassigned%2Ccsharp).
Alternatively, while in Visual Studio, you can follow these steps:
platform Bot Sso Code https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/authentication/bot-sso-code.md
To update your app's code:
> [!NOTE]
- > You might receive multiple responses for a given request if the user has multiple active endpoints. You must eliminate all duplicate or redundant responses with the token. For more information about signin/tokenExchange, see [TeamsSSOTokenExchangeMiddleware Class](/python/api/botbuilder-core/botbuilder.core.teams.teams_sso_token_exchange_middleware.teamsssotokenexchangemiddleware?view=botbuilder-py-latest#remarks&preserve-view=true).
+ > You might receive multiple responses for a given request if the user has multiple active endpoints. You must eliminate all duplicate or redundant responses with the token. For more information about signin/tokenExchange, see [TeamsSSOTokenExchangeMiddleware Class](/python/api/botbuilder-core/botbuilder.core.teams.teams_sso_token_exchange_middleware.teamsssotokenexchangemiddleware?view=botbuilder-py-latest&preserve-view=true#remarks).
1. Use the following code snippet for requesting a token.
platform Bots Filesv4 https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/bots-filesv4.md
Post messages with card attachments that refer to existing SharePoint files, usi
* A user's OneDrive folder for `personal` and `groupchat` files. * The files in a team's channel for `channel` files.
-Graph APIs work in all Teams scopes. For more information, see [send chat message file attachments](/graph/api/chatmessage-post?view=graph-rest-beta&tabs=http#example-4-file-attachments&preserve-view=true).
+Graph APIs work in all Teams scopes. For more information, see [send chat message file attachments](/graph/api/chatmessage-post?view=graph-rest-beta&preserve-view=true&tabs=http#example-4-file-attachments).
Alternately, you can send files to and receive files from a bot using the Teams bot APIs.
platform Channel And Group Conversations https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/channel-and-group-conversations.md
The following code shows an example of retrieving mentions:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.schema.activity.getmentions?view=botbuilder-dotnet-stable#microsoft-bot-schema-activity-getmentions&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.schema.activity.getmentions?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-archive-groupchat-messages/csharp/FetchGroupChatMessages/Bots/ActivityBot.cs#L182)
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivi
# [TypeScript](#tab/typescript)
-[SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest#botbuilder-core-turncontext-getmentions&preserve-view=true)
+[SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest&preserve-view=true#botbuilder-core-turncontext-getmentions)
```typescript this.onMessage(async (turnContext, next) => {
this.onMessage(async (turnContext, next) => {
# [Python](#tab/python)
-[SDK reference](/python/api/botbuilder-schema/botbuilder.schema.activity?view=botbuilder-py-latest#botbuilder-schema-activity-get-mentions&preserve-view=true)
+[SDK reference](/python/api/botbuilder-schema/botbuilder.schema.activity?view=botbuilder-py-latest&preserve-view=true#botbuilder-schema-activity-get-mentions)
```python @staticmethod
platform Conversation Messages https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/conversation-messages.md
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivi
# [TypeScript](#tab/typescript1)
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onmessage&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onmessage)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/app-localization/nodejs/server/bot/botActivityHandler.js#L25) ```typescript
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python1)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.activityhandler?view=botbuilder-py-latest#botbuilder-core-activityhandler-on-message-activity&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.activityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-activityhandler-on-message-activity)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/python/bots/teams_conversation_bot.py#L103) ```python
The following code shows an example of sending a message when a user is added to
# [C#](#tab/dotnet2)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.turncontext.sendactivityasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-turncontext-sendactivityasync(microsoft-bot-schema-iactivity-system-threading-cancellationtoken)&preserve-view=true)
+* [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)
protected override async Task OnMembersAddedAsync(IList<ChannelAccount> membersA
# [TypeScript](#tab/typescript2)
-* [SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest#botbuilder-core-turncontext-sendactivity&preserve-view=true)
+* [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/bot-conversation/nodejs/bots/teamsConversationBot.js#L46) ```typescript
protected override async Task OnMembersAddedAsync(IList<ChannelAccount> membersA
# [Python](#tab/python2)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.turncontext?view=botbuilder-py-latest#botbuilder-core-turncontext-send-activity&preserve-view=true)
+* [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) ```python
The following code shows an example of adding notifications to your message:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityextensions.teamsnotifyuser?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsactivityextensions-teamsnotifyuser(microsoft-bot-schema-iactivity)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityextensions.teamsnotifyuser?view=botbuilder-dotnet-stable&preserve-view=true#microsoft-bot-builder-teams-teamsactivityextensions-teamsnotifyuser(microsoft-bot-schema-iactivity))
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-proactive-messaging/csharp/proactive-cmd/Program.cs#L178) ```csharp
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivi
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest#botbuilder-core-turncontext-sendactivity&preserve-view=true)
+* [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)
this.onMessage(async (turnContext, next) => {
# [Python](#tab/python)
-[SDK reference](/python/api/botbuilder-core/botbuilder.core.teams?view=botbuilder-py-latest#botbuilder-core-teams-teams-notify-user&preserve-view=true)
+[SDK reference](/python/api/botbuilder-core/botbuilder.core.teams?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teams-notify-user)
```python
platform Send Proactive Messages https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/send-proactive-messages.md
See [install apps for users](/graph/api/userteamwork-post-installedapps) in the
### Examples
-Ensure that you authenticate and have a [bearer token](/azure/bot-service/rest-api/bot-framework-rest-connector-authentication?view=azure-bot-service-4.0&tabs=multitenant&preserve-view=true) before creating a new conversation using the REST API. The following are REST API to create a conversation in different contexts:
+Ensure that you authenticate and have a [bearer token](/azure/bot-service/rest-api/bot-framework-rest-connector-authentication?view=azure-bot-service-4.0&preserve-view=true&tabs=multitenant) before creating a new conversation using the REST API. The following are REST API to create a conversation in different contexts:
* [REST API to create a conversation in a one-on-one chat](../../../resources/bot-v3/bot-conversations/bots-conv-proactive.md#examples). * [REST API to create a conversation in a channel](../../../resources/bot-v3/bot-conversations/bots-conv-proactive.md#examples-for-creating-a-channel-conversation).
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#microsoft-bot-builder-cloudadapterbase-continueconversationasync(system-string-microsoft-bot-schema-activity-microsoft-bot-builder-botcallbackhandler-system-threading-cancellationtoken)&preserve-view=true)
+* [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) ```csharp
Example of a code snippet to demonstrate creating conversation reference.
# [JavaScript](#tab/javascript)
-* [SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest#botbuilder-core-turncontext-getconversationreference&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest&preserve-view=true#botbuilder-core-turncontext-getconversationreference)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/graph-proactive-installation/nodejs/bots/proactiveBot.js#L59) ```javascript
async SendNotificationToAllUsersAsync(context) {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.botframeworkadapter?view=botbuilder-py-latest#botbuilder-core-botframeworkadapter-create-conversation&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.botframeworkadapter?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-botframeworkadapter-create-conversation)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/python/bots/teams_conversation_bot.py#L200) ```python
The following table provides a simple code sample that incorporates basic conver
* [Send proactive notifications to users](/azure/bot-service/bot-builder-howto-proactive-message) * [Build your first bot app using JavaScript](../../../sbs-gs-bot.yml) * [Build notification bot with JavaScript to send a proactive message](../../../sbs-gs-notificationbot.yml)
-* [TurnContext](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest"&preserve-view=true")
+* [TurnContext](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest&preserve-view=true)
* [Implement custom storage for bot](/azure/bot-service/bot-builder-custom-storage)
platform Subscribe To Conversation Events https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/subscribe-to-conversation-events.md
protected override async Task OnTeamsChannelCreatedAsync(ChannelInfo channelInfo
<!-- From sample: botbuilder-js\libraries\botbuilder\tests\teams\conversationUpdate\src\conversationUpdateBot.ts -->
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamschannelcreatedevent&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamschannelcreatedevent)
```typescript export class MyBot extends TeamsActivityHandler {
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-channel-created&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-channel-created)
```python async def on_teams_channel_created(
protected override async Task OnTeamsChannelRenamedAsync(ChannelInfo channelInfo
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamschannelrenamedevent&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamschannelrenamedevent)
```typescript export class MyBot extends TeamsActivityHandler {
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-channel-renamed&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-channel-renamed)
```python async def on_teams_channel_renamed(
protected override async Task OnTeamsChannelDeletedAsync(ChannelInfo channelInfo
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamschanneldeletedevent&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamschanneldeletedevent)
```typescript export class MyBot extends TeamsActivityHandler {
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-channel-deleted&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-channel-deleted)
* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?&preserve-view=true)
protected override async Task OnTeamsChannelRestoredAsync(ChannelInfo channelInf
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamschannelrestoredevent&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamschannelrestoredevent)
```typescript
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-channel-restored&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-channel-restored)
```python async def on_teams_channel_restored(
protected override async Task OnTeamsMembersAddedAsync(IList<TeamsChannelAccount
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamsmembersaddedevent&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamsmembersaddedevent)
```typescript export class MyBot extends TeamsActivityHandler {
The message your bot receives when the bot is added to a one-to-one chat.
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-members-added&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-members-added)
```python async def on_teams_members_added(
protected override async Task OnTeamsMembersRemovedAsync(IList<ChannelAccount> m
# [TypeScript](#tab/typescript)
-[SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamsmembersremovedevent&preserve-view=true)
+[SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamsmembersremovedevent)
```typescript export class MyBot extends TeamsActivityHandler {
The `channelData` object in the following payload example is based on adding a m
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-members-removed&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-members-removed)
```python async def on_teams_members_removed(
The following code shows an example of team renamed event:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsteamrenamedasync?view=botbuilder-dotnet-stable#definition&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsteamrenamedasync?view=botbuilder-dotnet-stable&preserve-view=true#definition)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/csharp/Bots/TeamsConversationBot.cs#L370) ```csharp
protected override async Task OnTeamsTeamRenamedAsync(TeamInfo teamInfo, ITurnCo
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamsteamrenamedevent&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamsteamrenamedevent)
```typescript export class MyBot extends TeamsActivityHandler {
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-team-renamed&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-team-renamed)
```python # Bot is notified when the team is renamed.
The following code shows an example of team deleted event:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsteamdeletedasync?view=botbuilder-dotnet-stable#definition&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsteamdeletedasync?view=botbuilder-dotnet-stable&preserve-view=true#definition)
```csharp protected override async Task OnTeamsTeamDeletedAsync(TeamInfo teamInfo, ITurnContext<IConversationUpdateActivity> turnContext, CancellationToken cancellationToken)
protected override async Task OnTeamsTeamDeletedAsync(TeamInfo teamInfo, ITurnCo
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamsteamdeletedevent&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamsteamdeletedevent)
```typescript export class MyBot extends TeamsActivityHandler {
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-team-deleted&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-team-deleted)
```python # Invoked when a Team Deleted event activity is received from the connector. Team Deleted corresponds to the user deleting a team.
The following code shows an example of team restored event:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsteamrestoredasync?view=botbuilder-dotnet-stable#definition&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsteamrestoredasync?view=botbuilder-dotnet-stable&preserve-view=true#definition)
```csharp protected override async Task OnTeamsTeamrestoredAsync(TeamInfo teamInfo, ITurnContext<IConversationUpdateActivity> turnContext, CancellationToken cancellationToken)
protected override async Task OnTeamsTeamrestoredAsync(TeamInfo teamInfo, ITurnC
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamsteamrestoredevent&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamsteamrestoredevent)
```typescript export class MyBot extends TeamsActivityHandler {
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-team-restored&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-team-restored)
```python # Invoked when a Team Restored event activity is received from the connector. Team Restored corresponds to the user restoring a team.
The following code shows an example of team archived event:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsteamarchivedasync?view=botbuilder-dotnet-stable#definition&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsteamarchivedasync?view=botbuilder-dotnet-stable&preserve-view=true#definition)
```csharp protected override async Task OnTeamsTeamArchivedAsync(TeamInfo teamInfo, ITurnContext<IConversationUpdateActivity> turnContext, CancellationToken cancellationToken)
protected override async Task OnTeamsTeamArchivedAsync(TeamInfo teamInfo, ITurnC
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamsteamarchivedevent&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamsteamarchivedevent)
```typescript export class MyBot extends TeamsActivityHandler {
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-team-archived&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-team-archived)
```python # Invoked when a Team Archived event activity is received from the connector. Team Archived correspond to the user archiving a team.
The following code shows an example of team unarchived event:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsteamunarchivedasync?view=botbuilder-dotnet-stable#definition&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsteamunarchivedasync?view=botbuilder-dotnet-stable&preserve-view=true#definition)
```csharp protected override async Task OnTeamsTeamUnarchivedAsync(TeamInfo teamInfo, ITurnContext<IConversationUpdateActivity> turnContext, CancellationToken cancellationToken)
protected override async Task OnTeamsTeamUnarchivedAsync(TeamInfo teamInfo, ITur
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest#botbuilder-teamsactivityhandler-onteamsteamunarchivedevent&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsactivityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsactivityhandler-onteamsteamunarchivedevent)
```typescript export class MyBot extends TeamsActivityHandler {
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest#botbuilder-core-teams-teamsactivityhandler-on-teams-team-unarchived&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsactivityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsactivityhandler-on-teams-team-unarchived)
```python # Invoked when a Team Unarchived event activity is received from the connector. Team Unarchived correspond to the user unarchiving a team.
The following code shows an example of reactions to a bot message:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.activityhandler.onreactionsaddedasync?view=botbuilder-dotnet-stable#definition&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.activityhandler.onreactionsaddedasync?view=botbuilder-dotnet-stable&preserve-view=true#definition)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-message-reaction/csharp/Bots/MessageReactionBot.cs#L26) ```csharp
protected override async Task OnReactionsAddedAsync(IList<MessageReaction> messa
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder-core/activityhandler?view=botbuilder-ts-latest#botbuilder-core-activityhandler-onreactionsadded&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder-core/activityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-core-activityhandler-onreactionsadded)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/nodejs/bots/teamsConversationBot.js#L55) * [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/nodejs/bots/teamsConversationBot.js#L55)
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.activityhandler?view=botbuilder-py-latest#botbuilder-core-activityhandler-on-reactions-added&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.activityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-activityhandler-on-reactions-added)
```python # Override this in a derived class to provide logic for when reactions to a previous activity are added to the conversation.
The following code shows an example of reactions removed from bot message:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.activityhandler.onreactionsremovedasync?view=botbuilder-dotnet-stable#definition&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.activityhandler.onreactionsremovedasync?view=botbuilder-dotnet-stable&preserve-view=true#definition)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-message-reaction/csharp/Bots/MessageReactionBot.cs#L44) ```csharp
protected override async Task OnReactionsRemovedAsync(IList<MessageReaction> mes
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder-core/activityhandler?view=botbuilder-ts-latest#botbuilder-core-activityhandler-onreactionsremoved&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder-core/activityhandler?view=botbuilder-ts-latest&preserve-view=true#botbuilder-core-activityhandler-onreactionsremoved)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/nodejs/bots/teamsConversationBot.js#L63) * [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/nodejs/bots/teamsConversationBot.js#L63)
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.activityhandler?view=botbuilder-py-latest#botbuilder-core-activityhandler-on-reactions-removed&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.activityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-activityhandler-on-reactions-removed)
```python # Override this in a derived class to provide logic specific to removed activities.
In this example, the `conversation.id` of the `conversationUpdate` and `installa
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.activityhandler.oninstallationupdateactivityasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-activityhandler-oninstallationupdateactivityasync(microsoft-bot-builder-iturncontext((microsoft-bot-schema-iinstallationupdateactivity))-system-threading-cancellationtoken)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.activityhandler.oninstallationupdateactivityasync?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/csharp/Bots/TeamsConversationBot.cs#L73) ```csharp
async onInstallationUpdateActivity(context: TurnContext) {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.activityhandler?view=botbuilder-py-latest#botbuilder-core-activityhandler-on-installation-update&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.activityhandler?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-activityhandler-on-installation-update)
```python # Override this in a derived class to provide logic specific to InstallationUpdate activities.
platform Create A Bot Commands Menu https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/create-a-bot-commands-menu.md
Bots in a group or channel respond only when they are mentioned `@botname` in a
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.schema.activityextensions.removerecipientmention?view=botbuilder-dotnet-stable#microsoft-bot-schema-activityextensions-removerecipientmention(microsoft-bot-schema-imessageactivity)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.schema.activityextensions.removerecipientmention?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#L19)
var modifiedText = turnContext.Activity.RemoveRecipientMention();
# [JavaScript](#tab/javascript)
-* [SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest#botbuilder-core-turncontext-removementiontext&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder-core/turncontext?view=botbuilder-ts-latest&preserve-view=true#botbuilder-core-turncontext-removementiontext)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-people-picker-adaptive-card/nodejs/bots/teamsBot.js#L21)
const modifiedText = TurnContext.removeMentionText(turnContext.activity, turnCon
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.turncontext?view=botbuilder-py-latest#botbuilder-core-turncontext-remove-recipient-mention&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.turncontext?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-turncontext-remove-recipient-mention)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/python/bots/teams_conversation_bot.py#L34)
platform Get Teams Context https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/get-teams-context.md
The following sample code uses the paged endpoint for fetching the roster:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsinfo.getpagedmembersasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsinfo-getpagedmembersasync(microsoft-bot-builder-iturncontext-system-nullable((system-int32))-system-string-system-threading-cancellationtoken)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsinfo.getpagedmembersasync?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/graph-proactive-installation/csharp/ProactiveAppInstallation/Bots/ProactiveBot.cs#L78)
public class MyBot : TeamsActivityHandler
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsinfo?view=botbuilder-ts-latest#botbuilder-teamsinfo-getpagedmembers&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsinfo?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsinfo-getpagedmembers)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/graph-proactive-installation/nodejs/bots/proactiveBot.js#L38)
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-[SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsinfo?view=botbuilder-py-latest#botbuilder-core-teams-teamsinfo-get-team-members&preserve-view=true)
+[SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsinfo?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsinfo-get-team-members)
```python async def _show_members(
The following sample code is used to get single member details:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsinfo.getmemberasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsinfo-getmemberasync(microsoft-bot-builder-iturncontext-system-string-system-threading-cancellationtoken)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsinfo.getmemberasync?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-sequential-flow-adaptive-cards/csharp/SequentialUserSpecificFlow/Bots/UserSpecificBot.cs#L37)
public class MyBot : TeamsActivityHandler
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsinfo?view=botbuilder-ts-latest#botbuilder-teamsinfo-getmember&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsinfo?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsinfo-getmember)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/nodejs/bots/teamsConversationBot.js#L186)
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsinfo?view=botbuilder-py-latest#botbuilder-core-teams-teamsinfo-get-member&preserve-view=true)
+* [SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsinfo?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsinfo-get-member)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/python/bots/teams_conversation_bot.py#L67)
The following sample code is used to get team's details:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsinfo.getteamdetailsasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsinfo-getteamdetailsasync(microsoft-bot-builder-iturncontext-system-string-system-threading-cancellationtoken)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsinfo.getteamdetailsasync?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msteams-application-qbot/Source/Microsoft.Teams.Apps.QBot.Web/Bot/QBotTeamInfo.cs#L44)
public class MyBot : TeamsActivityHandler
# [TypeScript](#tab/typescript)
-* [SDK reference](/javascript/api/botbuilder/teamsinfo?view=botbuilder-ts-latest#botbuilder-teamsinfo-getteamdetails&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/teamsinfo?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsinfo-getteamdetails)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/app-complete-sample/nodejs/server/dialogs/teams/fetchTeamInfoDialog.js#L21)
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-[SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsinfo?view=botbuilder-py-latest#botbuilder-core-teams-teamsinfo-get-team-details&preserve-view=true)
+[SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsinfo?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsinfo-get-team-details)
```python async def _show_details(self, turn_context: TurnContext):
The following sample code is used to get the list of channels in a team:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsinfo.getteamchannelsasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsinfo-getteamchannelsasync(microsoft-bot-builder-iturncontext-system-string-system-threading-cancellationtoken)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsinfo.getteamchannelsasync?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msteams-application-qbot/Source/Microsoft.Teams.Apps.QBot.Web/Bot/QBotTeamInfo.cs#L57)
public class MyBot : TeamsActivityHandler
# [TypeScript](#tab/typescript)
-[SDK reference](/javascript/api/botbuilder/teamsinfo?view=botbuilder-ts-latest#botbuilder-teamsinfo-getteamchannels&preserve-view=true)
+[SDK reference](/javascript/api/botbuilder/teamsinfo?view=botbuilder-ts-latest&preserve-view=true#botbuilder-teamsinfo-getteamchannels)
```typescript export class MyBot extends TeamsActivityHandler {
export class MyBot extends TeamsActivityHandler {
# [Python](#tab/python)
-[SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsinfo?view=botbuilder-py-latest#botbuilder-core-teams-teamsinfo-get-team-channels&preserve-view=true)
+[SDK reference](/python/api/botbuilder-core/botbuilder.core.teams.teamsinfo?view=botbuilder-py-latest&preserve-view=true#botbuilder-core-teams-teamsinfo-get-team-channels)
```python async def _show_channels(
platform Update And Delete Bot Messages https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/update-and-delete-bot-messages.md
PUT /v3/conversations/{conversationId}/activities/{activityId}
|Request |Response | |-|-|
-| An [Activity](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#activity-object&preserve-view=true) object. | A [ResourceResponse](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#resourceresponse-object&preserve-view=true) object. |
+| An [Activity](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0&preserve-view=true#activity-object) object. | A [ResourceResponse](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0&preserve-view=true#resourceresponse-object) object. |
PUT /v3/conversations/{conversationId}/activities/{activityId}
|Request |Response | |-|-|
-| An [activity](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#activity-object&preserve-view=true) object. | A [ResourceResponse](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#resourceresponse-object&preserve-view=true) object. |
+| An [activity](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0&preserve-view=true#activity-object) object. | A [ResourceResponse](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0&preserve-view=true#resourceresponse-object) object. |
platform App Fundamentals Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/app-fundamentals-overview.md
Understanding the user and their concern are the first indicators of how a Teams
* **Create and build app project**: With Teams, you can choose the build environment that best suits your app requirement. Use Teams Toolkit or other SDKs, such as C#, Blazor, Node.js, and more to get started.
-* **Design your app UI**: Use Teams UI Toolkit and UI Library to design your app's layout.
+* **Design your app UI**: Use Teams UI Toolkit and Fluent UI React components to design your app's layout.
* **Use Teams as a platform**: Teams platform helps you build a single- or multi-capability app. Your Teams app is supported by the integrated products and services that strengthen the app experience.
platform Deep Links Execution Handling https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/deep-links-execution-handling.md
It's possible to navigate within an app using TeamsJS. The following code demons
# [TeamsJS v2](#tab/teamsjs-v2)
-You can trigger the navigation from your tab using the [pages.navigateToApp()](/javascript/api/@microsoft/teams-js/pages?view=msteams-client-js-latest#@microsoft-teams-js-pages-navigatetoapp&preserve-view=true) function as shown in the following code:
+You can trigger the navigation from your tab using the [pages.navigateToApp()](/javascript/api/@microsoft/teams-js/pages?view=msteams-client-js-latest&preserve-view=true#@microsoft-teams-js-pages-navigatetoapp) function as shown in the following code:
```TypeScript / JavaScript if (pages.isSupported()) {
if (pages.isSupported()) {
else { /* handle case where capability isn't supported */ } ```
-For more information about using the pages capability, see [pages.navigateToApp()](/javascript/api/@microsoft/teams-js/pages?view=msteams-client-js-latest#@microsoft-teams-js-pages-navigatetoapp&preserve-view=true) and the [pages](/javascript/api/@microsoft/teams-js/pages?view=msteams-client-js-latest&preserve-view=true) namespace for other navigation options. If needed, it's also possible to directly open a deep link using the [app.openLink()](/javascript/api/@microsoft/teams-js/app?view=msteams-client-js-latest#@microsoft-teams-js-app-openlink&preserve-view=true) function.
+For more information about using the pages capability, see [pages.navigateToApp()](/javascript/api/@microsoft/teams-js/pages?view=msteams-client-js-latest&preserve-view=true#@microsoft-teams-js-pages-navigatetoapp) and the [pages](/javascript/api/@microsoft/teams-js/pages?view=msteams-client-js-latest&preserve-view=true) namespace for other navigation options. If needed, it's also possible to directly open a deep link using the [app.openLink()](/javascript/api/@microsoft/teams-js/app?view=msteams-client-js-latest&preserve-view=true#@microsoft-teams-js-app-openlink) function.
# [TeamsJS v1](#tab/teamsjs-v1)
When a deep link to a tab app is triggered, ensure that all parameters are set i
When Teams navigates to the tab through a deep link, Teams verifies if the subpage ID exists and retrieves it through the TeamsJS library.
-If the tab is navigated through a deep link, the [`app.getContext()`](/javascript/api/@microsoft/teams-js/app?view=msteams-client-js-latest#@microsoft-teams-js-app-getcontext&preserve-view=true) calls `microsoftTeams.getContext()` to verify if the subpage ID exists. In TeamsJS v2 library, the subpage ID is named as `subPageId`, and in v1, it's `subEntityId`. For more information, see [PageInfo interface](/javascript/api/@microsoft/teams-js/app?view=msteams-client-js-latest#@microsoft-teams-js-app-pageinfo&preserve-view=true).
+If the tab is navigated through a deep link, the [`app.getContext()`](/javascript/api/@microsoft/teams-js/app?view=msteams-client-js-latest&preserve-view=true#@microsoft-teams-js-app-getcontext) calls `microsoftTeams.getContext()` to verify if the subpage ID exists. In TeamsJS v2 library, the subpage ID is named as `subPageId`, and in v1, it's `subEntityId`. For more information, see [PageInfo interface](/javascript/api/@microsoft/teams-js/app?view=msteams-client-js-latest&preserve-view=true#@microsoft-teams-js-app-pageinfo).
platform Test Data https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/test-data.md
You can test your Microsoft Teams app with sample data with a Microsoft 365 deve
2. [Set up a Microsoft 365 Developer Subscription](/office/developer-program/office-365-developer-program-get-started). 3. [Use sample data packs with your Microsoft 365 developer subscription to install the Users content pack](/office/developer-program/install-sample-packs). 4. [Install the Teams PowerShell module](https://www.powershellgallery.com/packages/microsoftteams/1.0.2).
-5. [Install the Azure AD PowerShell module](/powershell/azure/active-directory/install-adv2?view=azureadps-2.0#installing-the-azure-ad-module&preserve-view=true).
+5. [Install the Azure AD PowerShell module](/powershell/azure/active-directory/install-adv2?view=azureadps-2.0&preserve-view=true#installing-the-azure-ad-module).
> [!NOTE] > You must have global admin permissions in the tenant to run the scripts.
platform Design Teams App Advanced Ui Components https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-advanced-ui-components.md
Title: Design App with Advanced UI Components
-description: Learn about the Teams UI components, such as breadcrumbs, notification bar, Stageview along with relevant use cases.
+description: Learn about the Teams UI components, such as breadcrumbs, left nav, notification bar, Stageview, and Toolbar along with relevant use cases.
ms.localizationpriority: medium
platform Design Teams App Artwork Store https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-artwork-store.md
Title: Best Practices to Design App Artwork
-description: Learn about guidelines and templates for displaying the app artwork.
+description: Learn about guidelines and app image templates for displaying the Microsoft Teams app artwork for Teams Store. Learn to use Fluent icons and Teams icon.
ms.localizationpriority: medium
platform Design Teams App Fundamentals https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-fundamentals.md
Title: Basic App Design Fundementals
-description: Learn about the basics of designing your Microsoft Teams app, including avatars, layout, icons, color scheme, and more.
+description: Learn about the basics of designing your Microsoft Teams app, including avatars, layout, icons, type, color scheme, shape and elevation, and copy and content.
ms.localizationpriority: medium
platform Design Teams App Icon Store Appbar https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-icon-store-appbar.md
Title: Design App Icon for Teams Store
-description: Learn about the app icons for Microsoft Teams Store and app bar
+description: Learn about the guidelines to create and emphasize the artwork of your Microsoft Teams app icons for Microsoft Teams Store and app bar.
ms.localizationpriority: medium
platform Design Teams App Layout Scaling https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-layout-scaling.md
Title: Design your app - Layout and scaling
-description: Learn about the layout and scaling for Microsoft Teams app.
+description: Learn about the layout and scaling for Microsoft Teams app such as layout design, scaling and responsive, and page orientation.
ms.localizationpriority: medium
platform Design Teams App Light Box View https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-light-box-view.md
Title: Design App with Lightbox UI Components
-description: Learn how to use lightbox UI component from Teams UI kit to build Microsoft Teams apps.
+description: Learn how to use lightbox UI component from Teams UI kit to build Microsoft Teams apps such as anatomy, sizing of the components, and its best practices.
ms.localizationpriority: medium
Last updated 01/29/2023
# Designing lightbox for your Microsoft Teams app
-The lightbox is a display component that emphasizes important information by deactivating the page layout behind it. Information in the lightbox is noneditable and non-interactive. The lightbox view enables users to preview media content, including images, videos, audio files on a large surface over the main Teams window.
+The lightbox is a display component that emphasizes important information by deactivating the page layout behind it. Information in the lightbox is noneditable and non-interactive. The lightbox view enables users to preview media content, including images, videos, audio files on a large surface over the main Teams window.
-The lightbox component is designed for quick reviews, understanding, or verification. It doesn't support actions for editing or collaboration. Users can initiate the lightbox in a new Teams window or open it directly in a native app or browser.
+The lightbox component is designed for quick reviews, understanding, or verification. It doesn't support actions for editing or collaboration. Users can initiate the lightbox in a new Teams window or open it directly in a native app or browser.
# [Desktop](#tab/desktop)
Following is the default sizing for the container with the main content:
# [Carousel](#tab/carousel)
-Contains all media files from the current chat, channel post, or file folder.
+Contains all media files from the current chat, channel post, or file folder.
:::image type="content" source="../../assets/images/light-box/carousel-sizing.png" alt-text="Example shows carousel sizing with lightbox view in the Teams." lightbox="../../assets/images/light-box/carousel-sizing.png":::
Help to save time during file opening. Opening on top of the main content. With
#### Don't: Use a lightbox for content editing or interaction
-Information in the lightbox is noneditable and non-interactive. Provide clear options in **Open in** menu, where users can start to interact with content.
+Information in the lightbox is noneditable and non-interactive. Provide clear options in **Open in** menu, where users can start to interact with content.
:::image type="content" source="../../assets/images/light-box/interactions-lightbox-dont.png" alt-text="Example shows the use of a lightbox component for content editing.":::
Users wonΓÇÖt be able to see who else is in the file and making changes from the
:::image type="content" source="../../assets/images/light-box/lightbox-back-do.png" alt-text="Example shows the use of a lightbox component with back button in the header.":::
-#### Don't use more button to close the lightbox
+#### Don't use more button to close the lightbox
You can exit the lightbox by either going back to the previous screen or tapping outside of it.
You can exit the lightbox by either going back to the previous screen or tapping
#### Don't: Refer to commenting in a lightbox experience
-Users canΓÇÖt comment in lightbox files.
+Users canΓÇÖt comment in lightbox files.
:::image type="content" source="../../assets/images/light-box/lightbox-highlight-dont.png" alt-text="Example shows the use of a lightbox component with commenting in the chat panel.":::
-#### Do: Open the file in a new window if the file requires more time to focus and is editable.
+#### Do: Open the file in a new window if the file requires more time to focus and is editable
:::image type="content" source="../../assets/images/light-box/lightbox-file-window-do.png" alt-text="Example shows the use of a lightbox component to open the file in a new window.":::
-#### Don't: Use lightbox for files as Word, Excel, PowerPoint, and PDF. Lightbox is a good component for content preview.
+#### Don't: Use lightbox for files as Word, Excel, PowerPoint, and PDF. Lightbox is a good component for content preview
platform Design Teams App Process https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-process.md
Title: App design process
-description: Learn how and when you might use Microsoft tools and resources to design an effective Microsoft Teams app.
+description: Learn how and when to use Microsoft Teams design tools such as Teams UI Kit, resources, choose capabilities and UX flows to design an effective Microsoft Teams app.
ms.localizationpriority: medium
The UI kit also has prebuilt templates and components that you can copy and modi
> **Is the UI kit for me?** If you have any part in creating a Teams app, yes. Understanding how to craft a Teams app is not only helpful to designers but product managers, developers using IDEs, and makers building with low-code tools (such as the Microsoft Power Platform). 1. Go to the [Microsoft Teams UI Kit Figma page](https://www.figma.com/community/file/916836509871353159).
-1. Select **Duplicate** to open the UI kit. (You may have to first create a Figma account.)
+1. Select **Duplicate** to open the UI kit. (You might have to first create a Figma account.)
### Try the sample app
UI templates are complex, high-fidelity designs for common Teams use cases and w
1. In the UI kitΓÇÖs left nav, go to **UI templates**. 1. Copy templates that make sense for your app design.<br />
- For example, if youΓÇÖre designing a personal app, you may want to use a Dashboard template.
+ For example, if youΓÇÖre designing a personal app, you might want to use a Dashboard template.
### Design with basic UI components
Based on Fluent UI, these are the core elements for creating familiar Teams inte
## Implement your design
-The design is done and youΓÇÖre ready to start building. The following tools can help simplify the front-end development of your app.
-
-### Build with UI templates
-
-If you used UI templates in your design, you can implement these templates with the Microsoft Teams UI Library (a React component library based on Fluent UI).
-
-All templates listed aren't in the UI kit are available in the library.
-
-> [!div class="nextstepaction"]
-> [Get the library (GitHub)](https://github.com/OfficeDev/microsoft-teams-ui-component-library)
+The design is done and youΓÇÖre ready to start building. The following tool can help simplify the front-end development of your app.
### Build with basic UI components
-Not unlike the design phase, you can use these Fluent UI components in your app project if a UI template is missing something you need, or you just want to build the app from scratch.
-
-> [!NOTE]
-> If you notice something missing or have an idea for a template, consider contributing to the Teams UI Library repo.
+Not unlike the design phase, you can use Fluent UI React components in your app project if a UI template is missing something you need, or you just want to build the app from scratch.
> [!div class="nextstepaction"] > [Get the library (Fluent UI)](https://react.fluentui.dev/?path=/docs/)
platform Design Teams App Shape Elevation https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-shape-elevation.md
Title: Design your app - Shape and elevation
-description: Learn about the basics of shapes and elevation of your Teams app.
+description: Learn about the basics of shapes and elevation of your Teams app such as corner radius and key calls to action. Learn UI components and shadow levels.
ms.localizationpriority: medium
platform Design Teams App Type https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-type.md
Title: Design your app - Typography
-description: Learn about the basics of typography in Microsoft Teams app including type scale, font and more.
+description: Learn about the basics of typography in Microsoft Teams app including type scale, font type, font weight in different Teams clients, and its usage.
ms.localizationpriority: medium
platform Design Teams App Ui Templates https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-ui-templates.md
Grab UI templates for your app design from the Microsoft Teams UI Kit, which als
The app playbooks and UI templates are also available to help you get started for the [apps extended across Microsoft 365](../../m365-apps/overview.md#app-planning-and-design).
-### Microsoft Teams UI Library
+### Fluent UI React components
-View and test individual Teams UI templates and related components in your browser.
+View and test individual Fluent UI React components in your browser.
> [!div class="nextstepaction"]
-> [Try the UI library (playground)](https://63587347138fdad13ed63ccd-omfbjvvebn.chromatic.com/)
-
-Import these templates and related components directly into your Teams app project.
-
-> [!div class="nextstepaction"]
-> [Get the UI library (GitHub)](https://github.com/OfficeDev/microsoft-teams-ui-component-library)
+> [Try Fluent UI React components](https://react.fluentui.dev/?path=/docs/concepts-introduction--page)
### Sample app
platform Enable App Customization https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/enable-app-customization.md
Title: Enable Customization for App
-description: In this module, understand how Teams admins can customize your Teams app for their org.
+description: Learn how Teams admins can customize your Teams app for their org by changing the app's accent color, description, logo and its outline, and app name.
ms.localizationpriority: medium
platform Overview Analytics https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/overview-analytics.md
Title: Analytics overview
-description: Learn to plan and build analytics for your Teams app.
+description: Learn to plan and build analytics for your Teams app, instrumentation markers for app specific analytics, and aggregate and user-specific insights.
ms.localizationpriority: high
platform Plan Code Instrumentation https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/plan-code-instrumentation.md
Title: Plan Instrumentation Using Analytics
-description: Learn about planning code instrumentation using an analytics service.
+description: Learn about planning code instrumentation using an analytics service such as TrackEvent, retention workbook, use flows, and telemetry as an investment.
ms.localizationpriority: high
platform Plan Responsive Tabs For Teams Mobile https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/plan-responsive-tabs-for-teams-mobile.md
Title: Plan for Teams mobile
-description: In this module, learn how to plan for creating an app on Teams mobile and understand different stages to build app.
+description: Learn how to plan responsive tabs for Teams mobile which includes app functionalities and user roles, and understand different stages to build app.
ms.localizationpriority: medium
platform Plan To Monetize https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/plan-to-monetize.md
Title: Plan to monetize your app
-description: Plan to monetize your Microsoft Teams app and also understand the best monetization options for global visibility.
+description: Plan to monetize your Teams app such as subscription, in-app purchase, free trails, test preview, and understand the best monetization options for global visibility.
ms.localizationpriority: high
platform Strategize Measure https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/strategize-measure.md
Title: Strategize and decide what to measure
-description: Learn about deciding what to measure using instrumentation data for your Teams app analytics
+description: Learn to strategize and decide what to measure using instrumentation data for your Microsoft Teams app analytics and monitor events for your app.
ms.localizationpriority: high
platform Location Capability https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/device-capabilities/location-capability.md
Title: Integrate location capabilities
-description: Learn how to use Teams JavaScript client library to utilize location capabilities using Code snippets and samples.
+description: Learn how to use Teams JavaScript client library and location APIs to utilize location capabilities using code snippets and samples.
ms.localizationpriority: high
The following table lists the set of APIs to enable your device's location capab
| API | Description |Input configuration | | | | |
-|`getLocation`|Provides userΓÇÖs current device location or opens native location picker and returns the location chosen by the user. | The `getLocation` API takes the following two input parameters as a part of the [LocationProps](/javascript/api/@microsoft/teams-js/microsoftteams.location?view=msteams-client-js-latest#getLocation_LocationProps___error__SdkError__location__Location_____void_&preserve-view=true) interface: `allowChooseLocation`, `showMap`:<br> The experience is derived from the combination of these two input parameters:<br>- (true, true): A map is launched and the user gets to pick any location on it.<br>- (true, false): A map is launched and the user gets to pick any location on it.<br>- (false, true): A map is launched. The user can only submit the current location.<br>- (false, false): Map isn't launched. User's current location is fetched.
+|`getLocation`|Provides userΓÇÖs current device location or opens native location picker and returns the location chosen by the user. | The `getLocation` API takes the following two input parameters as a part of the [LocationProps](/javascript/api/@microsoft/teams-js/microsoftteams.location?view=msteams-client-js-latest&preserve-view=true#@microsoft-teams-js-microsoftteams-location-getlocation) interface: `allowChooseLocation`, `showMap`:<br> The experience is derived from the combination of these two input parameters:<br>- (true, true): A map is launched and the user gets to pick any location on it.<br>- (true, false): A map is launched and the user gets to pick any location on it.<br>- (false, true): A map is launched. The user can only submit the current location.<br>- (false, false): Map isn't launched. User's current location is fetched.
|`showLocation`| Shows location on map. |It takes a single input parameter location, which contains the coordinates of the location to be shown on the map.| > [!NOTE]
The following table lists the set of APIs to enable your device's location capab
> * If `allowChooseLocation` is set to true, then `showMap` is ignored. > * `showMap`= false is not supported on Teams web or desktop.
-For more information on `getLocation` and `showLocation`, see [LocationProps](/javascript/api/@microsoft/teams-js/microsoftteams.location?view=msteams-client-js-latest#getLocation_LocationProps___error__SdkError__location__Location_____void_&preserve-view=true).
+For more information on `getLocation` and `showLocation`, see [LocationProps](/javascript/api/@microsoft/teams-js/microsoftteams.location?view=msteams-client-js-latest&preserve-view=true#@microsoft-teams-js-microsoftteams-location-getlocation).
> [!IMPORTANT] > When your application or services access a Microsoft API that provides a location using the Bing Maps, you understand and agree that any content provided through Bing Maps, including geocodes, can only be used within the Microsoft API through which the content is provided. Your use of Bing Maps is governed by the Bing Maps End User Terms of Use available at [go.microsoft.com](https://go.microsoft.com/?linkid=9710837) and the [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=248686).</br>
platform Native Device Permissions https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/device-capabilities/native-device-permissions.md
Leverage appropriate HTML5 or Teams API to display a prompt for getting consent
> [!IMPORTANT] > > * Support for `camera`, `gallery`, and `microphone` is enabled through [**selectMedia API**](/javascript/api/@microsoft/teams-js/microsoftteams.media.media?view=msteams-client-js-latest&preserve-view=true). Use [**captureImage API**](/javascript/api/@microsoft/teams-js/microsoftteams.media#functions) for a single image capture.
-> * Support for `location` is enabled through [**getLocation API**](/javascript/api/@microsoft/teams-js/microsoftteams.location?.view=msteams-client-js-latest#getLocation_LocationProps___error__SdkError__location__Location_____void_&preserve-view=true). You must use this `getLocation API` for location, as HTML5 geolocation API isn't fully supported on the Teams desktop client.
+> * Support for `location` is enabled through [**getLocation API**](/javascript/api/@microsoft/teams-js/microsoftteams.location?.view=msteams-client-js-latest&preserve-view=true#@microsoft-teams-js-microsoftteams-location-getlocation). You must use this `getLocation API` for location, as HTML5 geolocation API isn't fully supported on the Teams desktop client.
For example:
platform B2c Apps https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/get-started/b2c-apps.md
Title: Integrate Teams Meetings & Calls
-description: In this module, learn how to integrate Teams meetings and calls in an external business-to-consumer (B2C) app.
+description: Learn how to integrate Teams meetings and calls in an external business-to-consumer (B2C) app, virtual appointments, and contact center.
ms.localizationpriority: high Last updated 03/01/2024
platform Build Basic Tab App https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/get-started/build-basic-tab-app.md
Title: Build your basic tab app
-description: Build your basic tab app
+description: Learn how to build your basic tab app in Microsoft Teams with the help of GitHub codespaces that opens Toolkit extension and step-by-step guides.
ms.localizationpriority: high Last updated 06/07/2023
platform Build Interactive Notification Bot https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/get-started/build-interactive-notification-bot.md
Title: Build an interactive notification bot
-description: Sends messages in Teams channel or group chat or personal chat.
+description: Learn to build an interactive notification bot with the help of GitHub codespaces which sends messages in Teams channel, group chat, or personal chat.
ms.localizationpriority: medium Last updated 06/07/2023
platform Build Message Extension https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/get-started/build-message-extension.md
Title: Build message extension
-description: In this module, learn how to build your first message extension for your Teams app.
+description: Learn how to build your first message extension for your Teams app with the help of GitHub codespaces that opens Toolkit extension and step-by-step guides.
ms.localizationpriority: medium Last updated 06/07/2023
platform Choose What Suits You https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/get-started/choose-what-suits-you.md
As a collaborative platform for building apps, Teams offers the full range of ap
You can use various tools and services to build your app. Following is an example development flow. 1. Plan your project and figure out the requirement.
-1. Design your app. Use Teams UI Kit and UI Library for designing tabs UI.
+1. Design your app. Use Teams UI Kit and Fluent UI React components for designing tabs UI.
1. Build your app with JavaScript using Teams Toolkit. 1. Extend functionality by adding more Teams capabilities, send activity feed notifications, and use Microsoft 365 data with :::image type="icon" source="../assets/icons/graph-small-icon.png"::: Microsoft Graph. 1. Test the app on a developer tenant with sample user data.
The following tools in the Teams platform help you during app development:
| App development phase | Teams platform tools | |--|--|
-| Design | Teams UI kit and Teams UI library |
+| Design | Teams UI kit and Fluent UI React components |
| Build | Teams Toolkit, Tools and SDKs, and Microsoft Graph | | Test, deploy, and publish |Microsoft Entra ID and Developer Portal | | Distribute | Partner Center and Teams Store |
platform Glossary https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/get-started/glossary.md
Common terms and definitions used in Microsoft Teams developer documentation.
| [Microsoft Partner Network ID](../concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md#uses-of-latest-app-manifest-schema) | The Microsoft Partner Network ID (MPN ID) that identifies the partner organization building the app. You can find your MPN ID by fetching the Partner Center ID.| | [Microsoft Teams](../overview.md) | Microsoft Teams is a group collaboration software that can be used to help teams work together remotely. | | [Microsoft Teams Platform](../concepts/app-fundamentals-overview.md) | The Microsoft Teams developer platform makes it easy for developers to integrate their own apps and services with Teams. |
-| [Microsoft Teams UI Library](../concepts/design/design-teams-app-ui-templates.md#microsoft-teams-ui-library) | Microsoft Teams UI Library helps you view and test individual Teams UI templates and related components in your browser. |
-| [Microsoft Teams UI Toolkit](../concepts/design/design-teams-app-ui-templates.md#microsoft-teams-ui-library) | Microsoft Teams UI Kit includes components and patterns that are designed specifically for building Teams apps. |
| Microsoft Store | It's a digital distribution platform operated by Microsoft. it's also known as Windows Store. <br> **See also**: [Teams Store](#t) | | [Monetization](../concepts/deploy-and-publish/appsource/prepare/monetize-overview.md)| Teams Store provides features that enable you to monetize your apps and gain customers by engaging with your users. <br> **See also**: [SaaS](#s)| | [Multitenant app](../tabs/how-to/authentication/tab-sso-register-aad.md) | A class of applications that enables sign-in and consent by users provisioned in any Microsoft Entra tenant, including tenants other than the one where the client app is registered. <br> **See also**: [Single-tenant apps](#s) |
platform Graph Proactive Bots And Messages https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md
The following code provides an example of sending proactive messages:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.cloudadapterbase.continueconversationasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-cloudadapterbase-continueconversationasync(system-string-microsoft-bot-schema-activity-microsoft-bot-builder-botcallbackhandler-system-threading-cancellationtoken)&preserve-view=true)
+* [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)
private async Task BotCallback(ITurnContext turnContext, CancellationToken cance
# [Node.js](#tab/nodejs)
-* [SDK reference](/javascript/api/botbuilder/cloudadapter?view=botbuilder-ts-latest#botbuilder-cloudadapter-continueconversationasync&preserve-view=true)
+* [SDK reference](/javascript/api/botbuilder/cloudadapter?view=botbuilder-ts-latest&preserve-view=true#botbuilder-cloudadapter-continueconversationasync)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-initiate-thread-in-channel/nodejs/bots/teamsStartNewThreadInChannel.js#L20) ```javascript
platform Grant Resource Specific Consent https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/rsc/grant-resource-specific-consent.md
You must have the following values from the Microsoft Entra registration process
* **Client secret** or **Certificate**: The password for your app, or the public or private key pair that is the certificate. The client secret or certificate isn't required for native apps. * **Redirect URI**: The URL for your app to receive responses from Microsoft Entra ID.
-For more information, see [get access on behalf of a user](/graph/auth-v2-user?view=graph-rest-1.0#3-get-a-token&preserve-view=true) and [get access without a user](/graph/auth-v2-service).
+For more information, see [get access on behalf of a user](/graph/auth-v2-user?view=graph-rest-1.0&preserve-view=true#3-get-a-token) and [get access without a user](/graph/auth-v2-service).
### Check the RSC permissions granted to a specific resource
platform Msgex Sso Code https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/includes/messaging-extensions/msgex-sso-code.md
To update your app's code:
>[!NOTE]
- > You might receive multiple responses for a given request if the user has multiple active endpoints. You must eliminate all duplicate or redundant responses with the token. For more information about signin/tokenExchange, see [TeamsSSOTokenExchangeMiddleware Class](/python/api/botbuilder-core/botbuilder.core.teams.teams_sso_token_exchange_middleware.teamsssotokenexchangemiddleware?view=botbuilder-py-latest#remarks&preserve-view=true).
+ > You might receive multiple responses for a given request if the user has multiple active endpoints. You must eliminate all duplicate or redundant responses with the token. For more information about signin/tokenExchange, see [TeamsSSOTokenExchangeMiddleware Class](/python/api/botbuilder-core/botbuilder.core.teams.teams_sso_token_exchange_middleware.teamsssotokenexchangemiddleware?view=botbuilder-py-latest&preserve-view=true#remarks).
1. Use the following code snippet for requesting a token.
platform Define Action Command https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md
The following code provides an example of action-based for message extensions:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsmessagingextensionfetchtaskasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsactivityhandler-onteamsmessagingextensionfetchtaskasync(microsoft-bot-builder-iturncontext((microsoft-bot-schema-iinvokeactivity))-microsoft-bot-schema-teams-messagingextensionaction-system-threading-cancellationtoken)&preserve-view=true)
+* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsmessagingextensionfetchtaskasync?view=botbuilder-dotnet-stable&preserve-view=true)
* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-action-preview/csharp/Bots/TeamsMessagingExtensionsActionPreviewBot.cs#L35-L56) ```csharp
platform Define Search Command https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md
The following code provides an example of search-based for message extensions:
# [C#](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsmessagingextensionqueryasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsactivityhandler-onteamsmessagingextensionqueryasync(microsoft-bot-builder-iturncontext((microsoft-bot-schema-iinvokeactivity))-microsoft-bot-schema-teams-messagingextensionquery-system-threading-cancellationtoken)&preserve-view=true)
+* [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) ```csharp
platform Respond To Search https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md
The request parameters are found in the `value` object in the request, which inc
# [C#/.NET](#tab/dotnet)
-* [SDK reference](/dotnet/api/microsoft.bot.builder.teams.teamsactivityhandler.onteamsmessagingextensionqueryasync?view=botbuilder-dotnet-stable#microsoft-bot-builder-teams-teamsactivityhandler-onteamsmessagingextensionqueryasync(microsoft-bot-builder-iturncontext((microsoft-bot-schema-iinvokeactivity))-microsoft-bot-schema-teams-messagingextensionquery-system-threading-cancellationtoken)&preserve-view=true)
+* [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/msgext-link-unfurling/csharp/Bots/LinkUnfurlingBot.cs#L32) ```csharp
platform Bots Conversations https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/bot-v3/bot-conversations/bots-conversations.md
For more information on the types of bot interaction supported by the Bot Framew
## Message formatting
-You can set the optional [`TextFormat`](/azure/bot-service/dotnet/bot-builder-dotnet-create-messages?view=azure-bot-service-3.0#customizing-a-message&preserve-view=true) property of a `message` to control how your message's text content is rendered. See [Message formatting](~/resources/bot-v3/bots-message-format.md) for a detailed description of supported formatting in bot messages.
-You can set the optional [`TextFormat`](/azure/bot-service/dotnet/bot-builder-dotnet-create-messages?view=azure-bot-service-3.0#customizing-a-message&preserve-view=true) property to control how your message's text content is rendered.
+You can set the optional [`TextFormat`](/azure/bot-service/dotnet/bot-builder-dotnet-create-messages?view=azure-bot-service-3.0&preserve-view=true#customizing-a-message) property of a `message` to control how your message's text content is rendered. See [Message formatting](~/resources/bot-v3/bots-message-format.md) for a detailed description of supported formatting in bot messages.
+You can set the optional [`TextFormat`](/azure/bot-service/dotnet/bot-builder-dotnet-create-messages?view=azure-bot-service-3.0&preserve-view=true#customizing-a-message) property to control how your message's text content is rendered.
For detailed information on how Teams supports text formatting in teams see [Text formatting in bot messages](~/resources/bot-v3/bots-text-formats.md).
string tenantId = channelData.Tenant.Id;
## Sending replies to messages
-To reply to an existing message, call [`ReplyToActivity`](/dotnet/api/microsoft.bot.connector.conversationsextensions.replytoactivityasync?view=botbuilder-dotnet-3.0#Microsoft_Bot_Connector_ConversationsExtensions_ReplyToActivityAsync_Microsoft_Bot_Connector_IConversations_System_String_System_String_Microsoft_Bot_Connector_Activity_System_Threading_CancellationToken_&preserve-view=true) in .NET or [`session.send`](/javascript/api/botbuilder-core/TurnContext?view=botbuilder-ts-latest&viewFallbackFrom=botbuilder-ts-3.0#sendactivities&preserve-view=true) in Node.js. The Bot Builder SDK handles all the details.
+To reply to an existing message, call [`ReplyToActivity`](/dotnet/api/microsoft.bot.connector.conversationsextensions.replytoactivityasync?view=botbuilder-dotnet-3.0#Microsoft_Bot_Connector_ConversationsExtensions_ReplyToActivityAsync_Microsoft_Bot_Connector_IConversations_System_String_System_String_Microsoft_Bot_Connector_Activity_System_Threading_CancellationToken_&preserve-view=true) in .NET or [`session.send`](/javascript/api/botbuilder-core/TurnContext?view=botbuilder-ts-latest&viewFallbackFrom=botbuilder-ts-3.0&preserve-view=true#sendactivities) in Node.js. The Bot Builder SDK handles all the details.
If you choose to use the REST API, you can also call the [`/v3/conversations/{conversationId}/activities/{activityId}`](/azure/bot-service/rest-api/bot-framework-rest-connector-send-and-receive-messages?view=azure-bot-service-3.0&preserve-view=true) endpoint.
platform Bots Notifications https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/bot-v3/bots-notifications.md
The following table lists the events that your bot can receive and take action o
## Team member or bot addition
-The [`conversationUpdate`](/azure/bot-service/dotnet/bot-builder-dotnet-activities?view=azure-bot-service-3.0#conversationupdate&preserve-view=true) event is sent to your bot when it receives information on membership updates for teams where it has been added. It also receives an update when it has been added for the first time specifically for personal conversations. The user information (`Id`) is unique for your bot and can be cached for future use by your service, such as, sending a message to a specific user.
+The [`conversationUpdate`](/azure/bot-service/dotnet/bot-builder-dotnet-activities?view=azure-bot-service-3.0&preserve-view=true#conversationupdate) event is sent to your bot when it receives information on membership updates for teams where it has been added. It also receives an update when it has been added for the first time specifically for personal conversations. The user information (`Id`) is unique for your bot and can be cached for future use by your service, such as, sending a message to a specific user.
### Bot or user added to a team
platform App Templates https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/app-templates.md
The following table describes App template code samples:
|Incident Reporter | Incident Reporter is a [Microsoft Teams bot](../bots/what-are-bots.md) that optimizes the management of incidents in your organization. The bot facilitates automated incident data collection, customized incident reports, relevant stakeholder notifications, and end-to-end incident tracking.|[Incident Reporter](https://github.com/OfficeDev/microsoft-teams-apps-incidentreport) | | Inspection|Inspection is a Teams app that enables front line workers to inspect anything from locations to assets and equipments. For example, a retail store, manufacturing plant, or vehicles and machines. There are two apps in this solution, each intended for different types of users. The app empowers the front line workers to inspect an asset or area, to manage quality of products and services, or maintain safety at workplace. It facilitates communication between team members to address issues found during inspection. The app provides simple reports for managers to expedite issue resolution and highlight trends. |[Inspection](https://github.com/OfficeDev/microsoft-teams-apps-inspection) | |Issue Reporting |The Issue Reporting app empowers the employees and managers to raise and manage issues. It consists of two apps, Issue reporting app for reporting issues and Manage Issues app for managing issues. The team managers use the Manage Issues app to configure the app experience, including the channel in which Teams messages and Planner tasks are created by the app. Managers also use the app to create template forms to collect details when a user reports an issue. For example, review, edit, or delete issue template forms. The app is also used to review team issues, report on issue history, and efficiently manage issue resolution. The employees use the Issue reporting app to log issues and details required to resolve them. The app is also used to modify and resolve existing issues and get a high-level view of individual or team issues. |[Issue Reporting](https://github.com/OfficeDev/microsoft-teams-apps-issuereporting) |
-| New Employee Onboarding| New Employee Onboarding is an integrated Teams and [SharePoint New Employee Onboarding Solution](https://lookbook.microsoft.com/details/75e60a32-9849-4ed4-b83e-b2b08983ad19) that enables your organization to provide a consistent, high-quality onboarding experience for employees on their new-hire journey. The app is used by human resource teams and hiring managers to provide relevant information throughout the orientation and induction process and by new hires to share feedback, provide introductions, and complete onboarding tasks.|[New Employee Onboarding](https://github.com/OfficeDev/microsoft-teams-apps-newemployeeonboarding) |
+| New Employee Onboarding| New Employee Onboarding is an integrated Teams and [SharePoint New Employee Onboarding Solution](https://adoption.microsoft.com/en-us/sharepoint-look-book/new-employee-onboarding/) that enables your organization to provide a consistent, high-quality onboarding experience for employees on their new-hire journey. The app is used by human resource teams and hiring managers to provide relevant information throughout the orientation and induction process and by new hires to share feedback, provide introductions, and complete onboarding tasks.|[New Employee Onboarding](https://github.com/OfficeDev/microsoft-teams-apps-newemployeeonboarding) |
| Open Badges| Open Badges is a Teams app that enables individuals to earn digital learning credential badges within the Teams context and share them everywhere. Using capabilities from the third-party digital badge issuing authority, [Badgr](https://badgr.org/), awarded badges are recorded in a recipient's Badgr profile and available to build and share a rich picture of lifetime learning journeys.|[Open Badges](https://github.com/OfficeDev/microsoft-teams-apps-openbadges) | | Quick Responses| Quick Responses is a Teams app that delivers a robust solution for effectively answering users' commonly asked questions FAQs. Instead of answering each query manually and continuously repeating information, the app builds a library of responses for an interactive user experience through Teams [message extensions](../messaging-extensions/what-are-messaging-extensions.md).|[Quick Responses](https://github.com/OfficeDev/microsoft-teams-apps-quickresponses) | | Rapid Assist|Rapid Assist is a Microsoft [Power Platform](https://powerapps.microsoft.com/blog/) based app that allows customer facing associates to rapidly connect with the experts to get quick answers, search for information, follow up open requests, and allow experts to receive notifications to quickly get on a call to help answer questions. The app built using Microsoft [Power Apps](/powerapps/powerapps-overview) and [Power Automate](/power-automate/getting-started), deeply integrates with Teams to enable organizations to easily connect frontline workers with corporate liaisons to resolve customer queries and deliver a great customer experience. |[Rapid Assist](https://github.com/OfficeDev/microsoft-teams-apps-rapid-assist) |
platform Virtual Assistant https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/virtual-assistant.md
The allowed callers array can restrict which skill consumers can access the skil
"AllowedCallers": [ "*" ], ```
-For more information on adding claims validation to a skill, see [add claims validation to skill](/azure/bot-service/skill-implement-skill?view=azure-bot-service-4.0&tabs=cs#claims-validator&preserve-view=true).
+For more information on adding claims validation to a skill, see [add claims validation to skill](/azure/bot-service/skill-implement-skill?view=azure-bot-service-4.0&tabs=cs&preserve-view=true#claims-validator).
### Limitation of card refresh
platform Build A Dashboard Tab App https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/Build-a-dashboard-tab-app.md
Your team can get the latest updates from different sources in Teams using the T
## Add a new dashboard
-After you've created a dashboard tab app, you can add a new dashboard.
+After you create a dashboard tab app, you can add a new dashboard.
To add a new dashboard, follow these steps:
Follow the [step-by-step](~/sbs-create-dashboard-widget-graph-api-call-in-Teams-
* [What are Teams tabs](../what-are-tabs.md) * [App design guidelines for tab](../design/tabs.md)
-* [Fluent UI library](https://react.fluentui.dev/?path=/docs/concepts-introduction--page)
-* [Fluent UI React charting examples](https://63587347138fdad13ed63ccd-omfbjvvebn.chromatic.com/?path=/story/ui-templates-dashboards--default)
+* [Fluent UI React components](https://react.fluentui.dev/?path=/docs/concepts-introduction--page)
platform Tab Sso Graph Api https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/authentication/tab-sso-graph-api.md
IConfidentialClientApplication app = ConfidentialClientApplicationBuilder.Create
### [Node.js](#tab/nodejs)
-[ConfidentiaClientApplication class](/javascript/api/@azure/msal-node/confidentialclientapplication?view=azure-node-latest#@azure-msal-node-confidentialclientapplication-acquiretokenonbehalfof&preserve-view=true) SDK reference | [sample code](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/tab-sso/nodejs/src/server/tabs.js#L51-L94)
+[ConfidentiaClientApplication class](/javascript/api/@azure/msal-node/confidentialclientapplication?view=azure-node-latest&preserve-view=true#@azure-msal-node-confidentialclientapplication-acquiretokenonbehalfof) SDK reference | [sample code](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/tab-sso/nodejs/src/server/tabs.js#L51-L94)
```Node.js // Exchange client Id side token with server token
platform Tab Sso Troubleshooting https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
To understand the bot behavior when the token exchange fails to trigger a consen
} ```
-6. If the `TokenExchangeInvokeResponse` has a `status` of `200`, then the client doesn't show the OAuth card. See the [normal flow image](/azure/bot-service/bot-builder-concept-sso?view=azure-bot-service-4.0#sso-components-interaction&preserve-view=true). For any other `status` or if the `TokenExchangeInvokeResponse` isn't received, then the client shows the OAuth card to the user. See the [fallback flow image](/azure/bot-service/bot-builder-concept-sso?view=azure-bot-service-4.0#sso-components-interaction&preserve-view=true). If there are any errors or unmet dependencies like user consent, this activity ensures that the SSO flow falls back to normal OAuthCard flow.
+6. If the `TokenExchangeInvokeResponse` has a `status` of `200`, then the client doesn't show the OAuth card. See the [normal flow image](/azure/bot-service/bot-builder-concept-sso?view=azure-bot-service-4.0&preserve-view=true#sso-components-interaction). For any other `status` or if the `TokenExchangeInvokeResponse` isn't received, then the client shows the OAuth card to the user. See the [fallback flow image](/azure/bot-service/bot-builder-concept-sso?view=azure-bot-service-4.0&preserve-view=true#sso-components-interaction). If there are any errors or unmet dependencies like user consent, this activity ensures that the SSO flow falls back to normal OAuthCard flow.
> [!NOTE] >
platform Build Adaptive Card Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/build-adaptive-card-tabs.md
Communication between your Adaptive Card tab and your bot is done through `invok
> [!NOTE] >
-> * Bots need to send all the responses to [service URL](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#base-uri&preserve-view=true). Service URL is received as part of incoming `activity` payload.
+> * Bots need to send all the responses to [service URL](/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0&preserve-view=true#base-uri). Service URL is received as part of incoming `activity` payload.
> * The invoke payload size has increased to 80kb. ### Fetch Adaptive Card to render to a tab
platform Cards Actions https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/cards/cards-actions.md
Cards used by bots and message extensions in Microsoft Teams support the followi
> >* Teams does not support `CardAction` types not listed in the previous table. >* Teams does not support the `potentialActions` property.
->* Card actions are different than [suggested actions](/azure/bot-service/bot-builder-howto-add-suggested-actions?view=azure-bot-service-4.0&tabs=javascript#suggest-action-using-button&preserve-view=true) in Bot Framework or Azure Bot Service.
+>* Card actions are different than [suggested actions](/azure/bot-service/bot-builder-howto-add-suggested-actions?view=azure-bot-service-4.0&tabs=javascript&preserve-view=true#suggest-action-using-button) in Bot Framework or Azure Bot Service.
>* If you are using a card action as part of a message extension, the actions do not work until the card is submitted to the channel. The actions do not work while the card is in the compose message box. ## Action type openUrl
platform Cards Reference https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/cards/cards-reference.md
To create a hero card, thumbnail card, or Adaptive Card from Developer Portal fo
You can find additional information on how to use cards in the documentation for the Bot Builder SDK v3. Code samples are also available in the **Microsoft/BotBuilder-Samples** repository on GitHub. Following are a few card examples: * .NET
- * [Add cards as attachments to messages](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=csharp#send-an-adaptive-card&preserve-view=true).
+ * [Add cards as attachments to messages](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=csharp&preserve-view=true#send-an-adaptive-card).
* [Cards sample code Bot Builder v4](https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/06.using-cards). * Node.js
- * [Add cards as attachments to messages](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=javascript#send-an-adaptive-card&preserve-view=true).
+ * [Add cards as attachments to messages](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=javascript&preserve-view=true#send-an-adaptive-card).
* [Cards sample code Bot Builder v4](https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/javascript_nodejs/06.using-cards). ## Card types
Example:
Bot Framework reference:
-* [Adaptive Cards Node](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=javascript#send-an-adaptive-card&preserve-view=true)
-* [Adaptive Card C#](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=csharp#send-an-adaptive-card&preserve-view=true)
+* [Adaptive Cards Node](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=javascript&preserve-view=true#send-an-adaptive-card)
+* [Adaptive Card C#](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=csharp&preserve-view=true#send-an-adaptive-card)
To know more about Adaptive Cards, see [Adaptive Cards](/adaptive-cards/).
The following code shows an example of a hero card:
Bot Framework reference:
-* [Hero card Node.js](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=javascript#send-a-hero-card&preserve-view=true)
-* [Hero card C#](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=csharp#send-a-hero-card&preserve-view=true)
+* [Hero card Node.js](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=javascript&preserve-view=true#send-a-hero-card)
+* [Hero card C#](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&preserve-view=true&tabs=csharp#send-a-hero-card)
## List card
You can work with card collections that include carousel and list collections. T
### Carousel collection
-The [carousel layout](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=csharp#send-a-carousel-of-cards&preserve-view=true) shows a carousel of cards, optionally with associated action buttons.
+The [carousel layout](/azure/bot-service/bot-builder-howto-add-media-attachments?view=azure-bot-service-4.0&tabs=csharp&preserve-view=true#send-a-carousel-of-cards) shows a carousel of cards, optionally with associated action buttons.
#### Support for carousel collections
platform Teams Toolkit CLI https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/Teams-Toolkit-CLI.md
Title: Teams Toolkit Command Line Interface
-description: In this module, learn Teamsapp Command Line Interface, supported commands, and its scenarios.
+description: Learn about Teams Toolkit Command Line Interface for Teams app development in different versions, supported commands, scenarios, interactive mode, global options.
ms.localizationpriority: medium
platform Teamsfx SDK https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/TeamsFx-SDK.md
Title: TeamsFx SDK
-description: In this module, learn about TeamsFx SDK, core concepts and code structure, advanced Customization and scenarios
+description: Learn about core functionalities of TeamsFx SDK and its prerequisites, code structure, advanced customizing, Graph scenarios, Bot SSO, and latest SDK version.
ms.localizationpriority: medium
platform Teamsfx Collaboration https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/TeamsFx-collaboration.md
Title: Collaborate on TeamsFx - Teams Toolkit
-description: In this article, learn how to collaborate on TeamsFx Project using Teams Toolkit and collaborate with other developers.
+description: In this module, learn how to collaborate on TeamsFx Project as project owner or collaborator using Teams Toolkit, remove collaboration, and test app behavior.
ms.localizationpriority: medium
platform Teamsfx Preview And Customize App Manifest https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/TeamsFx-preview-and-customize-app-manifest.md
Title: Customize app manifest in Teams Toolkit
-description: Learn how to edit, preview, and customize app manifest in different environments.
+description: Learn how to edit and preview app manifest in local and remote environments, customize app manifest in Visual Studio Code, and ways to validate and update app.
ms.localizationpriority: medium
platform Build A RAG Bot In Teams https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/build-a-RAG-bot-in-teams.md
Title: Build a RAG bot in Teams
-description: In this module, learn how to build RAG bot using Teams AI library.
+description: Learn how to build basic AI chatbot using Teams AI library in Teams Toolkit, RAG scenarios, data integration, Azure AI Search, and Microsoft 365 as data sources.
ms.localizationpriority: high
Here's a minimal set of implementations to add RAG to your app. In general, it i
```python planner.prompts.add_data_source(MyDataSource()) ```+ * Create the `prompts/qa/skprompt.txt` file and add the following text:
platform Create New Project https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/create-new-project.md
Title: Create a new Teams app
-description: In this module, learn how to create a new Teams app using Teams Toolkit using Visual Studio Code.
+description: Learn how to create basic and scenario-based Teams app in Visual Studio Code, its directory structure, and Teams app template available in Teams Toolkit.
ms.localizationpriority: high
platform Debug Local https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/debug-local.md
Title: Debug your Teams app locally
-description: In this module, learn how to debug your Teams app locally in Teams Toolkit.
+description: Learn how to set up Teams Toolkit to debug Teams app in Visual Studio Code, debug process, dev tunnel, and debug configurations.
ms.localizationpriority: high
Teams Toolkit launches your browser instance and opens a webpage to load Teams c
```cmd devtunnel user login ```+ :::image type="content" source="../assets/images/teams-toolkit-v2/debug/devtunnel-user-login.png" alt-text="Screenshot shows the devtunnel login."::: 1. Run the following command to start your local tunnel service:
Teams Toolkit launches your browser instance and opens a webpage to load Teams c
BOT_DOMAIN=sample-id-3978.devtunnels.ms BOT_ENDPOINT=https://sample-id-3978.devtunnels.ms/ ```+ :::image type="content" source="../assets/images/teams-toolkit-v2/debug/bot-domain.png" alt-text="Screenshot shows the bot domain and endpoint."::: 1. Run the following command to provision the app to Teams:
Teams Toolkit launches your browser instance and opens a webpage to load Teams c
```cmd teamsapp provision --env local ```+ :::image type="content" source="../assets/images/teams-toolkit-v2/debug/provision-env-local.png" alt-text="Screenshot shows provision the app to Teams."::: 1. Run the following command to deploy the app to Teams:
Teams Toolkit launches your browser instance and opens a webpage to load Teams c
```cmd teamsapp deploy --env local ```+ :::image type="content" source="../assets/images/teams-toolkit-v2/debug/deploy-env-local.png" alt-text="Screenshot shows deploy the app to Teams."::: 1. Run the following command to preview your application locally:
If you want to preview a notification bot hosted on Azure Functions, run the fol
```cmd npm run prepare-storage:teamsapp ```+ ## Debug your app
platform Debug Mobile https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/debug-mobile.md
Title: Debug for mobile
-description: In this module, learn how to debug your Teams app in mobile clients.
+description: Learn how to debug and test your Teams app with tab and bot capability on mobile client in both Visual Studio Code and command line.
ms.localizationpriority: high
platform Debug Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/debug-overview.md
Title: Debug your Teams app
-description: In this module, learn how to debug your Teams app and key features of Teams Toolkit.
+description: Learn how to prepare and debug Teams app locally and in Teams App Test tool, customize debug settings in Teams Toolkit, and its key features.
ms.localizationpriority: high
platform Debug Your Teams App Test Tool https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/debug-your-Teams-app-test-tool.md
Title: Debug bot using Teams App Test Tool
-description: Learn how to emulate the Teams experience for your bot in Teams App Test Tool.
+description: Learn about Teams app Test Tool in Teams Toolkit and debug existing app, advantages, activity triggers, and customize Teams context.
ms.localizationpriority: high
Test Tool offers a faster debug experience for bot applications when compared to
If the Test Tool for C# doesn't initiate because of a port conflict, alter the Test Tool's port number in the `TEAMSAPPTESTER_PORT` environment variable where you run `teamsapptester.exe start`.
-1. Test Tool opens the bot in a webpage.
+ 1. Test Tool opens the bot in a webpage.
:::image type="content" source="../assets/images/teams-toolkit-v2/debug/test-tool.png" lightbox="../assets/images/teams-toolkit-v2/debug/test-tool.png" alt-text="Screenshot shows the bot open in Test Tool."
platform Deploy Teams App To Container Service https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/deploy-Teams-app-to-container-service.md
Title: Deploy Teams app to container service
-description: In this module, learn how to deploy a Teams App to a Container Service.
+description: Learn how to deploy a Teams bot or tab to Azure Container Apps, Azure Kubernetes Services, and on-premises Kubernetes Cluster, and its architecture.
ms.localizationpriority: medium
platform Deploy https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/deploy.md
Title: Deploy to the cloud
-description: Learn how to deploy app to the cloud, Azure, or SharePoint using Teams Toolkit in Visual Studio Code.
+description: Learn how to deploy and customize Teams app to cloud resources such as Azure App Services, Azure Storage, or SharePoint using Teams Toolkit in Visual Studio Code.
ms.localizationpriority: medium
platform Explore Teams Toolkit https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/explore-Teams-Toolkit.md
Title: Explore Teams Toolkit
-description: Learn about Teams Toolkit UI elements and task pane for Visual Studio Code.
+description: Learn about Teams Toolkit UI in Visual Studio Code, explore and know about the functionality and details of each element in the task pane, and how-to guides.
ms.localizationpriority: medium
platform Faq https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/faq.md
Title: FAQ
-description: In this module, see FAQ for Teams Toolkit using Visual Studio Code.
+description: In this article, check the FAQs on provision using Teams Toolkit in Visual Studio, troubleshoot errors, switch Azure subscription, and change resource group.
ms.localizationpriority: medium
platform Install Teams Toolkit https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/install-Teams-Toolkit.md
Title: Install Teams Toolkit
-description: Learn about installation of Teams Toolkit of different versions in Visual Studio Code and marketplace.
+description: Learn how to install Teams Toolkit from Visual Studio Code and marketplace, and to install different Teams Toolkit versions and pre-release versions.
ms.localizationpriority: medium
platform Publish Your Teams Apps Using Developer Portal https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/publish-your-teams-apps-using-developer-portal.md
Title: Publish App using Developer Portal
-description: Learn how to integrate with Developer Portal in Teams Toolkit.
+description: Learn how to publish the app using Developer Portal in Teams Toolkit from Visual Studio Code, update app manifest, and publish manually.
ms.localizationpriority: medium
platform Teams Toolkit Tutorial https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/teams-toolkit-tutorial.md
Title: Teams toolkit tutorial and code samples
-description: The article lists the app that you want to build and the associated guides.
+description: Learn how to build a basic or scenario-based Teams app with different capabilities and prepare development environment in different languages and frameworks.
ms.localizationpriority: medium Last updated 05/16/2023
platform Test App Behavior https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/test-app-behavior.md
Title: Test App in Local & Cloud Environments
-description: In this module, learn how to test app behavior in different environment.
+description: Learn about the prerequisites and how to test app behavior in local and cloud environments using Teams Toolkit after integration with Teams.
ms.localizationpriority: high
platform Teamsfx Preview And Customize App Manifest Vs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/TeamsFx-preview-and-customize-app-manifest-vs.md
Title: Customize App Manifest in Teams Toolkit
-description: In this module, learn how to edit, preview, and customize app manifest in different environment in Teams Toolkit.
+description: Learn how to customize and preview the app manifest for different environments in Teams Toolkit for Visual Studio, and sync local changes in Developer Portal.
ms.localizationpriority: medium
platform Create New Project Vs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/create-new-project-vs.md
Title: Create Teams App with Teams Toolkit
-description: In this module, learn how to create a new Teams app using Teams Toolkit.
+description: Learn how to create Teams app in Visual Studio using templates, its prerequisites, directory structure, and teams app template available in Teams Toolkit.
ms.localizationpriority: high
To create a new Teams app, follow the steps:
You have created the app project scaffolding for your Teams app using Teams Toolkit template.
-The steps to create the other apps are similar except notification bot.
-
+The steps to create the other apps are similar except notification bot.
### Directory Structure
platform Debug Local Vs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/debug-local-vs.md
Title: Debug Teams App Locally
-description: In this module, learn how to debug your Teams app locally in Teams Toolkit using Visual Studio.
+description: Learn how to set up dev tunnel for bots and message extensions and prepare Teams Toolkit to debug your Teams app locally using Visual Studio.
ms.localizationpriority: high
platform Debug Overview Vs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/debug-overview-vs.md
Title: Debug Teams App
-description: In this module, learn how to debug your Teams app, and key features of Teams Toolkit using Visual Studio.
+description: In this module, learn how to debug Teams app both locally and using Teams App Test tool, launch Teams app as web app, and about key features of Teams Toolkit.
ms.localizationpriority: high
platform Debug Your Teams App Test Tool Vs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/debug-your-Teams-app-test-tool-vs.md
Title: Debug Bot with Teams App Test Tool
-description: Learn how to emulate the Teams experience for your bot in Teams App Test Tool in Visual Studio.
+description: Learn how to build, configure, and deploy bot using Teams App Test Tool in Visual Studio, and to mock an activity using predefined and custom activity triggers.
ms.localizationpriority: medium
platform Deploy Vs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/deploy-vs.md
Title: Deploy to the cloud using Visual Studio
-description: Learn how to deploy app to the cloud, Azure, or SharePoint using Teams Toolkit in Visual Studio.
+description: Learn how to deploy Teams app to cloud resources such as Azure or SharePoint using Teams Toolkit in Visual Studio, and to customize and edit deploy section.
ms.localizationpriority: medium
platform Explore Teams Toolkit Vs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/explore-Teams-Toolkit-vs.md
Title: Explore Teams Toolkit in Visual Studio
-description: Learn about Teams Toolkit UI elements and task pane in Visual Studio.
+description: Learn about Teams Toolkit UI in Visual Studio, and functions such as app dependencies, manifest update, and authentication code to build and develop your app.
ms.localizationpriority: medium
After you've created your Teams app project, you can use the following options t
* [Create a new Teams app using Teams Toolkit](create-new-project-vs.md) * [App manifest schema](~/resources/schem) * [Prepare to build apps using Teams Toolkit](build-environments-v4.md)-
platform Faq V4 https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/faq-v4.md
Title: FAQ v4
-description: In this module, See FAQ for Teams Toolkit v4 using Visual Studio Code
+description: Learn how to troubleshoot errors with Teams Toolkit in Visual Studio Code, switch Azure subscription, change resource group, and provision SharePoint based app.
ms.localizationpriority: medium
platform Install Teams Toolkit Vs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/install-Teams-Toolkit-vs.md
Title: Install Teams Toolkit in Visual Studio
-description: Learn about installation of Teams Toolkit of different versions in Visual Studio, and marketplace.
+description: Learn how to install Microsoft Teams Toolkit for Visual Studio and to use Visual Studio installer to install the required version of Visual Studio.
ms.localizationpriority: medium
The Visual Studio 2022 window appears.
* [Teams Toolkit Overview](teams-toolkit-fundamentals-vs.md) * [Prepare to build apps](build-environments-v4.md) * [Provision cloud resources](provision-vs.md)
-* [Deploy Teams app to the cloud](deploy-vs.md)s
+* [Deploy Teams app to the cloud](deploy-vs.md)
platform Tools Prerequisites V4 https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/tools-prerequisites-v4.md
Title: Prerequisites to Create Teams App in VS
-description: In this module, learn the prerequisites required for Tools and SDK, and Teams Toolkit.
+description: Learn about the tools required to build a Teams app in Visual Studio, prepare accounts, and verify and enable custom app upload in admin center.
ms.localizationpriority: high
platform Tools Prerequisites https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/tools-prerequisites.md
Title: Prerequisites to Create Teams App
-description: In this module, learn the prerequisites required for Tools and SDK.
+description: Learn about the tools required to build a Teams app in Visual Studio Code, how to prepare accounts, verify and enable custom app upload.
ms.localizationpriority: high
platform Use Existing Aad App https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/use-existing-aad-app.md
Title: Use Existing Microsoft Entra App for TeamsFx
-description: In this module, learn how to use the existing Microsoft Entra app or manually create Microsoft Entra app for TeamsFx.
+description: Learn how to use an existing Microsoft Entra app in TeamsFx or create a new app for TeamsFx, set up info in TeamsFx project, and upload the app to Azure.
ms.localizationpriority: medium
platform Add Incoming Webhook https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/webhooks-and-connectors/how-to/add-incoming-webhook.md
Last updated 01/25/2023
# Create Incoming Webhooks
+> [!IMPORTANT]
+>
+> The existing Microsoft 365 (previously called Office 365) connectors across all cloud platforms are nearing deprecation, and the creation of new Microsoft 365 connectors will soon be blocked. For more information on the schedule and how the Workflows app provides a more flexible and secure experience, see [retirement of Microsoft 365 connectors within Microsoft Teams](https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/).
+ An Incoming Webhook lets external applications share content in Microsoft Teams channels. The webhooks are used as tools to track and notify. The webhooks provide a unique URL to send a JSON payload with a message in card format. Cards are user interface containers that include content and actions related to a single article. You can use cards in the following capabilities: * Bots
platform Connectors Creating https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md
Last updated 04/16/2023
# Create connectors for Microsoft 365 Groups
+> [!IMPORTANT]
+>
+> The existing Microsoft 365 (previously called Office 365) connectors across all cloud platforms are nearing deprecation, and the creation of new Microsoft 365 connectors will soon be blocked. For more information on the schedule and how the Workflows app provides a more flexible and secure experience, see [retirement of Microsoft 365 connectors within Microsoft Teams](https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/).
+ With Microsoft Teams apps, you can add your existing connector for Microsoft 365 Groups or build a new one within Teams. For more information, see [build your own connector](/outlook/actionable-messages/connectors-dev-dashboard#build-your-own-connector). See the following video to learn how to create an connectors for Microsoft 365 Groups:
platform Connectors Using https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/webhooks-and-connectors/how-to/connectors-using.md
Last updated 12/09/2022
# Create and send messages
+> [!IMPORTANT]
+>
+> The existing Microsoft 365 (previously called Office 365) connectors across all cloud platforms are nearing deprecation, and the creation of new Microsoft 365 connectors will soon be blocked. For more information on the schedule and how the Workflows app provides a more flexible and secure experience, see [retirement of Microsoft 365 connectors within Microsoft Teams](https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/).
+ To create and send actionable messages, use either an Incoming Webhook or a Microsoft 365 connector. However, the actionable messages are accessible only to users with an Exchange Online license. ## Create actionable messages
platform What Are Webhooks And Connectors https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/webhooks-and-connectors/what-are-webhooks-and-connectors.md
Last updated 11/23/2022
# Build webhooks and connectors
+> [!IMPORTANT]
+>
+> The existing Microsoft 365 (previously called Office 365) connectors across all cloud platforms are nearing deprecation, and the creation of new Microsoft 365 connectors will soon be blocked. For more information on the schedule and how the Workflows app provides a more flexible and secure experience, see [retirement of Microsoft 365 connectors within Microsoft Teams](https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/).
+ Webhooks and connectors help to connect the web services to channels and teams in Microsoft Teams. Webhooks are user-defined HTTP callback that notifies users about any action that has taken place in the Teams channel. It's a way for an app to get real-time data. Connectors allow users to subscribe to receive notifications and messages from your web services. They expose an HTTPS endpoint for your service to post messages in the form of cards. > [!IMPORTANT]
platform Whats New https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/whats-new.md
Discover Microsoft Teams platform features that are deprecated. You can now get
Teams platform features that aren't available.
+* ***July 16, 2024***: The existing [Microsoft 365 (previously called Office 365) connectors ](webhooks-and-connectors/what-are-webhooks-and-connectors.md) across all cloud platforms are nearing deprecation, and the creation of new Microsoft 365 connectors will soon be blocked. For more information on the schedule and how the Workflows app provides a more flexible and secure experience, see [retirement of Microsoft 365 connectors within Microsoft Teams](https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/).
+ * ***April 30, 2024***: In tab experiences, tab margins are deprecated. * ***April 12, 2024***: The `packageName` property is deprecated as part of app manifest v1.17.