Updates from: 06/14/2024 12:03:49
Service Microsoft Docs article Related commit history on GitHub Change details
platform Calls Meetings Bots Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/calls-and-meetings/calls-meetings-bots-overview.md
Title: Calls and online meetings bots
-description: Learn how your Microsoft Teams apps can interact with users using voice and video using Microsoft Graph APIs for calls and online meetings and learn about real-time media streams
+description: Learn how to integrate voice and video in Microsoft Teams apps using Microsoft Graph API for apps to interact with users, and manage real-time media streams.
ms.localizationpriority: medium Last updated 05/16/2022
Following are the different call types and permissions required for the call:
* A user can initiate a peer-to-peer call with your bot or invite your bot into an existing multiparty call. The multiparty call isn't enabled yet in the Teams user interface. > [!NOTE]
- > User initiated calls to a bot are currently not supported on Teams mobile platform.
+ > User initiated calls to a bot aren't supported on the Teams mobile client.
* Graph permissions aren't necessary for a user to initiate a peer-to-peer call with your bot. Additional permissions are needed for your bot to participate in a multiparty call, or for your bot to initiate a peer-to-peer call with a user. * A call can start as peer-to-peer and eventually become a multiparty call. Your bot can initiate multiparty calls by inviting others, provided your bot has the proper permissions. If your bot doesn't have permissions to participate in group calls and if a participant adds another participant to the call, your bot is dropped from the call.
platform Real Time Media Concepts https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/calls-and-meetings/real-time-media-concepts.md
Title: Real-time media calls and online meetings with Microsoft Teams
-description: Learn how Real-time Media Platform enables bots to interact with Microsoft Teams calls and meetings. Explore, media sessions, frames and frame rate, audio and video format, active speakers, video subscription.
+description: Learn how bot interacts with Teams calls and online meetings. Explore media sessions, frame rate, audio and video format, active speakers, and video subscription.
ms.localizationpriority: medium Last updated 06/02/2022
platform Registering Calling Bot https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/calls-and-meetings/registering-calling-bot.md
Title: Register calls and meetings bot for Microsoft Teams
-description: Learn how to register a new audio/video calling bot for Microsoft Teams, create new bot or add calling capability, add graph permissions. Sample to create call, join meeting and transfer call.
+description: Learn to register audio and video call bot, create a bot or add calling capability, and add graph permissions. Sample to create call, join meeting and transfer call.
ms.localizationpriority: medium Last updated 11/23/2022
platform Bots https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/design/bots.md
In channels and group chats, a tour should open in a modal (also known as a [dia
## Chat with a bot
-Bots integrate directly into TeamΓÇÖs messaging framework. Users can chat with a bot to get their questions answered or type commands to have the bot perform a narrow or specific set of tasks. Bots can proactively notify users about changes or updates to your app via chat.
+Bots integrate directly into TeamΓÇÖs messaging framework. Users can chat with a bot to get their questions answered or type commands to have the bot perform a narrow or specific set of tasks. Bots can proactively notify users about changes or updates to your app through chat.
### Chat with a bot in different contexts
platform Add Power Virtual Agents Bot To Teams https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/add-power-virtual-agents-bot-to-teams.md
If [uploading custom apps is enabled](/microsoftteams/admin-settings) in your Te
* [Power Virtual Agents](/power-virtual-agents/fundamentals-what-is-power-virtual-agents) * [Create a chatbot for Teams with Microsoft Power Virtual Agents](../bot-features.md#bots-with-power-virtual-agents) * [Power Virtual Agents portal](https://powervirtualagents.microsoft.com)
-* [Publish your Power Virtual Agents bot](/power-virtual-agents/publication-fundamentals-publish-channels)
* [Security and compliance in Microsoft Teams](/microsoftteams/security-compliance-overview) * [Human resources Power Virtual Agents bot](/power-virtual-agents/teams/fundamentals-get-started-teams) * [Add a chatbot to Microsoft Teams from within the Teams app](/power-virtual-agents/teams/publication-add-bot-to-microsoft-teams-teams)
platform Channel And Group Conversations https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/channel-and-group-conversations.md
Title: Create conversation bots for channel or group chat
-description: Learn how to create new conversation threads, work on user and tag mentions, and send message on install. Explore Teams file upload sample (.NET, JavaScript, Python).
+description: Learn how to create new conversation threads, user and tag mentions, and send message on installation. Explore Teams file upload sample (.NET, JavaScript, Python).
ms.localizationpriority: medium
Bots in a group or channel only receive messages when they're mentioned @botname
> > * RSC for all *chat* messages is available only in [public developer preview](../../../resources/dev-preview/developer-preview-intro.md). > * Using resource-specific consent (RSC), bots can receive all channel messages in teams that it's installed in without being @mentioned. For more information, see [receive all channel messages with RSC](channel-messages-with-rsc.md).
-> * Posting a message or Adaptive Card to a private channel is currently not supported.
+> * Posting a message or Adaptive Card to a private channel isn't supported.
See the following video to learn about channel and group chat conversations with a bot: <br>
platform Subscribe To Conversation Events https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/subscribe-to-conversation-events.md
Title: Conversation events
-description: In this module, learn about conversation update, message reaction, app installation update events, uninstall behavior, and events and error handling for Microsoft Teams bots.
+description: Learn about conversation update, message reaction, app installation update events, uninstall behavior, and events and error handling for Microsoft Teams bots.
ms.localizationpriority: medium
platform Format Your Bot Messages https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/format-your-bot-messages.md
# Format your bot messages
-Message formatting enables you to bring out the best in bot messages. You can format your bot messages to include rich cards as attachments that contain interactive elements, such as buttons, text, images, and so on.
+Message formatting enables you to bring out the best in bot messages. You can format your bot messages to include rich cards as attachments that contain interactive elements, such as buttons, text, and images.
> [!NOTE] > The bot message size limit is 40 KB. If the bot message size limit exceeds 40 KB, bot receives a `413` status code (`RequestEntityTooLarge`), which contains the error code `MessageSizeTooBig`. The bot message size limit includes the entire message payload encoded as UTF-16 and doesn't include Base64 encoded images.
After you format text content, ensure that your formatting works across all plat
## Cross-platform support
-Some styles are currently not supported across all platforms. The following table provides a list of styles and which of these styles are supported in text-only messages and rich cards:
+Some styles aren't supported across all platforms. The following table provides a list of styles and which of these styles are supported in text-only messages and rich cards:
| Style | Text-only messages | Rich cards - XML only | | | :: | :: |
platform Get Teams Context https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/get-teams-context.md
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#botbuilder-core-teams-teamsinfo-get-team-members&preserve-view=true)
```python async def _show_members(
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
Your bot can dynamically update messages after sending them instead of having them as static snapshots of data. Messages can also be deleted using the Bot Framework's `DeleteActivity` method.
+> [!NOTE]
+> A bot can't update or delete messages sent by the user in Microsoft Teams.
+ ## Update messages You can use dynamic message updates for scenarios, such as poll updates, modifying available actions after a button press, or any other asynchronous state change.
platform App Fundamentals Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/app-fundamentals-overview.md
Title: Plan your app overview
-description: Understand use cases and Microsoft Teams app features, map use cases, and plan responsive tabs for mobile. Learn about Teams features, availability, and app supports for GCC, GCC-High, and DOD.
+description: Learn how to plan your app with Microsoft Teams features, identify and map use cases, planning checklist, app deployment, and availability for government clouds.
ms.localizationpriority: high Last updated 03/20/2023
platform Adaptive Card Previewer Vs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/adaptive-card-previewer-vs.md
You can use an existing Adaptive Card template file or download the [Adaptive Ca
## See also
-* [Design Adaptive Cards](../../task-modules-and-cards/cards/design-effective-cards.md)
+[Design Adaptive Cards](../../task-modules-and-cards/cards/design-effective-cards.md)
platform Apps Localization https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/apps-localization.md
If you provide localized versions of your application, the users respond with th
## See also
-* [Microsoft Teams Store validation guidelines](../deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md)
* [Create a Partner Center developer account](../deploy-and-publish/appsource/prepare/create-partner-center-dev-account.md) * [Prepare your Teams Store submission](../deploy-and-publish/appsource/prepare/submission-checklist.md) * [Update Apple App Store Connect Team ID on Partner Center](../deploy-and-publish/appsource/prepare/update-apple-store-team-connect-id.md)
-* [App manifest](../../resources/schem)
platform Apps Package https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/apps-package.md
Title: Package your app
-description: Learn how to package your Microsoft Teams app and upload it to Teams. Create app package, enable custom uploading, ensure your app is running and accessible using HTTPs.
+description: Learn how to create, package, and upload Microsoft Teams app, icons for different Teams capabilities, and ensure your app is running and accessible through HTTPS.
ms.localizationpriority: high Last updated 09/28/2022
Choose how you plan to distribute your app:
## See also
-* [Distribute your Microsoft Teams app](../deploy-and-publish/apps-publish-overview.md)
-* [Manage your apps with the Developer Portal for Microsoft Teams](~/concepts/build-and-test/teams-developer-portal.md)
* [Understand the Microsoft Teams app structure](../design/app-structure.md) * [Icons](../design/design-teams-app-fundamentals.md#icons)
platform Debug https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/debug.md
To load and run your experience within Teams, you need to create a package and u
## See also
-* [Test your app](test-app-overview.md)
* [Test and debug your bot locally with IDE](../../bots/how-to/debug/locally-with-an-ide.md#test-and-debug-your-bot-locally-with-ide) * [DevTools for Microsoft Teams tabs](../../tabs/how-to/developer-tools.md) * [Test app behavior in different environment](../../toolkit/test-app-behavior.md)
platform Deep Link Application https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/deep-link-application.md
The query parameters are:
| `context.channelId`&emsp; | Microsoft Teams channel ID that is available from the tab [context](~/tabs/how-to/access-teams-context.md). This property is available only in configurable tabs with a scope of **team**. It isn't available in static tabs, which has a **personal** scope.| 19:<cbe3683f25094106b826c9cada3afbe0@thread.skype> | | `context.chatId`&emsp; | Chat ID that is available from the tab [context](~/tabs/how-to/access-teams-context.md) for group and meeting chat. | 17:b42de192376346a7906a7dd5cb84b673@thread.v2 | | `context.contextType`&emsp; | Chat is the only supported `contextType` for meetings. | chat |
-|`&openInMeeting=false`| Use `openInMeeting` to control the user experience when the target tab is associated with a meeting. If user interacts with the deep link in an ongoing meeting experience, Teams opens the app in the in-meeting side panel. Set this value to `false` to always open the app in the meeting chat tab rather than the side panel, regardless of the meeting status. Teams ignores any value other than `false`. | `false` |
+|`openInMeeting`| Use `openInMeeting` to control the user experience when the target tab is associated with a meeting. If user interacts with the deep link in an ongoing meeting experience, Teams opens the app in the in-meeting side panel. Set this value to `false` to always open the app in the meeting chat tab rather than the side panel, regardless of the meeting status. Teams ignores any value other than `false`. | `false` |
> [!NOTE] >
platform Deep Links https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/deep-links.md
Teams deep links support two types of protocol handlers:
## See also
-* [Integrate web apps](../../samples/integrate-web-apps-overview.md)
-* [Deep link to an application](deep-link-application.md)
-* [Deep link to Teams chat](deep-link-teams.md)
-* [Deep link to a workflow in Teams](deep-link-workflow.md)
+[Integrate web apps](../../samples/integrate-web-apps-overview.md)
platform Prepare Your O365 Tenant https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/prepare-your-o365-tenant.md
For complete information on how these settings interact, see [manage custom app
## See also
-* [Test your app](test-app-overview.md)
-* [Add test data to your Microsoft 365 test tenant](~/concepts/build-and-test/test-data.md)
-* [Microsoft 365 Multi-Geo](/microsoft-365/enterprise/microsoft-365-multi-geo?view=o365-worldwide&preserve-view=true)
+[Microsoft 365 Multi-Geo](/microsoft-365/enterprise/microsoft-365-multi-geo?view=o365-worldwide&preserve-view=true)
platform Share To Teams Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/share-to-teams-overview.md
For more information, see [Share to Teams from web apps](share-to-teams-from-web
You can embed the Share to Teams button in the personal app or tab hosted inside Teams that allows users to share the content from the personal app or tab to any chat, group chat, or channel in Teams, without switching the context. For more information, see [Share to Teams from personal app or tab](share-to-teams-from-personal-app-or-tab.md).-
-## See also
-
-[Integrate web apps](../../samples/integrate-web-apps-overview.md)
platform Test App Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/test-app-overview.md
Add the test data to Microsoft 365 test tenant. For more information, see [add t
## See also * [Debug your tab](~/tabs/how-to/developer-tools.md)
-* [Debug your bots](~/bots/how-to/debug/locally-with-an-ide.md)
* [Test RSC permissions](~/graph-api/rsc/test-resource-specific-consent.md)
platform Test Data https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/test-data.md
By default, only global admins or Teams service admins can upload the custom app
## See also
-* [Test your app](test-app-overview.md)
* [Debug your tab](~/tabs/how-to/developer-tools.md) * [Debug your bots](~/bots/how-to/debug/locally-with-an-ide.md) * [Test RSC permissions](~/graph-api/rsc/test-resource-specific-consent.md)
platform Add Default Install Scope https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/add-default-install-scope.md
If you don't want your app to be blocked by default, update the `defaultBlockUnt
> [!div class="nextstepaction"] > [Create your app package](~/concepts/build-and-test/apps-package.md)-
-## See also
-
-[Distribute your Microsoft Teams app](apps-publish-overview.md)
platform Apps Publish Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/apps-publish-overview.md
Title: Overview - Distribute your app
-description: Learn to distribute, publish your app to Microsoft Teams Store or to your org. Understand how app's endpoints must comply with your Government Community Cloud(GCC) organization's requirements.
+description: Learn to publish app to Teams Store or to your org. Understand how app's endpoints comply with your Government Community Cloud (GCC) organization's requirements.
For more information, see [publish to the Teams Store](~/concepts/deploy-and-pub
* [Publish to org](/microsoftteams/upload-custom-apps) * [Modify your app's registration in the Azure portal](/azure/active-directory/develop/howto-modify-supported-accounts) * [Growth lifecycle for your app](appsource/post-publish/app-growth/app-growth-lifecycle.md)
-* [Enable customization for your Microsoft Teams app](../design/enable-app-customization.md)
+
platform Apps Upload https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/apps-upload.md
To remove app from Teams, follow the steps:
## See also
-* [Distribute your Microsoft Teams app](apps-publish-overview.md)
* [Configure default install options](~/concepts/deploy-and-publish/add-default-install-scope.md) * [Maintain your published Microsoft Teams app](~/concepts/deploy-and-publish/appsource/post-publish/overview.md) * [Add app to chat](/graph/api/chat-post-installedapps)
platform App Growth Lifecycle https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/post-publish/app-growth/app-growth-lifecycle.md
You can plan your app's growth through the app lifecycle:
## See also -- [Strategize and execute growth for your app](overview-app-growth.md)-- [Five steps to drive adoption of your app](../../../../../promote-app-adoption.md)
+[Five steps to drive adoption of your app](../../../../../promote-app-adoption.md)
<!-- ### Building your collaborative app
platform Build App https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/post-publish/app-growth/build-app.md
LetΓÇÖs briefly go over what initiatives are the most impactful during the build
> [!div class="nextstepaction"] > [Launching your collaborative app](launch-app.md)-
-## See also
-
-[Strategize and execute growth for your app](overview-app-growth.md)
platform Gain Traction https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/post-publish/app-growth/gain-traction.md
Contact the Microsoft field, account, or engineering representatives to feature
> [!div class="nextstepaction"] > [Scaling your collaborative app](scale-app.md)-
-## See also
-
-[Strategize and execute growth for your app](overview-app-growth.md)
platform Launch App https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/post-publish/app-growth/launch-app.md
Contact your Microsoft field, account, or engineering representatives to request
> [!div class="nextstepaction"] > [Gaining traction for your collaborative app in the market](gain-traction.md)-
-## See also
-
-[Strategize and execute growth for your app](overview-app-growth.md)
platform Overview App Growth https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/post-publish/app-growth/overview-app-growth.md
Monetization investments encompass defining role of Teams app in your business a
## See also - [Distribute your Microsoft Teams app](../../../apps-publish-overview.md)-- [Monetize your app](../../prepare/monetize-overview.md) - [Five steps to drive adoption of your app](../../../../../promote-app-adoption.md) - [Build your collaborative app](build-app.md) - [Gain traction for your collaborative app in the market](gain-traction.md)
platform Succeed https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/post-publish/app-growth/succeed.md
Each app in the Teams ecosystem undertakes this journey, in all likelihood, star
## See also -- [Plan, strategize and execute growth for your app](overview-app-growth.md)-- [Growth lifecycle for your app](app-growth-lifecycle.md)
+[Growth lifecycle for your app](app-growth-lifecycle.md)
platform Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/post-publish/overview.md
Title: Maintain and support your published app
-description: Maintain your published Microsoft Teams app. Analyze app usage, publish updates, promote your app, check Teams Store marketing guidelines, and complete Microsoft 365 Certification.
+description: Learn to maintain your published app such as analyze usage, publish update, promote, check Teams Store marketing guidelines and complete Microsoft 365 Certification.
ms.localizationpriority: high
platform Teams Store Ranking Parameters https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/post-publish/teams-store-ranking-parameters.md
Title: Microsoft Teams Store ranking parameters
-description: Understand Microsoft Teams Store ranking parameters like historical usage and user engagement data. Other parameters include app quality and values, audience relevance, and app update.
+description: Learn Teams Store ranking parameters like historical usage, user engagement data, app quality and values, audience relevance, and app update or new release.
ms.localizationpriority: high
platform Test Preview For Monetized Apps https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/Test-preview-for-monetized-apps.md
If the Preview offer is specified in the app manifest and the preview audience i
## See also
-* [Monetize your app](monetize-overview.md)
-* [Include a SaaS offer with your Microsoft Teams app](include-saas-offer.md)
* [Add a preview audience for a SaaS offer](/azure/marketplace/create-new-saas-offer-preview) * [Preview creation phase](/azure/marketplace/review-publish-offer) * [Review and publish an offer to the commercial marketplace](/azure/marketplace/review-publish-offer#validation-and-publishing-steps)
platform Create Partner Center Dev Account https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/create-partner-center-dev-account.md
The following resources can also assist:
> [!div class="nextstepaction"] > [Prepare your Teams Store submission](~/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md)-
-## See also
-
-[Publish your app to the Microsoft Teams Store](../publish.md)
platform End User Purchase Experience https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/end-user-purchase-experience.md
Admins can manage the app subscriptions and licenses in the Teams admin center.
## See also
-* [Monetize your app](monetize-overview.md)
-* [Set up Microsoft license management for third-party apps](manage-third-party-apps-license.md)
+[Monetize your app](monetize-overview.md)
platform In App Purchase Flow https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/in-app-purchase-flow.md
Following code snippet is an example of calling the API from the Teams app built
> [!div class="nextstepaction"] > [Test preview for monetized apps](~/concepts/deploy-and-publish/appsource/prepare/Test-preview-for-monetized-apps.md)-
-## See also
-
-* [Monetize your app](monetize-overview.md)
-* [App Manifest](../../../../resources/schem)
platform Include Saas Offer https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/include-saas-offer.md
Title: Include a SaaS offer with your app
-description: Learn to monetize your Microsoft Teams app by selling subscription plans directly from your Microsoft Teams Store listing. Understand publish app, end-user, admin purchase experience.
+description: Learn to monetize your Teams app by selling subscription plans directly from your Teams Store listing. Understand publish app, end-user, admin purchase experience.
If you unlink a SaaS offer included in your Teams Store listing, you must republ
## See also
-* [Monetize your app](monetize-overview.md)
-* [Maintaining and supporting your published app](../post-publish/overview.md)
* [Validation guidelines for apps linked to SaaS offer](teams-store-validation-guidelines.md#apps-linked-to-saas-offer) * [Microsoft commercial marketplace](/partner-center/marketplace/overview)
platform Manage Third Party Apps License https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/manage-third-party-apps-license.md
To determine if the tenant for the Microsoft Entra app is part of the Partner Ce
1. Sign in to [Partner Center](https://partner.microsoft.com/). 1. In the left pane, go to **Commercial Marketplace > Analyze > Licensing**. 1. Select **Plan and Tenant** in the reporting widget to see the month wise usage.-
-## See also
-
-[Monetize your app](monetize-overview.md)
platform Submission Checklist https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/submission-checklist.md
Title: Prepare your Microsoft Teams Store submission
-description: Final steps before you submit your Microsoft Teams app to be listed on the Microsoft Teams Store. Validate app package and complete publisher verification and attestation.
+description: Learn final steps before you submit your Teams app to be listed on the Teams Store. Validate app package and complete publisher verification and attestation.
ms.localizationpriority: high
Partner Center supports [localized Teams Store listings](/office/dev/store/prepa
## See also
-* [Publish your app to the Microsoft Teams Store](../publish.md)
-* [Prepare your Microsoft 365 tenant](../../../build-and-test/prepare-your-o365-tenant.md)
-* [Resolve issues if your Microsoft Teams Store submission fails](~/concepts/deploy-and-publish/appsource/resolve-submission-issues.md)
+[Prepare your Microsoft 365 tenant](../../../build-and-test/prepare-your-o365-tenant.md)
platform Teams Store Validation Guidelines https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
Title: Microsoft Teams Store validation guidelines
-description: Know how to increase the chances of your app to pass the Microsoft Teams Store submission process. Understand the mandatory and suggested fixes. Explore the validation guidelines.
+description: Learn to increase the chances of your app to pass the Teams Store submission process. Understand the mandatory and suggested fixes, and validation guidelines.
platform Design Teams App Artwork Store https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-artwork-store.md
Follow these tips to make the most of your space in the Teams Store.
:::row::: :::column span=""::: #### Do: Use color to enhance your brand
Use the background color to highlight your logo and create more cohesion.
:::column-end::: :::column span=""::: #### DonΓÇÖt: Use colors that clash with your brand
Your app display is overwhelming to customers.
:::row::: :::column span=""::: #### Do: Use simple and clear text
Briefly highlight the features that are displayed.
:::column-end::: :::column span=""::: #### DonΓÇÖt: Use unclear text
Customers may ignore an unclear message.
:::row::: :::column span=""::: #### Do: Clearly and accurately describe your app
Give a brief and accurate overview of your application and what people can expec
:::column-end::: :::column span=""::: #### DonΓÇÖt: Use confusing or misleading copy to describe your app
platform Design Teams App Basic Ui Components https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-basic-ui-components.md
Title: Design your app with basic Fluent UI components
-description: Learn how to use UI components from Teams UI kit to build Microsoft Teams apps. Learn to use UI components such a Fluent kit, breadcrumb, button card, carousel, dropdown, and toggle.
+description: Learn how to use UI components from Teams UI kit such a Fluent kit, breadcrumb, button card, carousel, dropdown, and toggle to build Teams apps.
ms.localizationpriority: medium Last updated 05/17/2023
platform Design Teams App Fundamentals https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-fundamentals.md
Quickly learn about the fundamentals of Teams app design. You can find comprehen
An avatar is a graphical representation of a person, team, bot, or entity in Teams. An avatar group is often used to convey live activity or a represent a roster in a way that preserves vertical space.
- * [See full avatar guidelines (Figma)](https://www.figma.com/community/file/916836509871353159)
+ [See full avatar guidelines (Figma)](https://www.figma.com/community/file/916836509871353159)
:::column-end::: :::column span="1":::
Quickly learn about the fundamentals of Teams app design. You can find comprehen
To feel part of Teams, your app copy in general should follow these [Microsoft voice principles](/style-guide/brand-voice-above-all-simple-human): warm and relaxed, crisp and clear, and ready to lend hand.
- * [See full copy and content guidelinesΓÇöincluding writing for bots (Figma)](https://www.figma.com/community/file/916836509871353159)
+ [See full copy and content guidelinesΓÇöincluding writing for bots (Figma)](https://www.figma.com/community/file/916836509871353159)
:::column-end::: :::column span="1":::
platform Design Teams App Ui Templates https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/design-teams-app-ui-templates.md
You can design app sign-in flows for different Teams contexts and identity provi
### Top use case
-* Authenticate users
+Authenticate users
### Mobile
Settings screens are where users can configure their preferences with your app.
### Top use case
-* Manage app features
+Manage app features
:::image type="content" source="../../assets/images/ui-templates/settings.png" alt-text="Example shows a settings template." lightbox="../../assets/images/ui-templates/settings.png":::
platform Enable App Customization https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/enable-app-customization.md
Provide guidelines for customers (specifically Teams admins) who want to customi
## See also
-* [Customize apps in the Teams admin center](/microsoftteams/customize-apps)
-* [Distribute your Microsoft Teams app](../deploy-and-publish/apps-publish-overview.md)
+[Customize apps in the Teams admin center](/microsoftteams/customize-apps)
platform Strategize Measure https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/strategize-measure.md
User retention measures how frequent users come back to use the product. It esse
> [!TIP] >
-> - Users using multiple Teams platform capabilities are 20 ΓÇô 35pp better retained than single capability users.
+> - Users using multiple Teams platform capabilities are 20 to 35pp better retained than single capability users.
> - Converting new users to engaged platform users in their first week improves retention. > - Users who perform creation events in your app have higher retention compared to users who passively consume information via notifications. Creation events depend on your business. For example, creating a ticket, creating a new post, a project board, and so on. > - Apps used multiple times (>5 times) in a month have a better retention month over month. Recurring use cases with more frequency of usage improve retention.
platform Understand Use Cases https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/understand-use-cases.md
Title: Understanding your app's use cases and Teams features
-description: Learn about Microsoft Teams app capabilities such as, tabs, bots, meeting extensions, message extensions, webhook connectors, personal app experience, and shared app experience.
+description: Learn Teams app capabilities such as, tabs, bots, meeting extensions, message extensions, webhook connectors, personal app experience, and shared app experience.
ms.localizationpriority: high
platform Native Device Permissions https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/device-capabilities/native-device-permissions.md
Title: Request device permissions for your Microsoft Teams app
-description: How to update your app manifest in order to request access to native features that require user consent, such as scan QR, barcode, image, audio, and video capabilities
+description: Learn to update your app manifest to request access to native features that require user consent, such as scan QR, barcode, image, audio, and video capabilities.
ms.localizationpriority: high
A user can manage device permissions in Teams settings by selecting **Allow** or
1. Select your desired settings. :::image type="content" source="../../assets/images/tabs/device-permissions-new.png" alt-text="Screenshot shows the device permissions." lightbox="~/assets/images/tabs/device-permissions-new.png":::+ ## Specify permissions
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 is currently not fully supported on Teams desktop.
+> * 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.
For example:
platform People Picker Capability https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/device-capabilities/people-picker-capability.md
The following table lists the error codes and their descriptions:
## See also
-* [Integrate web apps](../../samples/integrate-web-apps-overview.md)
* [Integrate media capabilities](~/concepts/device-capabilities/media-capabilities.md) * [Integrate QR code or barcode scanner capability in Teams](qr-barcode-scanner-capability.md) * [Integrate location capabilities in Teams](location-capability.md)
platform Teams App Permissions https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/App-permissions/Teams-app-permissions.md
Permission for Teams app is managed in two places, depending on the app feature
RSC is a Microsoft Teams and Microsoft Graph API integration that enables your app to use API endpoints to manage specific resources, either teams or chats, within an organization. For more information, see [enable resource-specific consent in Teams](../rsc/resource-specific-consent.md).
-RSC permissions are only available to Teams apps installed on the Teams client and are currently not part of the Microsoft Entra admin center and are declared in the app manifest (previously called Teams app manifest) (JSON) file. You can manage RSC permissions for Teams apps in Developer Portal from the **Permissions** section under **Configure**.
+RSC permissions are only available to Teams apps installed on the Teams client and aren't part of the Microsoft Entra admin center and are declared in the app manifest (previously called Teams app manifest) (JSON) file. You can manage RSC permissions for Teams apps in Developer Portal from the **Permissions** section under **Configure**.
:::image type="content" source="../../assets/images/dev-portal-permissions.png" alt-text="Screenshot shows the RSC permissions managed from Developer Portal. " lightbox="../../assets/images/dev-portal-permissions1.png":::
The bot or messaging extension ID is generated based on the following registrat
#### Microsoft Entra admin center
-When a bot or messaging extension is registered on Microsoft Entra admin center, it will have a Microsoft Entra app ID associated with it, which can be found in **Microsoft Entra admin center** > **App Registrations**. Endpoints and other bot configurations are managed in the Azure portal.
+When a bot or message extension is registered on Microsoft Entra admin center, it has a Microsoft Entra app ID associated with it, which can be found in **Microsoft Entra admin center** > **App Registrations**. Endpoints and other bot configurations are managed in Azure portal.
#### Developer or Bot Framework portal
-When a bot or messaging extension is registered in the Developer or Bot Framework portal, it will not have a Microsoft Entra app ID. However, the bot or messaging extension ID can be found on the Bot Framework portal. Endpoints and other bot configurations are managed in the Bot Framework portal.
+When a bot or message extension is registered in Developer or Bot Framework portal, it doesn't have a Microsoft Entra app ID. However, the bot or message extension ID can be found on the Bot Framework portal. Endpoints and other bot configurations are managed in the Bot Framework portal.
Other Teams specific configuration for the bot can be managed in the Developer portal section for the app.
platform Grant Resource Specific Consent https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/rsc/grant-resource-specific-consent.md
Title: Grant RSC permissions to an app
-description: In this article, learn how to grant resource-specific consent (RSC) permissions, which allows team, chat owners, users, and meeting organizers to grant consent for an app.
+description: Learn how to grant resource-specific consent (RSC) permissions, which allows team, chat owners, users, and meeting organizers to grant consent for an app.
ms.localizationpriority: medium
platform Test Chat Rsc Json File https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/rsc/test-chat-rsc-json-file.md
Last updated 12/15/2022
## See also
-* [Test resource-specific consent permissions in Teams](test-resource-specific-consent.md)
-* [Resource-specific consent](resource-specific-consent.md)
+[Resource-specific consent](resource-specific-consent.md)
platform Test Team Rsc Json File https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/rsc/test-team-rsc-json-file.md
Last updated 12/15/2022
## See also
-* [Test resource-specific consent permissions in Teams](test-resource-specific-consent.md)
-* [Resource-specific consent](resource-specific-consent.md)
+[Resource-specific consent](resource-specific-consent.md)
platform Content Security Policy Headers https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/includes/tabs/content-security-policy-headers.md
+| **Microsoft 365 app host** | **frame-ancestor permission** |
+|--|--|
+| *All hosts* (New) | `*.cloud.microsoft` |
+| Teams | `teams.microsoft.com`, `*.teams.microsoft.com` |
+| Microsoft 365 app | `*.microsoft365.com`, `*.office.com`, |
+| Outlook | `outlook.office.com`, `outlook.office365.com`, `outlook-sdf.office.com`, `outlook-sdf.office365.com` |
+
+```http
+https://*.cloud.microsoft https://teams.microsoft.com https://*.teams.microsoft.com https://*.microsoft365.com https://*.office.com
+```
+ > [!WARNING]
-> Microsoft's cloud services, including web versions of Teams (*teams.microsoft.com*), Outlook (*outlook.com*), and Microsoft 365 (*microsoft365.com*) domains are migrating to the *cloud.microsoft* domain. Perform the following steps before June 2024 to ensure your app continues to render on the Teams web client:
+> Microsoft's cloud services, including web versions of Teams, Outlook and Microsoft 365 domains are migrating to the *cloud.microsoft* domain. Perform the following steps before September 2024 to ensure your app continues to render on supported Microsoft 365 web client hosts:
>
-> 1. Update TeamsJS SDK to v.2.19.0 or higher. For more information about the latest release of TeamsJS SDK, see [Microsoft Teams JavaScript client library](https://www.npmjs.com/package/@microsoft/teams-js).
+> 1. Update TeamsJS library to v.2.19.0 or higher. For more information about the latest release of TeamsJS, see [Microsoft Teams JavaScript client library](https://www.npmjs.com/package/@microsoft/teams-js).
>
-> 2. Update your [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) headers in your Teams app to allow your app to access the ***teams.cloud.microsoft*** domain. If your Teams app extends across Outlook and Microsoft 365, ensure you allow your app to access ***teams.cloud.microsoft***, ***outlook.cloud.microsoft***, and ***m365.cloud.microsoft*** domains.
-
-| **Microsoft 365 app host** | **frame-ancestor permission** |
-|--|--|
-| Teams | `teams.microsoft.com`, `*.teams.microsoft.com`, `teams.cloud.microsoft` |
-| Microsoft 365 app | `*.microsoft365.com`, `*.office.com`, `m365.cloud.microsoft` |
-| Outlook | `outlook.live.com`, `outlook.office.com`, `outlook.office365.com`, `outlook-sdf.office.com`, `outlook-sdf.office365.com`, `outlook.cloud.microsoft` |
+> 2. Update your Teams app's [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) header [*frame-ancestors*](https://developer.mozilla.org/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors) directive to allow your app to be hosted by the ****.cloud.microsoft*** domain. This ensures that your app continues to work across existing and future Microsoft 365 host applications and minimizes the need for subsequent changes.
platform Combine Office Add In And Teams App https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/combine-office-add-in-and-teams-app.md
Title: Add an Outlook Add-in to a Teams app
-description: Learn how to add an Outlook Add-in to a Teams app. This article walks you through the steps to add an Outlook Add-in to a Teams app, test it, then deploy it to Azure.
+description: Learn how to add an Outlook Add-in to a Teams app. Learn the steps to add an Outlook Add-in to a Teams app, test it, then deploy it to Azure.
Last updated 02/15/2024
platform Prerequisites https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/prerequisites.md
Title: Set up your dev environment for extending Teams apps across Microsoft 365
-description: Requirements to set up your dev environment for extending Teams apps across Microsoft 365. Know configurations required to run builds of Microsoft Teams and Microsoft 365 applications.
+description: Requirements to set up dev environment for extending Teams apps across Microsoft 365. Know configurations required to run builds of Teams and Microsoft 365 apps.
Last updated 02/28/2023
You also need to enable custom app upload for your tenant:
1. Go to **Teams apps** > **Manage apps**.
- 1. At the top right, select **Org-wide app settings**.
+ 1. In the upper-right corner of the Manage apps page, select **Actions** dropdown menu > **Org-wide app settings**.
- 1. Under Custom apps, turn on the **Interaction with custom apps** toggle and **Save**.
+ 1. Under **Custom apps**, turn on the **Let users interact with custom apps in preview** toggle and select **Save**.
- :::image type="content" source="images/teams-admin-enable-sideloading.png" alt-text="The screenshot is an example that enables custom app upload from the Teams Admin Center":::
+ :::image type="content" source="images/teams-admin-enable-sideloading.png" alt-text="Screenshot shows how to enable custom app upload option from Teams admin center.":::
- 1. Apart from Org-wide app settings, custom app policy settings also allow users to upload custom apps to Teams. For more information, see [manage custom app policies and settings](/microsoftteams/teams-custom-app-policies-and-settings#custom-app-policy-and-settings).
+ Apart from Org-wide app settings, custom app policy settings also allow users to upload custom apps to Teams. For more information, see [manage custom app policies and settings](/microsoftteams/teams-custom-app-policies-and-settings#custom-app-policy-and-settings).
- 1. In the Teams admin center, go to **Teams apps** > **Setup policies**, and then select **Global (Org-wide default) policy**.
+ 1. Go to **Teams apps** > **Setup policies** and select **Global (Org-wide default)** policy.
- 1. Turn on **Upload custom apps**, and select **Save**.
+ 1. Turn on **Upload custom apps** and select **Save**.
## Enroll your developer tenant for Microsoft 365 Targeted Releases (Optional)
platform Publish https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/publish.md
Title: Publish Teams apps for Microsoft 365
-description: Learn how to make your Microsoft 365-enabled Teams apps discoverable to users in Teams, Outlook, and Microsoft 365 app through single tenant and multitenant distribution.
+description: Learn to make your Microsoft 365-enabled Teams apps discoverable to users in Teams, Outlook, and Microsoft 365 app via single tenant and multitenant distribution.
Last updated 10/10/2022
platform Teamsjs Support M365 https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/teamsjs-support-m365.md
Title: The Teams JavaScript client library support across Microsoft 365
-description: Understand the level of support for different TeamsJS library capabilities running in different hosts for Teams apps, including Microsoft Teams, Outlook, and Microsoft 365 app.
+description: Learn the level of support for different TeamsJS library capabilities across different hosts for Teams apps, including Teams, Outlook, and Microsoft 365 app.
ms.localizationpriority: high
platform Api Based Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/api-based-overview.md
Title: Build message extensions using API
-description: Learn how to build a message extension from an OpenAPI description document (OAD) using using Developer Portal for Teams, Visual Studio Code, Teams Toolkit CLI, or Visual Studio.
+description: Learn to build a message extension from OpenAPI description document (OAD) with Developer Portal for Teams, Visual Studio Code, Teams Toolkit CLI, or Visual Studio.
ms.localizationpriority: medium
platform Messaging Extension Design https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/design/messaging-extension-design.md
Title: Designing your message extension
-description: Learn how to design a Teams message extension and get the Microsoft Teams UI Kit. Describes about Teams design guidelines reference message extensions tips and best practice.
+description: Learn how to design a message extension and get the Microsoft Teams UI Kit. Describes Teams design guidelines reference message extensions tips and best practice.
ms.localizationpriority: high
You have some options for displaying message extension search results, including
Action commands allow people to trigger actions and process requests in external services within Teams. For example, if your app tracks orders, a user could create a new order using the contents of a colleagueΓÇÖs message from right inside their chat.
-Action-based message extensions frequently require users to complete a form or some other kind of configuration within a modal. You can create these experiences with [dialogs ](../../task-modules-and-cards/task-modules/design-teams-task-modules.md)(referred as task modules in TeamsJS v1.x).
+Action-based message extensions frequently require users to complete a form or some other kind of configuration within a modal. You can create these experiences with [dialogs](../../task-modules-and-cards/task-modules/design-teams-task-modules.md)(referred as task modules in TeamsJS v1.x).
## Open a message extension
platform Create Task Module https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/action-commands/create-task-module.md
Title: Create and send dialogs
-description: Learn how to create and send dialogs (task modules). Handle the initial invoke action and respond with a dialog (task module) from an action message extension command.
+description: Learn to create and send dialogs (task modules). Handle the initial invoke action and respond with a dialog (task module) from an action message extension command.
ms.localizationpriority: medium
platform Define Action Command https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/action-commands/define-action-command.md
Title: Define message extension action commands
-description: Learn to define messaging extension action commands with app manifest example in Microsoft Teams. Sample (.NET, Node.js) how to define action commands, create dialog (task module), and respond to dialog (task module) submit action.
+description: Learn to define message extension action commands with app manifest in Teams. Sample (.NET, Node.js), create dialog (task module), respond to dialog submit action.
ms.localizationpriority: medium
protected override Task<MessagingExtensionActionResponse> OnTeamsMessagingExtens
# [Node.js](#tab/nodejs)
-* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-action/nodejs/bots/teamsMessagingExtensionsActionBot.js#L24-L61)
+[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-action/nodejs/bots/teamsMessagingExtensionsActionBot.js#L24-L61)
```javascript // Invoked when a Messaging Extension Fetch activity is received from the connector.
platform Link Unfurling https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/link-unfurling.md
Title: Link unfurling
-description: Add link unfurling with messaging extension in a Microsoft Teams app with app manifest or manually. Add link unfurling using Developer Portal. How to update your web service code to handle the invoke request.
+description: Learn to add link unfurling with Developer Portal and messaging extension in a Teams app with app manifest or manually. Update web service code to handle invoke.
ms.localizationpriority: medium
platform Define Search Command https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md
protected override async Task<MessagingExtensionResponse> OnTeamsMessagingExtens
# [Node.js](#tab/nodejs)
-* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-search-quickstart/js/botActivityHandler.js#L30-L53)
+[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-search-quickstart/js/botActivityHandler.js#L30-L53)
```javascript async handleTeamsMessagingExtensionQuery(context, query) {
platform Respond To Search https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/search-commands/respond-to-search.md
protected override async Task<MessagingExtensionResponse> OnTeamsMessagingExtens
# [TypeScript/Node.js](#tab/typescript)
-* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-search/nodejs/bots/teamsMessagingExtensionsSearchBot.js#L16)
+[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-search/nodejs/bots/teamsMessagingExtensionsSearchBot.js#L16)
```typescript class TeamsMessagingExtensionsSearch extends TeamsActivityHandler {
protected override async Task<MessagingExtensionResponse> OnTeamsMessagingExtens
# [TypeScript/Node.js](#tab/typescript)
-* [Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-search-quickstart/js/botActivityHandler.js#L35)
+[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/msgext-search-quickstart/js/botActivityHandler.js#L35)
```typescript class TeamsMessagingExtensionsSearchBot extends TeamsActivityHandler {
platform What Are Messaging Extensions https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/what-are-messaging-extensions.md
Title: Message extensions
-description: Learn how message extensions are used, its types, and scenarios where it's used on the Microsoft Teams platform. Samples on action and searched based message extension.
+description: Learn how message extensions are used, its types, and scenarios where it's used on the Teams platform. Samples on action and search based message extension.
ms.localizationpriority: medium
platform Developer Preview Intro https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/dev-preview/developer-preview-intro.md
Developer Preview is a public program for developers, which provides early acces
## Developer preview app manifest
-Many features enabled in developer preview require alterations to your app manifest (previously called Teams app manifest) JSON file. To do so, you need to use the [developer preview app manifest schema](~/resources/schem) to make these changes, nor you can use it to upload your app for testing. To upload your app, you need to select the `More apps` icon on the app bar, then select the `Upload a custom app link`. Using this method, you can only upload a zipped version of your app package.
+Many features enabled in developer preview require alterations to your app manifest (previously called Teams app manifest) JSON file. To do so, you need to use the [developer preview app manifest schema](~/resources/schem) to make these changes or upload your app for testing. To upload your app in Teams, select **Apps** > **Manage your apps** > **Upload an app**. Using this method, you can only upload a zipped version of your app package.
-You might find it useful to use Developer Portal for Teams to create the non-developer preview portions of your app package, then export that package and manually edit the `manifest.json` file to add the developer preview features you wish to use. After you added the developer preview features to the `manifest.json` file, you can't reimport the package into Developer Portal for Teams.
+You might find it useful to use Developer Portal to create the non-developer preview portions of your app package, then export that package and manually edit the `manifest.json` file to add the developer preview features you wish to use. After you added the developer preview features to the `manifest.json` file, you can't reimport the package into Developer Portal.
## Enable developer preview
platform M365 Plugins Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/m365-plugins/m365-plugins-overview.md
The following image shows inclusion of external HTML content within Moodle:
## See also
-* [Integrate web apps](../../samples/integrate-web-apps-overview.md)
* [Partner apps for Moodle](../partner-apps-for-moodle.md) * [Moodle FAQ](../faqs.md)
platform Moodle Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/moodle-overview.md
The following scenarios describe the accelerated learning potential combining Mi
* [Integrate web apps](../samples/integrate-web-apps-overview.md) * [Microsoft 365 plugins](m365-plugins/m365-plugins-overview.md)
-* [Partner apps for Moodle](partner-apps-for-moodle.md)
-* [Moodle FAQ](faqs.md)
platform Partner Apps For Moodle https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/partner-apps-for-moodle.md
Title: Partner apps for Moodle
-description: Learn partner apps for Moodle, key benefits of partner apps for Moodle, SaaS offerings and mConnect. Enable singe-sign-on SSO for users of Teams.
+description: Learn partner apps for Moodle, key benefits of partner apps for Moodle, SaaS offerings, and mConnect. Enable singe-sign-on SSO for users of Teams.
ms.localizationpriority: high
mConnect allows Moodle administrators to set up Teams for Moodle course automati
* [Integrate web apps](../samples/integrate-web-apps-overview.md) * [SSO Authentication](../concepts/authentication/authentication.md)
-* [Moodle FAQ](faqs.md)
* [Skooler](https://skooler.com/mconnect/how-to/)
platform Samesite Cookie Update https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/samesite-cookie-update.md
Title: SameSite cookie attribute
-description: Learn about Types of cookies, including SameSite cookies, their attributes, their implications in Teams tabs, dialogs (task modules), and message extensions, and their authentication in Teams
+description: Learn types of cookies, SameSite cookies and attributes, their impacts on Teams tabs, dialogs (task modules), message extensions, and their authentication in Teams.
ms.localizationpriority: medium
platform Manifest Schema Dev Preview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema-dev-preview.md
The app manifest describes how the app integrates into the Microsoft Teams platf
], "developer": { "name": "Publisher Name",
- "websiteUrl": "https://website.com/",
- "privacyUrl": "https://website.com/privacy",
- "termsOfUseUrl": "https://website.com/app-tos",
+ "websiteUrl": "https://example.com/",
+ "privacyUrl": "https://example.com/privacy",
+ "termsOfUseUrl": "https://example.com/app-tos",
"mpnId": "1234567890" }, "localizationInfo": {
The object is an array with all elements of the type `object`. This block is req
**Optional** &ndash; Array
-Defines a set of tabs that can be "pinned" by default, without the user adding them manually. Static tabs declared in `personal` scope are always pinned to the app's personal experience. Static tabs declared in the `team` scope are currently not supported.
+Defines a set of tabs that can be "pinned" by default, without the user adding them manually. Static tabs declared in `personal` scope are always pinned to the app's personal experience. Static tabs declared in the `team` scope aren't supported.
Render tabs with Adaptive Cards by specifying `contentBotId` instead of `contentUrl` in the **staticTabs** block.
platform Manifest Schema https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema.md
Title: Manifest schema reference
-description: In this article, you'll have the latest version of the public manifest schema for Microsoft Teams reference, schema and sample full manifest.
+description: In this article, you'll have the latest version of the public manifest schema for Microsoft Teams reference, schema, and sample full manifest.
ms.localizationpriority: high Last updated 02/09/2023
The following is the sample app manifest schema:
] }, "defaultBlockUntilAdminAction": true,
- "publisherDocsUrl": "https://website.com/app-info",
+ "publisherDocsUrl": "https://example.com/app-info",
"defaultInstallScope": "meetings", "defaultGroupCapability": { "meetings": "tab",
The name of your app experience, displayed to users in the Teams experience. For
|Name| Maximum size | Required | Description| ||||| |`short`|30 characters|✔️|The short display name for the app. Use `short` property where the space is limited, such as the app header.|
-|`full`|100 characters|✔️|The full name of the app, used if the full app name exceeds 30 characters. Use `full` property where there is more space, such as the app catalog or the app details page.|
+|`full`|100 characters|✔️|The full name of the app, used if the full app name exceeds 30 characters. Use `full` property where there's more space, such as the app catalog or the app details page.|
> [!NOTE] >
The object is an array with all elements of the type `string`. The maximum item
## webApplicationInfo
+> [!NOTE]
+> The `webApplicationInfo` property is related to a single domain and isn't supported for multiple domains. Therefore, if you've two apps hosted on different domains, you need to create separate app manifests for each app.
+ **Optional** &ndash; Object Provide your Microsoft Entra App ID and Microsoft Graph information to help users seamlessly sign into your app. If your app is registered in Microsoft Entra ID, you must provide the App ID. Administrators can easily review permissions and grant consent in Teams admin center.
The `extensions.ribbons` property provides the ability to add [add-in commands](
|`tabs.groups.controls.items.supertip.description`| String | 128 characters | ✔️ | Specifies the description of the supertip.| |`tabs.groups.controls.items.actionId`| String | 64 characters | ✔️ | Specifies the ID of the action that is taken when a user selects the control or menu item. The `actionId` must match with `runtime.actions.id`. | |`tabs.groups.controls.items.enabled`| Boolean | | | Indicates whether the control is initially enabled. <br>Default value: `true`|
-|`tabs.groups.controls.items.overriddenByRibbonApi`| Boolean | | | Specifies whether a group, button, menu, or menu item hidden on application and platform combinations which support the API ([Office.ribbon.requestCreateControls](/javascript/api/office/office.ribbon#office-office-ribbon-requestcreatecontrols-member(1))) that installs custom contextual tabs on the ribbon. <br>Default value: `false`|
+|`tabs.groups.controls.items.overriddenByRibbonApi`| Boolean | | | Specifies whether a group, button, menu, or menu item hidden on application and platform combinations, which support the API ([Office.ribbon.requestCreateControls](/javascript/api/office/office.ribbon#office-office-ribbon-requestcreatecontrols-member(1))) that installs custom contextual tabs on the ribbon. <br>Default value: `false`|
|`tabs.groups.controls.type`| String | | ✔️ | Defines the control type. <br>Supported values: `button`, `menu`| |`tabs.groups.controls.builtinControlId`| String | 64 characters | ✔️ | Specifies the ID of an existing Microsoft 365 control. For more information, see [find the IDs of controls and control groups](/office/dev/add-ins/design/built-in-button-integration#find-the-ids-of-controls-and-control-groups).| |`tabs.groups.controls.label`| String | 64 characters | ✔️ | Specifies the text displayed for the control.|
The `extensions.ribbons` property provides the ability to add [add-in commands](
|`tabs.groups.controls.supertip`| Object | | ✔️ | Configures a supertip for the control. | |`tabs.groups.controls.supertip.title`| String | 64 characters | ✔️ |Specifies the title text of the supertip.| |`tabs.groups.controls.supertip.description`| String | 128 characters | ✔️ | Specifies the description of the supertip.|
-|`tabs.groups.controls.actionId`| String | 64 characters | | Required if the control type is `button`. Do not use if the control type is `menu`. Specifies the ID of the action that is taken when a user selects the control. The `actionId` must match the `runtime.actions.id` property of an action in the `runtimes` object.|
+|`tabs.groups.controls.actionId`| String | 64 characters | | Required if the control type is `button`. Don't use if the control type is `menu`. Specifies the ID of the action that is taken when a user selects the control. The `actionId` must match the `runtime.actions.id` property of an action in the `runtimes` object.|
|`tabs.groups.controls.enabled`| Boolean | | | Indicates whether the control is initially enabled. <br>Default value: `true`|
-|`tabs.groups.controls.overriddenByRibbonApi`| Boolean | | | Specifies whether a group, button, menu, or menu item is hidden on application and platform combinations which support the API ([Office.ribbon.requestCreateControls](/javascript/api/office/office.ribbon#office-office-ribbon-requestcreatecontrols-member(1))) that installs custom contextual tabs on the ribbon. <br>Default value: `false`|
+|`tabs.groups.controls.overriddenByRibbonApi`| Boolean | | | Specifies whether a group, button, menu, or menu item is hidden on application and platform combinations, which support the API ([Office.ribbon.requestCreateControls](/javascript/api/office/office.ribbon#office-office-ribbon-requestcreatecontrols-member(1))) that installs custom contextual tabs on the ribbon. <br>Default value: `false`|
|`tabs.groups.builtinGroupId`| String | 64 characters | | Specifies the ID of a built-in group. For more information, see [find the IDs of controls and control groups](/office/dev/add-ins/design/built-in-button-integration#find-the-ids-of-controls-and-control-groups).| |`tabs.customMobileRibbonGroups`| Array | 10 | | Defines groups of controls on the default tab of the ribbon on a mobile device. This array property can only be present on tab objects that have a `tabs.builtinTabId` property that is set to "DefaultTab". For non-mobile devices, see `tabs.groups` above.| |`tabs.customMobileRibbonGroups.id` | String | 250 characters | ✔️ | Specifies the ID of the group. It must be different from any built-in group ID in the Microsoft 365 application and any other custom group.|
The `extensions.ribbons` property provides the ability to add [add-in commands](
|`tabs.customMobileRibbonGroups.controls.type` | String enum | | ✔️ | Specifies the type of control. Currently only "MobileButton" is supported.| |`tabs.customMobileRibbonGroups.controls.label` | String | 32 characters | ✔️ | Specifies the label on the control.| |`tabs.customMobileRibbonGroups.controls.actionId` | String | 64 characters |✔️ | Specifies the ID of the action that is taken when a user selects the control. The `actionId` must match the `runtime.actions.id` property of an action in the `runtimes` object.|
-|`tabs.customMobileRibbonGroups.controls.icons` | Array | 9 | ✔️ | Specifies the icons that will appear on the control depending on the dimensions and DPI of the mobile device screen. There must be exactly 9 icons.|
-|`tabs.customMobileRibbonGroups.controls.icons.size` | Number enum | | ✔️ | Size in pixels of the icon. The possible sizes are 25, 32, and 48. There must be exactly one of each size for each possible value of the icons's `scale` property. |
+|`tabs.customMobileRibbonGroups.controls.icons` | Array | 9 | ✔️ | Specifies the icons that appear on the control depending on the dimensions and DPI of the mobile device screen. There must be exactly 9 icons.|
+|`tabs.customMobileRibbonGroups.controls.icons.size` | Number enum | | ✔️ | Size in pixels of the icon. The possible sizes are 25, 32, and 48. There must be exactly one of each size for each possible value of the icons `scale` property. |
|`tabs.customMobileRibbonGroups.controls.icons.url` | String | 2048 characters | ✔️ | The full, absolute URL of the icon's image file. |
-|`tabs.customMobileRibbonGroups.controls.icons.scale` | Number enum | | ✔️ | Specifies the UIScreen.scale property for iOS devices. The possible values are 1, 2, and 3. There must be exactly one of each value for each possible value of the icons's `size` property. |
+|`tabs.customMobileRibbonGroups.controls.icons.scale` | Number enum | | ✔️ | Specifies the UIScreen.scale property for iOS devices. The possible values are 1, 2, and 3. There must be exactly one of each value for each possible value of the icons `size` property. |
To use `extensions.ribbons`, see [create add-in commands](/office/dev/add-ins/develop/create-addin-commands-unified-manifest), [configure the UI for the task pane command](/office/dev/add-ins/develop/create-addin-commands-unified-manifest#configure-the-ui-for-the-task-pane-command), and [configure the UI for the function command](/office/dev/add-ins/develop/create-addin-commands-unified-manifest#configure-the-ui-for-the-function-command).
Defines the icon properties of a given dashboard card.
|Name| Type| Maximum size | Required | Description| |||||| |`iconUrl`| String | 2048 characters | | Location of the icon for the card, to be displayed in the toolbox and card bar. |
-|`officeUIFabricIconName`| String | 255 characters | | Office UI Fabric or Fluent UI icon friendly name for the card. This value is used if *iconUrl* is not specified. |
+|`officeUIFabricIconName`| String | 255 characters | | Office UI Fabric or Fluent UI icon friendly name for the card. This value is used if *iconUrl* isn't specified. |
### dashboardCards.dashboardCard.contentSource
platform Team Chat Member Api Changes https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/team-chat-member-api-changes.md
Following are the upcoming API changes:
> `objectId` is changed to `aadObjectId` to match what is called in the `Activity` object of a Bot Framework message. The new API is available with version 4.8 or later of the Bot Framework SDK. It is also available in the Teams SDK extension Bot Framework 3.x. Meanwhile, you can use the [REST](/microsoftteams/platform/bots/how-to/get-teams-context?tabs=json#get-single-member-details) endpoint. * `TeamsInfo.GetMembersAsync` in C# and `TeamsInfo.getMembers` in TypeScript or Node.js is formally deprecated. Once the new API is available, you must update your bots to use it. This also applies to the [underlying REST API that these APIs use](/microsoftteams/platform/bots/how-to/get-teams-context?tabs=json#tabpanel_CeZOj-G++Q_json).
-* By late 2022, bots can't proactively retrieve the `userPrincipalName` or `email` properties for members of a chat or team. Bots must use the Graph APIs to retrieve the required information. The new `GetConversationPagedMembers` API can't return the `userPrincipalName` and `email` properties from late 2022.
+* Bots can't proactively retrieve the `userPrincipalName` or `email` properties for members of a chat or team. Bots must use the Graph APIs to retrieve the required information. The new `GetConversationPagedMembers` API can't return the `userPrincipalName` and `email` properties.
> [!NOTE] > We recommend you to use the [Graph API](/graph/api/user-get?view=graph-rest-1.0&tabs=http&preserve-view=true#examples) with an access token to retrieve information.
platform Integrate Web Apps Overview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/integrate-web-apps-overview.md
Title: Integrate web apps
-description: In this article, you get started with integrating web applications and device capabilities with Microsoft Teams app. Power platform to create Power apps, Power Virtual Agents, Virtual Assistant, app templates, Shift connectors, Moodle LMS.
+description: Learn to integrate device capabilities. Power platform to create Power apps, Power Virtual Agents, Virtual Assistant, app templates, Shift connectors, Moodle LMS.
ms.localizationpriority: high
You can also integrate Microsoft 365 identity to build external applications tha
## See also
-* [Map your app's use cases to Teams platform capabilities](~/concepts/design/map-use-cases.md)
* [Determine your app's entry points](~/concepts/extensibility-points.md)
-* [Considerations for Teams integration](~/samples/integrating-web-apps.md)
* [Authenticate users in Microsoft Teams](../concepts/authentication/authentication.md) * [Create low-code custom apps for Microsoft Teams](~/samples/teams-low-code-solutions.md) * [Add a Power Virtual Agents chatbot](~/bots/how-to/add-power-virtual-agents-bot-to-teams.md)
You can also integrate Microsoft 365 identity to build external applications tha
* [Share to Teams from web apps](~/concepts/build-and-test/share-to-teams-from-web-apps.md) * [Add a Teams tab to SharePoint](~/tabs/how-to/tabs-in-sharepoint.md) * [Create deep links](~/concepts/build-and-test/deep-links.md)
-* [Device capabilities](~/concepts/device-capabilities/device-capabilities-overview.md)
* [People picker control](~/concepts/device-capabilities/people-picker-capability.md)
platform Integrating Web Apps https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/integrating-web-apps.md
-description: Learn best practices or considerations for integrating existing web apps with Microsoft Teams. It gives information on API requirements, authentication, and deep-linking of your app with Teams.
+description: Learn best practices or considerations for integrating existing web apps with Teams, API requirements, authentication, and deep-linking of your app with Teams.
Last updated 04/02/2023 ms.localizationpriority: medium
When a team is created, a [SharePoint site collection](/microsoftteams/sharepoin
* [Integrate web apps](integrate-web-apps-overview.md) * [Adaptive Cards](../task-modules-and-cards/cards/cards-reference.md#adaptive-card)
-* [Integrate web apps](~/samples/integrate-web-apps-overview.md)
* [Low-code and no-code solutions for Microsoft Teams](~/samples/teams-low-code-solutions.md) * [Share to Teams from web apps](~/concepts/build-and-test/share-to-teams-from-web-apps.md) * [SameSite cookie attributes](~/resources/samesite-cookie-update.md)
platform Teams Low Code Solutions https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/teams-low-code-solutions.md
Virtual Assistant is a Microsoft open-source template that enables you to create
- [Integrate web apps](~/samples/integrate-web-apps-overview.md) - [Power Platform Connectors overview](/connectors/connectors)+
platform Virtual Assistant https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/virtual-assistant.md
You can also use existing skills from [Bot Framework Solutions repository](https
* [Adaptive Cards](../task-modules-and-cards/what-are-cards.md#adaptive-cards) * [Book-a-room](app-templates.md#app-template-code-samples) * [Microsoft Teams bot](../bots/what-are-bots.md)+
platform Build Adaptive Card Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/build-adaptive-card-tabs.md
Following is a sample Adaptive Card tab manifest:
"version": "0.0.1", "developer": { "name": "Contoso",
- "websiteUrl": "https://contoso.yourwebsite.com",
- "privacyUrl": "https://contoso.yourwebsite.com/privacy.html",
- "termsOfUseUrl": "https://contoso.yourwebsite.com/terms.html"
+ "websiteUrl": "https://contoso.example.com",
+ "privacyUrl": "https://contoso.example.com/privacy.html",
+ "termsOfUseUrl": "https://contoso.example.com/terms.html"
}, "name": { "short": "Contoso",
Following is a sample Adaptive Card tab manifest:
"composeExtensions": [], "permissions": ["identity", "messageTeamMembers"], "validDomains": [
- "contoso.yourwebsite.com",
+ "contoso.example.com",
"token.botframework.com" ] }
platform Configuration Page https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/create-tab-pages/configuration-page.md
The following code is an example of corresponding code for the configuration pag
let saveGray = () => { microsoftTeams.pages.config.registerOnSaveHandler((saveEvent) => { const configPromise = pages.config.setConfig({
- websiteUrl: "https://yourWebsite.com",
- contentUrl: "https://yourWebsite.com/gray",
+ websiteUrl: "https://example.com",
+ contentUrl: "https://example.com/gray",
entityId: "grayIconTab", suggestedDisplayName: "MyNewTab" });
The following code is an example of corresponding code for the configuration pag
let saveRed = () => { microsoftTeams.pages.config.registerOnSaveHandler((saveEvent) => { const configPromise = pages.config.setConfig({
- websiteUrl: "https://yourWebsite.com",
- contentUrl: "https://yourWebsite.com/red",
+ websiteUrl: "https://example.com",
+ contentUrl: "https://example.com/red",
entityId: "redIconTab", suggestedDisplayName: "MyNewTab" });
The following code is an example of corresponding code for the configuration pag
let saveGray = () => { microsoftTeams.settings.registerOnSaveHandler((saveEvent) => { microsoftTeams.settings.setSettings({
- websiteUrl: "https://yourWebsite.com",
- contentUrl: "https://yourWebsite.com/gray",
+ websiteUrl: "https://example.com",
+ contentUrl: "https://example.com/gray",
entityId: "grayIconTab", suggestedDisplayName: "MyNewTab" });
The following code is an example of corresponding code for the configuration pag
let saveRed = () => { microsoftTeams.settings.registerOnSaveHandler((saveEvent) => { microsoftTeams.settings.setSettings({
- websiteUrl: "https://yourWebsite.com",
- contentUrl: "https://yourWebsite.com/red",
+ websiteUrl: "https://example.com",
+ contentUrl: "https://exampe.com/red",
entityId: "redIconTab", suggestedDisplayName: "MyNewTab" });
platform Content Page https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/create-tab-pages/content-page.md
Use the following steps to show the native loading indicator:
1. If you're ready to print to the screen and wish to lazy load the rest of your application's content, you can hide the loading indicator manually by calling `app.notifyAppLoaded();`. *[Optional]*
-1. If your application doesn't load, you can call `app.notifyFailure({reason: app.FailedReason.Timeout, message: "failure message"});` to let Teams know about the failure. The `message` property is currently not used, therefore the failure message doesn't appear in the UI, and a generic error screen appears to the user. The following code shows the enumeration that defines the possible reasons you can indicate for the application's failure to load:
+1. If your application doesn't load, you can call `app.notifyFailure({reason: app.FailedReason.Timeout, message: "failure message"});` to let Teams know about the failure. The `message` property isn't used, therefore the failure message doesn't appear in the UI, and a generic error screen appears to the user. The following code shows the enumeration that defines the possible reasons you can indicate for the application's failure to load:
```typescript /* List of failure reasons */
platform What Are Task Modules https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/what-are-task-modules.md
Title: Dialogs
-description: In this module, learn how to add modal pop-up experiences to collect or display information to your users from your Microsoft Teams apps.
+description: Learn how to add modal to embed a webpage to display surveys, videos to collect or display information to your users from Teams apps
ms.localizationpriority: medium
Last updated 12/16/2022
Dialogs (referred as task modules in TeamsJS v1.x) permit you to create modal pop-up experiences in your Teams application. In the pop-up, you can: * Run your own custom HTML or JavaScript code.
-* Show an `<iframe>`-based widget such as a YouTube or Microsoft Stream video.
+* Show an `<iframe>`-based widget such as surveys, YouTube video, or Microsoft Stream video.
* Display an [Adaptive Card](/adaptive-cards/). Dialogs are useful for initiating and completing tasks or displaying rich information, such as videos or Power Business Intelligence (BI) dashboards. A pop-up experience is often more natural for users initiating and completing tasks compared to a tab or a conversation-based bot experience.
A dialog includes the following as shown in the previous image:
4. The dialog's close or cancel button. If the user selects this button, your app receives an `err` event. For more information, see [example for submitting the result of a dialog](~/task-modules-and-cards/task-modules/task-modules-tabs.md#example-of-submitting-the-result-of-a-dialog). > [!NOTE]
- > It is currently not possible to detect the `err` event when a dialog is invoked from a bot.
+ > It isn't possible to detect the `err` event when a dialog is invoked from a bot.
5. The blue rectangle is where your web page appears if you're loading your own web page using the `url` property of the [TaskInfo object](~/task-modules-and-cards/task-modules/invoking-task-modules.md#dialoginfo-object). For more information, see [Invoke and dismiss dialogs](~/task-modules-and-cards/task-modules/invoking-task-modules.md). 6. If you're displaying an Adaptive Card using the `card` property of the [TaskInfo object](~/task-modules-and-cards/task-modules/invoking-task-modules.md#dialoginfo-object), the padding is added for you. For more information, see [CSS for HTML or JavaScript dialogs](~/task-modules-and-cards/task-modules/invoking-task-modules.md#css-for-html-or-javascript-dialogs).
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
description: In this module, learn how to build RAG bot using Teams AI library. ms.localizationpriority: high-+ Last updated 05/21/2024
After ingesting data into Azure AI Search, you can implement your own `DataSourc
# [JavaScript](#tab/javascript3) ```javascript
-import { AzureKeyCredential, SearchClient } from "@azure/search-documents";
-import { DataSource, Memory, OpenAIEmbeddings, RenderedPromptSection, Tokenizer } from "@microsoft/teams-ai";
-import { TurnContext } from "botbuilder";
-
-export interface Doc {
- id: string,
- content: string, // searchable
- filepath: string,
- // contentVector: number[] // vector field
- // ... other fields
+const { AzureKeyCredential, SearchClient } = require("@azure/search-documents");
+const { DataSource, Memory, OpenAIEmbeddings, Tokenizer } = require("@microsoft/teams-ai");
+const { TurnContext } = require("botbuilder");
+
+// Define the interface for document
+class Doc {
+ constructor(id, content, filepath) {
+ this.id = id;
+ this.content = content; // searchable
+ this.filepath = filepath;
+ }
} // Azure OpenAI configuration
const searchEndpoint = "<your-search-endpoint>";
const searchApiKey = "<your-search-apikey>"; const searchIndexName = "<your-index-name>";
-export class MyDataSource implements DataSource {
- public readonly name = "my-datasource";
- private readonly embeddingClient: OpenAIEmbeddings;
- private readonly searchClient: SearchClient<Doc>;
-
+// Define MyDataSource class implementing DataSource interface
+class MyDataSource extends DataSource {
constructor() {
+ super();
+ this.name = "my-datasource";
this.embeddingClient = new OpenAIEmbeddings({ azureEndpoint: aoaiEndpoint, azureApiKey: aoaiApiKey, azureDeployment: aoaiDeployment });
- this.searchClient = new SearchClient<Doc>(searchEndpoint, searchIndexName, new AzureKeyCredential(searchApiKey));
+ this.searchClient = new SearchClient(searchEndpoint, searchIndexName, new AzureKeyCredential(searchApiKey));
}
- public async renderData(context: TurnContext, memory: Memory, tokenizer: Tokenizer, maxTokens: number): Promise<RenderedPromptSection<string>> {
+ async renderData(context, memory, tokenizer, maxTokens) {
// use user input as query
- const input = memory.getValue("temp.input") as string;
+ const input = memory.getValue("temp.input");
// generate embeddings const embeddings = (await this.embeddingClient.createEmbeddings(input)).output[0];
export class MyDataSource implements DataSource {
vector: embeddings, kNearestNeighborsCount: 3 }]
- }
+ },
queryType: "semantic", top: 3, semanticSearchOptions: {
export class MyDataSource implements DataSource {
break; }
- // Append do to output
+ // Append doc to output
output += doc; length += docLength; }
platform Debug Mobile https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/debug-mobile.md
You can view the project folders and files under **Explorer** in the Microsoft V
> [!NOTE] > If a you have debugged the app previously, it's recommended to clear the cache on the mobile device to ensure immediate app synchronization. After clearing the cache, the app takes some time to sync.
-# [iOS](#tab/ios1)
+ # [iOS](#tab/ios1)
- To clear the Teams app data, go to **Settings** > **Teams** > **Clear App Data**.
+ To clear the Teams app data, go to **Settings** > **Teams** > **Clear App Data**.
- :::image type="content" source="../assets/images/debug-mobile/clear-app-data-ios-option.PNG" alt-text="Screenshot shows how to clear the app data in iOS mobile client for tab." lightbox="../assets/images/debug-mobile/clear-app-data-ios.PNG":::
+ :::image type="content" source="../assets/images/debug-mobile/clear-app-data-ios-option.PNG" alt-text="Screenshot shows how to clear the app data in iOS mobile client for tab." lightbox="../assets/images/debug-mobile/clear-app-data-ios.PNG":::
-# [Android](#tab/android1)
+ # [Android](#tab/android1)
- To clear the Teams app data, go to **Teams** > **Settings** > **Data and storage** > **Clear app data** > **Clear data**.
+ To clear the Teams app data, go to **Teams** > **Settings** > **Data and storage** > **Clear app data** > **Clear data**.
- :::image type="content" source="../assets/images/debug-mobile/clear-app-data-android-option.PNG" alt-text="Screenshot shows how to clear the app data in android mobile client for tab." lightbox="../assets/images/debug-mobile/clear-app-data-android.PNG":::
+ :::image type="content" source="../assets/images/debug-mobile/clear-app-data-android-option.PNG" alt-text="Screenshot shows how to clear the app data in android mobile client for tab." lightbox="../assets/images/debug-mobile/clear-app-data-android.PNG":::
-
+
1. If you're accessing the dev tunnel for the first time, sign in to Microsoft 365 account and select **continue**.
You can view the project folders and files under **Explorer** in the Microsoft V
> [!NOTE] > If a you have debugged the bot app previously and the app manifest (previously called Teams app manifest) file is changed, we recommend to clear the cache on the mobile device to ensure immediate app synchronization. After clearing the cache, the app takes some time to sync.
-# [iOS](#tab/ios2)
+ # [iOS](#tab/ios2)
- To clear the Teams app data, go to **Settings** > **Teams** > **Clear App Data**.
+ To clear the Teams app data, go to **Settings** > **Teams** > **Clear App Data**.
- :::image type="content" source="../assets/images/debug-mobile/clear-app-data-ios-option.PNG" alt-text="Screenshot shows how to clear the app data in iOS mobile client for bot." lightbox="../assets/images/debug-mobile/clear-app-data-ios.PNG":::
+ :::image type="content" source="../assets/images/debug-mobile/clear-app-data-ios-option.PNG" alt-text="Screenshot shows how to clear the app data in iOS mobile client for bot." lightbox="../assets/images/debug-mobile/clear-app-data-ios.PNG":::
-# [Android](#tab/android2)
+ # [Android](#tab/android2)
- To clear the Teams app data, go to **Teams** > **Settings** > **Data and storage** > **Clear app data** > **Clear data**.
+ To clear the Teams app data, go to **Teams** > **Settings** > **Data and storage** > **Clear app data** > **Clear data**.
- :::image type="content" source="../assets/images/debug-mobile/clear-app-data-android-option.PNG" alt-text="Screenshot shows how to clear the app data in android mobile client for bot." lightbox="../assets/images/debug-mobile/clear-app-data-android.PNG":::
+ :::image type="content" source="../assets/images/debug-mobile/clear-app-data-android-option.PNG" alt-text="Screenshot shows how to clear the app data in android mobile client for bot." lightbox="../assets/images/debug-mobile/clear-app-data-android.PNG":::
-
+
1. Your first mobile bot app is created.
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
Test Tool offers a faster debug experience for bot applications when compared to
# [OpenAI](#tab/openai)
- * Update OpenAI `ApiKey` in the `appsettings.TestTool.json` file.
+ Update OpenAI `ApiKey` in the `appsettings.TestTool.json` file.
- :::image type="content" source="../../assets/images/teams-toolkit-v2/teams-toolkit-vs/app-seetings-test-tool.png" alt-text="Screenshot displays the updated OpenAI key.":::
+ :::image type="content" source="../../assets/images/teams-toolkit-v2/teams-toolkit-vs/app-seetings-test-tool.png" alt-text="Screenshot displays the updated OpenAI key.":::
# [Azure OpenAI](#tab/azureopenai)