Service | Microsoft Docs article | Related commit history on GitHub | Change details |
---|---|---|---|
platform | Build Apps For Anonymous User | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/apps-in-teams-meetings/build-apps-for-anonymous-user.md | Last updated 02/07/2023 Anonymous users don't have a Microsoft Entra identity and aren't federated with a tenant. The anonymous participants are external users but their identity isn't shown in the meeting. An anonymous user can be a presenter or an attendee but can't be an organizer. You can build bots, messaging extensions, and cards and dialogs (referred as task modules in TeamsJS v1.x) in your app to engage with anonymous meeting participants. > [!NOTE]+> > * Apps for anonymous users are supported in Teams desktop and mobile clients and isn't supported in channel meetings. > * Meeting apps for anonymous users are only supported in Microsoft Edge and Chrome. For anonymous users to interact with the apps in Teams meetings, ensure to: ## App manifest update for anonymous users +> [!NOTE] +> The `supportsAnonymousGuestUsers` property in the app manifest schema v1.16 is supported only in [new Teams client](/microsoftteams/platform/resources/teams-updates). + To allow anonymous users to interact with the tab app, update the `supportsAnonymousGuestUsers` property to `true` in your app manifest schema v1.16 or later. Following is an example of the manifest: ```json |
platform | Format Your Bot Messages | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/format-your-bot-messages.md | Microsoft Teams supports the following formatting options: | `TextFormat` value | Description | | | |-| plain | The text must be treated as raw text with no formatting applied.| -| markdown | The text must be treated as markdown formatting and rendered on the channel as appropriate. | -| xml | The text is simple XML markup. | +| `plain` | The text must be treated as raw text with no formatting applied.| +| `markdown` | The text must be treated as Markdown formatting and rendered on the channel as appropriate. | +| `xml` | The text is simple XML markup. | -Teams supports a subset of markdown and XML or HTML formatting tags. +Teams supports a subset of `markdown` and `xml` or HTML formatting tags. Your bot can also mention other users and tags in text messages posted in channels. For more information, see [add mentions to your messages](~/bots/how-to/conversations/channel-and-group-conversations.md#add-mentions-to-your-messages). Currently, the following limitations apply to formatting: * Text-only messages don't support table formatting. * Rich cards support formatting in the text property only, not in the title or subtitle properties.-* Rich cards don't support markdown or table formatting. +* Rich cards don't support Markdown or table formatting. After you format text content, ensure that your formatting works across all platforms supported by Teams. |
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 | It is not necessary for the new message to match the original in type. For examp To update an existing message, pass a new `Activity` object with the existing activity ID to the `UpdateActivityAsync` method of the `TurnContext` class. ```csharp+// Send initial message +var response = await turnContext.SendActivityAsync(MessageFactory.Attachment(card.ToAttachment()), cancellationToken); +var activityId = response.Id; // Fetch activity id. + // MessageFactory.Text(): Specifies the type of text data in a message attachment. var newActivity = MessageFactory.Text("The new text for the activity"); newActivity.Id = activityId; await turnContext.UpdateActivityAsync(newActivity, cancellationToken); To update an existing message, pass a new `Activity` object with the existing activity ID to the `updateActivity` method of the `TurnContext` object. ```typescript+// Send initial message +var message = await context.sendActivity("<Your Message>"); +var activityId = message.id; // Fetch activity id. + // MessageFactory.Text(): Specifies the type of text data in a message attachment. const newActivity = MessageFactory.text('The new text for the activity'); newActivity.id = activityId; await turnContext.updateActivity(newActivity); To update an existing message, pass a new `Activity` object with the existing activity ID to the `update_activity` method of the `TurnContext` class. ```python+# Send initial message +message = await turn_context.send_activity("<Your Message>") +activityId = message.id # Fetch activity id. + # MessageFactory.Text(): Specifies the type of text data in a message attachment. new_activity = MessageFactory.text("The new text for the activity") new_activity.id = activity_id |
platform | Deep Links Execution Handling | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/build-and-test/deep-links-execution-handling.md | You can configure your app to post messages to a chat and add deep links to them ### Hyperlink text message -When you add a deep link to a hyperlinked markdown text message, it's triggered and opened within Teams. Following is an example: +When you add a deep link to a hyperlinked Markdown text message, it's triggered and opened within Teams. Following is an example: Example: `[App](https://teams.microsoft.com/l/app/{appId})`, where `appId` is your application ID. To know more about different app IDs used see, [app ID used for different apps](~/concepts/build-and-test/deep-link-application.md#app-id-used-for-different-apps). |
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 leverage location capabilities using Code snippets and samples. +description: Learn how to use Teams JavaScript client library to utilize location capabilities using Code snippets and samples. ms.localizationpriority: high You can use [Microsoft Teams JavaScript client library](/javascript/api/overview [!INCLUDE [sdk-include](~/includes/sdk-include.md)] -The advantage of integrating location capabilities in your Teams apps is to apply location functionality in Teams web client, desktop, and mobile using [Microsoft Teams JavaScript client library](/javascript/api/overview/msteams-client). The following scenarios showcase the advantages of location capabilities: +The advantage of integrating location capabilities in your Teams apps is to utilize location functionality in Teams web client, desktop, and mobile using [Microsoft Teams JavaScript client library](/javascript/api/overview/msteams-client). The following scenarios showcase the advantages of location capabilities: -The main advantage of integrating location capabilities in your Teams apps is that it allows web app developers on Teams platform to leverage location functionality with Microsoft Teams JavaScript client library. +The main advantage of integrating location capabilities in your Teams apps is that it allows web app developers on Teams platform to utilize location functionality with Microsoft Teams JavaScript client library. * Share authentic health data of cellular towers with the management. The management can compare any mismatch between captured location information and the data submitted by maintenance staff. 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#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. |`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] import {location} from "@microsoft/teams-js" let locationProps = {"allowChooseLocation":true,"showMap":true}; if(location.isSupported()) {- const locationPromise = location.getLocation(locationProps); - locationPromise. - then((result) => {output(JSON.stringify(result));}. - catch((error) => {output(error);}); + microsoftTeams.location.getLocation(locationProps, (error, location) => { + // If there's any error, an alert shows the error message/code + if (error) { + if (error.message) { + alert(" ErrorCode: " + error.errorCode + error.message); + } else { + alert(" ErrorCode: " + error.errorCode); + } + } + console.log(JSON.stringify(location)); + }) } else {/*Handle case where capability isn't supported */} ``` import {location} from "@microsoft/teams-js" let location = {"latitude":17,"longitude":17}; if(location.isSupported()) {- const locationPromise = location.showLocation(location); - locationPromise. - then((result) => {/*Successful map display*/}). - catch((error) => {/*Failed map display*/}); + microsoftTeams.location.showLocation(location, (error, result) => { + if (error) { + if (error.message) { + alert(" ErrorCode: " + error.errorCode + error.message); + } else { + alert(" ErrorCode: " + error.errorCode); + } + } + }); } else {/*Handle case where capability isn't supported */} ``` |
platform | Dev Tunnel | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/includes/get-started/dev-tunnel.md | :::image type="content" source="../../assets/images/include-files/asp-net-output.png" alt-text="Screenshot shows the overview window."::: -1. In the debug dropdown list, select **Dev Tunnels (no active tunnel)** > **Create A Tunnel...**. +1. In the debug dropdown list, select **Dev Tunnels (no active tunnel)** > **Create a Tunnel...**. :::image type="content" source="../../assets/images/include-files/create-tunnel.png" alt-text="Screenshot shows the dropdown to select the dev tunnels."::: |
platform | Teamsjs Support M365 | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/teamsjs-support-m365.md | description: Understand the level of support for different TeamsJS library capab ms.localizationpriority: high Previously updated : 05/18/2023 Last updated : 11/05/2023 keywords: TeamsJS Teams JavaScript library capability Microsoft 365 M365 The following table lists host application support for TeamsJS capabilities that <thead> <tr> <th>TeamsJS Capability</th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> The following table lists host application support for TeamsJS capabilities that <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> The following table lists host application support for TeamsJS capabilities that <tr> <th><a href="#app">app</a></th> <td>✓</td>- <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td>- <td>✓*</td> <td>✓</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓</td>- <td>✓*</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> </tr> <tr> <th><a href="#appinstalldialog">appInstallDialog</a></th> <td>✓</td>+ <td>✓*</td> <td>✓</td> <td></td> <td>✓</td> The following table lists host application support for TeamsJS capabilities that <tr> <th><a href="#authentication">authentication</a></th> <td>✓</td>- <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td>- <td>✓*</td> <td>✓</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓</td>- <td>✓*</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> </tr> <tr> <th><a href="#calendar">calendar</a></th> <td></td> <td></td> <td></td>+ <td>✓</td> <td></td> <td></td> <td></td>+ <td>✓</td> <td>✓*</td> <td></td> <td></td>+ <td>✓</td> + <td></td> + <td></td> + <td>✓</td> + </tr> + <tr> + <th><a href="#call">call</a></th> + <td>✓</td> + <td>✓*</td> + <td></td> + <td>✓</td> + <td>✓</td> + <td>✓*</td> + <td></td> + <td></td> + <td>✓*</td> + <td>✓</td> + <td></td> + <td></td> + <td>✓</td> + <td></td> + <td></td> + </tr> + <tr> + <th><a href="#chat">chat</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> + <td>✓</td> + <td>✓*</td> <td></td>+ <td>✓</td> + <td>✓</td> <td>✓*</td> <td></td> <td></td> <td>✓*</td>+ <td>✓</td> + <td></td> + <td></td> + <td>✓</td> + <td></td> + <td></td> </tr> <tr> <th><a href="#clipboard">clipboard</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> The following table lists host application support for TeamsJS capabilities that <tr> <th><a href="#dialog">dialog</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> <td>✓</td>- <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td>+ <td>✓</td> + <td>✓</td> <td></td> <td>✓</td> <td></td> The following table lists host application support for TeamsJS capabilities that <tr> <th><a href="#geolocation">geoLocation</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> <td></td>+ <td>✓*</td> <td>✓</td> <td></td> <td></td> <td>✓*</td> <td>✓</td>- <td></td> + <td>✓</td> <td></td> <td></td> <td></td> The following table lists host application support for TeamsJS capabilities that <th><a href="#mail">mail</a></th> <td></td> <td></td>+ <td></td> <td>✓*</td> <td></td> <td></td> <td></td>+ <td>✓</td> <td>✓*</td> <td></td> <td></td>- <td></td> - <td>✓*</td> + <td>✓</td> <td></td> <td></td>- <td>✓*</td> + <td>✓</td> </tr> <tr> <th><a href="#pages">pages</a></th> <td>✓</td>- <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td>- <td></td> <td>✓</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓</td>- <td>✓*</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> </tr> <tr> <th><a href="#profile">profile</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> The following table lists host application support for TeamsJS capabilities that <td></td> <td></td> <td></td>- <td>✓*</td> <td></td>+ <td>✓</td> + <td>✓*</td> <td></td> <td></td> <td></td> The following table lists host application support for TeamsJS capabilities that </tr> <tr> <th><a href="#search">search</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th>+ <td>✓</td> <td></td> <td></td> <td>✓*</td>+ <td>✓</td> <td></td>- <td>✓*</td> <td></td>+ <td>✓</td> <td>✓*</td> <td></td> <td></td> The following table lists host application support for TeamsJS capabilities that <td></td> <td></td> <td></td>- <td></td> </tr> <tr> <th><a href="#secondarybrowser">secondaryBrowser</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> The following table lists host application support for TeamsJS capabilities that <td></td> <td></td> <td></td>- <td>✓*</td> + <td></td> + <td>✓</td> <td></td> <td></td> <td></td> The following table lists support for TeamsJS capabilities that run only in the <thead> <tr> <th>TeamsJS Capability</th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> The following table lists support for TeamsJS capabilities that run only in the <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> The following table lists support for TeamsJS capabilities that run only in the <td>✓</td> <td></td> <td></td>- <td>✓</td> - <td></td> - <td></td> - <td></td> - <td></td> - <td>✓</td> - <td></td> - <td></td> - <td>✓</td> - <td></td> - <td></td> - </tr> - <tr> - <th><a href="#call">call</a></th> - <td>✓</td> - <td></td> <td></td> <td>✓</td> <td></td> The following table lists support for TeamsJS capabilities that run only in the <td></td> <td></td> </tr>- <tr> - <th><a href="#chat">chat</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> - <td>✓</td> - <td></td> - <td></td> - <td>✓</td> - <td>✓*</td> - <td></td> - <td></td> - <td></td> - <td>✓</td> - <td></td> - <td></td> - <td>✓</td> - <td></td> - <td></td> - </tr> <tr> <th><a href="#location">location</a><img src="./images/deprecated-badge.png" alt="Badge indicating this capability is deprecated" /></th> <td>✓</td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> The following table lists support for TeamsJS capabilities that run only in the <td></td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> The following table lists support for TeamsJS capabilities that run only in the <tr> <th><a href="#people">people</a></th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> The following table lists support for TeamsJS capabilities that run only in the <td>✓</td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> The following table lists support for TeamsJS capabilities that run only in the <tr> <th><a href="#sharing">sharing</a></th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> The following table lists support for TeamsJS capabilities that run only in the <tr> <th><a href="#stageview">stageView</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> The following table lists support for TeamsJS capabilities that run only in the <td>✓</td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> The following table lists support for TeamsJS capabilities that run only in the <tr> <th><a href="#teamscore">teamsCore</a></th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> The following table lists support for TeamsJS capabilities that run only in the </tr> <tr> <th><a href="#video">video</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th>- <td>✓</td> <td></td> <td></td>- <td>✓</td> + <td></td> + <td></td> + <td></td> <td></td> <td></td> <td></td> The following table lists support for TeamsJS capabilities that run only in the <td></td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> The following table lists support for TeamsJS capabilities that run only in the ## Preview capabilities awaiting host support -Some capabilities in the source are in early preview and still awaiting initial support in one or more host applications that include [**barCode**](#barcode), [**media**](#media), [**meeting**](#meeting), and [**search**](#search). +Some capabilities in the source are in early preview and still awaiting initial support in one or more host applications that include [**barCode**](#barcode), [**media**](#media), and [**meeting**](#meeting). Later in this article, you can find more information on each capability of the Teams JavaScript client library. The `app` namespace is supported globally across all application hosts and, ther <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> The `app` namespace is supported globally across all application hosts and, ther <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> The `app` namespace is supported globally across all application hosts and, ther <tr> <th>app</th> <td>✓</td>- <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td>- <td>✓*</td> <td>✓</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓</td>- <td>✓*</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> </tr> </tbody> </table> Deprecated. Namespace for initializing an app. For new apps, use [app.initialize <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Deprecated. Namespace for initializing an app. For new apps, use [app.initialize <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Deprecated. Namespace for initializing an app. For new apps, use [app.initialize <td>✓</td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> Namespace used to open a dialog for installing an application. <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Namespace used to open a dialog for installing an application. <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Namespace used to open a dialog for installing an application. <tr> <th>appInstallDialog</th> <td>✓</td>+ <td>✓*</td> <td>✓</td> <td></td> <td>✓</td> The `authentication` namespace is supported globally across all application host <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> The `authentication` namespace is supported globally across all application host <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> The `authentication` namespace is supported globally across all application host <tr> <th>authentication</th> <td>✓</td>- <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td>- <td>✓*</td> <td>✓</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓</td>- <td>✓*</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> </tr> </tbody> </table> Preview. Namespace to interact with the barcode scanning-related part of the lib <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Preview. Namespace to interact with the barcode scanning-related part of the lib <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Preview. Namespace to interact with the barcode scanning-related part of the lib <td></td> <td></td> <td></td>+ <td></td> </tr> </tbody> </table> Namespace providing calendar-related functionality. <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Namespace providing calendar-related functionality. <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Namespace providing calendar-related functionality. <td></td> <td></td> <td></td>+ <td>✓</td> <td></td> <td></td> <td></td>+ <td>✓</td> <td>✓*</td> <td></td> <td></td>- <td></td> - <td>✓*</td> + <td>✓</td> <td></td> <td></td>- <td>✓*</td> + <td>✓</td> </tr> </tbody> </table> Namespace providing functionality to start a call with others. <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Namespace providing functionality to start a call with others. <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Namespace providing functionality to start a call with others. <tr> <th>call</th> <td>✓</td>- <td></td> + <td>✓*</td> <td></td> <td>✓</td>+ <td>✓</td> + <td>✓*</td> <td></td> <td></td>- <td></td> - <td></td> + <td>✓*</td> <td>✓</td> <td></td> <td></td> Preview. Namespace providing functionality to start a chat with others. <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Preview. Namespace providing functionality to start a chat with others. <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Preview. Namespace providing functionality to start a chat with others. <tr> <th>chat <img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> <td>✓</td>+ <td>✓*</td> <td></td>- <td></td> + <td>✓</td> <td>✓</td> <td>✓*</td> <td></td> <td></td>- <td></td> + <td>✓*</td> <td>✓</td> <td></td> <td></td> Preview. This group of capabilities enables apps to show modal dialogs (referred <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Preview. This group of capabilities enables apps to show modal dialogs (referred <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Preview. This group of capabilities enables apps to show modal dialogs (referred <tr> <th>dialog <img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> <td>✓</td>- <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td>+ <td>✓</td> + <td>✓</td> <td></td> <td>✓</td> <td></td> Preview. This group of capabilities enables apps to show modal dialogs (referred <td></td> <td></td> <td></td>- <td>✓*</td> - <td></td> - <td></td> - <td></td> <td></td> <td></td> <td></td>+ <td>✓</td> <td></td>+ <td>✓</td> <td></td>+ <td>✓</td> + <td>✓</td> <td></td>+ <td>✓</td> </tr> <tr> <th><a href="#dialogadaptivecardbot">dialog.adaptiveCard.bot</a> <img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> Preview. This group of capabilities enables apps to show modal dialogs (referred <td></td> <td></td> <td></td>- <td>✓*</td> - <td></td> - <td></td> - <td></td> <td></td> <td></td> <td></td>+ <td>✓</td> <td></td>+ <td>✓</td> <td></td>+ <td>✓</td> + <td>✓</td> <td></td>+ <td>✓</td> </tr> <tr> <th><a href="#dialogupdate">dialog.update</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> <td>✓</td>+ <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td>+ <td>✓</td> <td>✓*</td> <td></td> <td></td> Preview. This group of capabilities enables apps to show modal dialogs (referred <td></td> <td></td> <td></td>- <td></td> </tr> <tr> <th><a href="#dialogurl">dialog.url</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> <td>✓</td>+ <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td>+ <td>✓</td> <td>✓*</td>- <td></td> <td>✓</td> <td></td> <td></td> Preview. This group of capabilities enables apps to show modal dialogs (referred <tr> <th><a href="#dialogurlbot">dialog.url.bot</a><img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> <td>✓*</td> <td></td>+ <td>✓</td> <td>✓*</td>- <td></td> <td>✓</td> <td></td> <td></td> When an API doesn't support or generates an error, add logic to fail or provide <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> When an API doesn't support or generates an error, add logic to fail or provide <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> When an API doesn't support or generates an error, add logic to fail or provide <tr> <th>geoLocation <img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> <td></td>+ <td>✓*</td> <td>✓</td> <td></td> <td></td> <td>✓*</td> <td>✓</td>- <td></td> + <td>✓</td> <td></td> <td></td> <td></td> When an API doesn't support or generates an error, add logic to fail or provide <td></td> <td></td> <td></td>+ <td></td> </tr> </tbody> </table> Deprecated. Namespace providing location-related functionality (get and show loc <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Deprecated. Namespace providing location-related functionality (get and show loc <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Deprecated. Namespace providing location-related functionality (get and show loc <td>✓</td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> Namespace providing email-related functionality. <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Namespace providing email-related functionality. <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Namespace providing email-related functionality. <th>mail</th> <td></td> <td></td>+ <td></td> <td>✓*</td> <td></td> <td></td> <td></td>+ <td>✓</td> <td>✓*</td> <td></td> <td></td>- <td></td> - <td>✓*</td> + <td>✓</td> <td></td> <td></td>- <td>✓*</td> + <td>✓</td> </tr> </tbody> </table> Namespace providing image file-related functionality. <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Namespace providing image file-related functionality. <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Namespace providing image file-related functionality. <td></td> <td></td> <td></td>+ <td></td> </tr> </tbody> </table> Namespace providing in-meeting app functionality. <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Namespace providing in-meeting app functionality. <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Namespace providing in-meeting app functionality. <td></td> <td></td> <td></td>+ <td></td> </tr> </tbody> </table> Namespace to interact with the menu-related part of the library. This module is <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Namespace to interact with the menu-related part of the library. This module is <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Namespace to interact with the menu-related part of the library. This module is <td></td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> Prior to TeamsJS version 2.0, all deep linking scenarios were handled using `sha <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Prior to TeamsJS version 2.0, all deep linking scenarios were handled using `sha <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Prior to TeamsJS version 2.0, all deep linking scenarios were handled using `sha <tr> <th><a href="#pages">pages</a></th> <td>✓</td>- <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓*</td>- <td>✓*</td> <td>✓</td> <td>✓</td> <td>✓*</td> <td>✓</td> <td>✓</td>- <td>✓*</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> + <td>✓</td> </tr> <tr> <th><a href="#pagesappbutton">pages.appButton</a></th> <td>✓</td>+ <td>✓*</td> <td>✓</td> <td></td> <td>✓</td> Prior to TeamsJS version 2.0, all deep linking scenarios were handled using `sha <tr> <th><a href="#pagesbackstack">pages.backStack</a></th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> Prior to TeamsJS version 2.0, all deep linking scenarios were handled using `sha <tr> <th><a href="#pagescurrentapp">pages.currentApp</a></th> <td></td>+ <td>✓*</td> <td>✓</td>- <td></td> - <td></td> - <td></td> <td>✓</td> <td></td>- <td></td> + <td>✓*</td> + <td>✓</td> + <td>✓</td> + <td>✓*</td> <td></td> <td>✓</td> <td></td> <td></td> <td>✓</td>- <td>✓*</td> + <td>✓</td> </tr> <tr> <th><a href="#pagesconfig">pages.config</a></th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> Prior to TeamsJS version 2.0, all deep linking scenarios were handled using `sha <tr> <th><a href="#pagestabs">pages.tabs</a></th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> Namespace providing functionality for [People Picker API](../concepts/device-cap <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Namespace providing functionality for [People Picker API](../concepts/device-cap <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Namespace providing functionality for [People Picker API](../concepts/device-cap <tr> <th>people</th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> Preview. Namespace providing for profile-related functionality. <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Preview. Namespace providing for profile-related functionality. <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Preview. Namespace providing for profile-related functionality. <td></td> <td></td> <td></td>- <td>✓*</td> <td></td>+ <td>✓</td> + <td>✓*</td> <td></td> <td></td> <td></td> Preview. Allows your application to interact with the host Microsoft 365 applica <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Preview. Allows your application to interact with the host Microsoft 365 applica <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Preview. Allows your application to interact with the host Microsoft 365 applica <tbody> <tr> <th>search <img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th>+ <td>✓</td> <td></td> <td></td> <td>✓*</td>+ <td>✓</td> <td></td>- <td>✓*</td> <td></td>+ <td>✓</td> <td>✓*</td> <td></td> <td></td> Preview. Allows your application to interact with the host Microsoft 365 applica <td></td> <td></td> <td></td>- <td></td> </tr> </tbody> </table> Preview. Namespace supporting in-app browser experiences of the host app. For ex <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Preview. Namespace supporting in-app browser experiences of the host app. For ex <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Preview. Namespace supporting in-app browser experiences of the host app. For ex <td></td> <td></td> <td></td>- <td>✓*</td> + <td></td> + <td>✓</td> <td></td> <td></td> <td></td> Deprecated. Provides settings-related functionality. Use equivalent APIs from th <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Deprecated. Provides settings-related functionality. Use equivalent APIs from th <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Deprecated. Provides settings-related functionality. Use equivalent APIs from th <td>✓</td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> Namespace to open a share dialog for web content. For more information, see [Sha <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Namespace to open a share dialog for web content. For more information, see [Sha <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Namespace to open a share dialog for web content. For more information, see [Sha <tr> <th>sharing</th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> Preview. Namespace to interact with the Stage View specific part of the library. <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Preview. Namespace to interact with the Stage View specific part of the library. <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Preview. Namespace to interact with the Stage View specific part of the library. <tr> <th>stageView <img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> The earlier version of the capability for providing modal dialogs (referred as t <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> The earlier version of the capability for providing modal dialogs (referred as t <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> The earlier version of the capability for providing modal dialogs (referred as t <td>✓</td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> Namespace containing the set of APIs that support Teams-specific functionalities <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Namespace containing the set of APIs that support Teams-specific functionalities <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Namespace containing the set of APIs that support Teams-specific functionalities <tr> <th>teamsCore</th> <td>✓</td>+ <td>✓*</td> <td></td> <td></td> <td>✓</td> Preview. Namespace representing functionality for in-meeting video effects. <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Preview. Namespace representing functionality for in-meeting video effects. <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Preview. Namespace representing functionality for in-meeting video effects. <tbody> <tr> <th>video <img src="./images/preview-badge.png" alt="Badge indicating this capability is in preview" /></th>- <td>✓</td> <td></td> <td></td>- <td>✓</td> + <td></td> + <td></td> + <td></td> <td></td> <td></td> <td></td> Preview. Contains functionality to allow web apps to store data in webview cache <thead> <tr> <th></th>- <th colspan=3>Web</th> + <th colspan=4>Web</th> <th colspan=5>Desktop</th> <th colspan=6>Mobile</th> </tr> <tr> <th></th>- <th colspan=3></th> + <th colspan=4></th> <th colspan=5>Windows</th> <th colspan=3>Android</th> <th colspan=3>iOS</th> Preview. Contains functionality to allow web apps to store data in webview cache <tr> <td></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td>+ <td><img alt="Teams (Preview)" src="./images/teams-preview-icon.png"/></td> <td><img alt="Microsoft 365 app" src="./images/microsoft-365-icon.png"/></td> <td><img alt="Outlook" src="./images/outlook-icon.png"/></td> <td><img alt="Teams" src="./images/teams-icon.png"/></td> Preview. Contains functionality to allow web apps to store data in webview cache <td></td> <td></td> <td></td>+ <td></td> <td>✓</td> <td></td> <td></td> |
platform | Respond To Task Module Submit | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/action-commands/respond-to-task-module-submit.md | After a user submits the dialog, your web service receives a `composeExtensions/ You have the following options to respond: * No response: Use the submit action to trigger a process in an external system and not provide any feedback to the user. It's useful for long-running processes and to provide feedback alternately. For example, you can give feedback with a [proactive message](~/bots/how-to/conversations/send-proactive-messages.md).-* [Another dialog](#respond-with-another-dialog): You can respond with an additional dialog as part of a multi-step interaction. +* [Another dialog](#respond-with-another-dialog): You can respond with additional dialog as part of a multi-step interaction. * [Card response](#respond-with-a-card-inserted-into-the-compose-message-area): You can respond with a card that the user can interact with or insert into a message. * [Adaptive Card from bot](#bot-response-with-adaptive-card): Insert an Adaptive Card directly into the conversation.-* [Request the user to authenticate](~/messaging-extensions/how-to/add-authentication.md). -* [Request the user to provide additional configuration](~/get-started/first-message-extension.md). +* [Request the user to authenticate](/microsoftteams/platform/messaging-extensions/how-to/add-authentication). If the app doesn't respond within five seconds, the Teams client retries the request twice before it sends an error message **Unable to reach the app**. If the bot replies after the timeout, the response is ignored. For authentication or configuration, after the user completes the process, the o > * When you select **Action.Submit** through ME cards, it sends invoke activity with the name **composeExtensions**, where the value is equal to the usual payload. > * When you select **Action.Submit** through conversation, you receive message activity with the name **onCardButtonClicked**, where the value is equal to the usual payload. -If the app contains a conversational bot, install the bot in the conversation, and then load the dialog. The bot is useful to get additional context for the dialog. To install conversational bot, see [Request to install your conversational bot](create-task-module.md#request-to-install-your-conversational-bot). +If the app contains a conversational bot, install the bot in the conversation, and then load the dialog. The bot is useful to get more context for the dialog. To install conversational bot, see [Request to install your conversational bot](create-task-module.md#request-to-install-your-conversational-bot). ## The submitAction invoke event class TeamsMessagingExtensionsActionPreview extends TeamsActivityHandler { ## Respond with another dialog -You can select to respond to the `submitAction` event with an additional dialog. It's useful in the following scenarios: +You can select to respond to the `submitAction` event with additional dialog. It's useful in the following scenarios: * Collect large amounts of information. * Dynamically change the information collection based on user input. The method for response is the same as [responding to the initial `fetchTask` ev > > * Outlook doesn't support bot response with Adaptive Card. - You can also respond to the `submitAction` by inserting a message with an Adaptive Card into the channel with a bot. The user can preview the message before submitting it. It's useful in scenarios where you gather information from the users before creating an Adaptive Card response, or when you update the card after someone interacts with it. The following scenario shows how the app Polly configures a poll without including the configuration steps in the channel conversation: You receive a new `composeExtensions/submitAction` message similar to the follow ### User attribution for bots messages -In scenarios where a bot sends messages on behalf of a user, attributing the message to that user helps with engagement and display a more natural interaction flow. This feature lets you to show a message from your bot that was sent on behalf of a user by displaying the name of the user in the header of the Adaptive Card response. +In scenarios where a bot sends messages on behalf of a user, attributing the message to that user helps with engagement and display a more natural interaction flow. This feature lets the bot show messages on behalf of a user with the user's name displayed in the Adaptive Card response header. The following images display an Adaptive Card message sent by a bot. The left-side image is without user attribution and the right-side image is with user attribution. The image with user attribution displays the name of the user in the format: username via bot **(Megan Bowen via Poll)** in the Adaptive Card header. The following section is a description of the entities in the `OnBehalfOf` Array |:|:|:| |`itemId`|Integer|Describes identification of the item. Its value must be `0`.| |`mentionType`|String|Describes the mention of a "person". |-|`mri`|String|Message resource identifierΓÇï (MRI) of the person on whose behalf the message is sent. Message sender name would appear as "\<user\> through \<bot name\>". | +|`mri`|String|Message resource identifierΓÇï (MRI) of the person on whose behalf the message is sent. Message sender name would appear as "\<user\> through \<bot name\>." | |`displayName`|String|Name of the person. Used as fallback in case name resolution is unavailable.| ## Code sample The following section is a description of the entities in the `OnBehalfOf` Array |:|:--|:|:--|:--| |Teams message extension action| This sample shows how to define action commands, create dialog, and respond to dialog submit action. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action/csharp/demo-manifest/msgext-action.zip) |Message extension action preview| This sample shows how to use action preview in Messaging Extensions using Bot Framework v4. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-action-preview/csharp/demo-manifest/msgext-action-preview.zip) |-|Teams message extension search | This sample shows how to build a Search-based Message Extension. It searches nudget packages and displays the results in search based messaging extension.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip) +|Teams message extension search | This sample shows how to build a Search-based Message Extension. It searches NuGet packages and displays the results in search based messaging extension.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/msgext-search/csharp/demo-manifest/msgext-search.zip) ## Next Step |
platform | Link Unfurling | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/link-unfurling.md | See the following video to learn more about link unfurling: ## Add link unfurling to your app manifest -To add link unfurling to your app manifest, add a new `messageHandlers` array to the `composeExtensions` section of your app manifest JSON. You can add the array with the help of Developer Portal or manually. Domain listings can include wildcards, for example `*.example.com`. This matches exactly one segment of the domain; if you need to match `a.b.example.com`, then use `*.*.example.com`. +To add link unfurling to your app manifest, add a new `messageHandlers` array to the `composeExtensions` section of your app manifest JSON. You can add the array with the help of Developer Portal or manually. Domain listings can include wildcards, for example `*.example.com` that matches exactly one segment of the domain. If you need to match `a.b.example.com`, then use `*.*.example.com`. > [!NOTE] > Ensure that you don't add domains that aren't in your control, either directly or through wildcards. For example, `yourapp.onmicrosoft.com` is valid, but `*.onmicrosoft.com` isn't valid. The top-level domains are prohibited, for example, `*.com`, `*.org`. To get your app ready for zero install link unfurling, follow these steps: } ``` -1. Preauth card (for auth only): Create a card preview to unfurl your links for users who don't have your app installed. You can either create a pre-templated card or add relevant placeholder fields for the users to update. Users can learn about the app even before theyΓÇÖve installed it. +1. Preauth card (for auth only): Create a card preview to unfurl your links for users who don't have your app installed. You can either create a pre-templated card or add relevant placeholder fields for the users to update. Users can learn about the app even before installing it. You can create a customized card and add relevant fields. The users can fill in the required information as per the fields. The following image illustrates a customized card preview: To get your app ready for zero install link unfurling, follow these steps: Zero install link unfurling helps you provide enhanced experience to the users, such as: -* Unfurl previews for your links that users share in Teams even before they've installed your app. +* Unfurl previews for your links that users share in Teams even before the user installs your app. * Create a welcome card for your app to show a preview with the placeholder fields. # [Limitations](#tab/limitations) The following are the limitations: * The bot can only send back a response as `result` or `auth` as the value for the `type` property in response to the `composeExtensions/anonymousQueryLink` invoke request. The user can log an error for all other response types, such as, *silentAuth* and *config*. -* The bot can't send back an acv2 card in response to the `composeExtensions/anonymousQueryLink` invoke request, either as a result or as a pre-auth card in auth. +* The bot can't send back an [Adaptive Cards with Universal Actions](../../task-modules-and-cards/cards/Universal-actions-for-adaptive-cards/Overview.md) in response to the `composeExtensions/anonymousQueryLink` invoke request, either as a result or as a pre-auth card in auth. * If the bot selects to send back the `"type": "auth"` property with a pre-auth card, Teams strips away any action buttons from the card, and adds a sign in action button to get users to authenticate into your app. When you test the zero install link unfurling, donΓÇÖt install the app as a pers To test zero install link unfurling, follow these steps: -1. Login to [Teams admin center](https://admin.teams.microsoft.com/). +1. Sign in to [Teams admin center](https://admin.teams.microsoft.com/). 1. From the left pane, select **Teams apps** > **Manage apps**. |
platform | Manifest Schema | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema.md | Specify meeting extension definition. For more information, see [custom Together |`supportsStreaming`|Boolean|||A value that indicates whether an app can stream the meeting's audio and video content to a real-time meeting protocol (RTMP) endpoint. The default value is **false**.| |`supportsAnonymousGuestUsers`|Boolean|||A value that indicates whether an app supports access for anonymous users. The default value is **false**.| +> [!NOTE] +> The `supportsAnonymousGuestUsers` property in the app manifest schema v1.16 is supported only in [new Teams client](/microsoftteams/platform/resources/teams-updates). + ### meetingExtensionDefinition.scenes |Name| Type|Maximum size|Required |Description| |
platform | Cards Format | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/task-modules-and-cards/cards/cards-format.md | Title: Text formatting in cards -description: In this module, learn what is card text formatting in Microsoft Teams and format cards with markdown. +description: In this module, learn what is card text formatting in Microsoft Teams and format cards with Markdown. ms.localizationpriority: high Last updated 06/25/2021 |
platform | Add Incoming Webhook | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/webhooks-and-connectors/how-to/add-incoming-webhook.md | var response = await client.PostAsync(webhookUrl, content); # [JavaScript](#tab/javascript) -[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/incoming-webhook/nodejs/api/server/index.js#L16) +[Sample code reference](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/incoming-webhook/nodejs/api/server/index.js#L28) ```javascript- axios.post({{WebhookUrl}}, {{formatted_Card_Payload}}) +var formatted_Card_Payload = { + "type": "message", + "attachments": [ + { + "contentType": "application/vnd.microsoft.card.adaptive", + "contentUrl": null, + "content": { + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "type": "AdaptiveCard", + "version": "1.2", + "body": [ + { + "type": "TextBlock", + "text": "Submitted response:"+ response + } + ] + } + } + ] + } ++var webhookUrl = "https://xxxxx.webhook.office.com/xxxxxxxxx"; ++axios.post(webhookUrl , formatted_Card_Payload ) .then(res => { console.log(`statusCode: ${res.status}`) console.log(res) |
platform | Whats New | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/whats-new.md | Explore updates from the previous GA releases listed here. |10/05/2021| Hide Teams app until Admin allows to un-hide the app | Design your app > [Block apps by default for users until an admin approves](concepts/deploy-and-publish/add-default-install-scope.md#block-apps-by-default-for-users-until-an-admin-approves) | |10/05/2021| Plan your apps for Teams mobile | App fundamentals > [Plan responsive tabs for Teams mobile](concepts/design/plan-responsive-tabs-for-teams-mobile.md) | |10/04/2021| New Developer Portal for Teams introduced for managing your Teams apps | Tools and SDK > [Developer Portal for Teams](concepts/build-and-test/teams-developer-portal.md) |-|09/21/2021|Teams supports Microsoft Entra Object ID and UPN in user mention for bots and Incoming Webhooks | ΓÇó Build cards and task modules > Build cards > [Azure AD Object ID and UPN in user mention](task-modules-and-cards/what-are-cards.md#support-for-azure-ad-object-id-and-upn-in-user-mention) </br> ΓÇó Build cards and task modules > Build cards > [Cards- Overview](task-modules-and-cards/cards/cards-format.md#format-cards-with-markdown) | +|09/21/2021|Teams supports Microsoft Entra Object ID and UPN in user mention for bots and Incoming Webhooks | ΓÇó Build cards and task modules > Build cards > [Microsoft Entra Object ID and UPN in user mention](task-modules-and-cards/what-are-cards.md#support-for-azure-ad-object-id-and-upn-in-user-mention) </br> ΓÇó Build cards and task modules > Build cards > [Cards- Overview](task-modules-and-cards/cards/cards-format.md#format-cards-with-markdown) | |08/16/2021| Support for input validation on Adaptive Cards (v1.3 for all capabilities) and Universal Actions (v1.4 for bot sent cards) | ΓÇó Adaptive cards > Authoring cards > [Input validation](/adaptive-cards/authoring-cards/input-validation)</br> ΓÇó Build cards and task modules > Build cards > Universal actions for adaptive cards > [Universal Actions for Adaptive Cards v1.4](task-modules-and-cards/cards/universal-actions-for-adaptive-cards/overview.md) | |08/30/2021| Custom Together Mode scenes feature combines participants into a single virtual scene and places their video streams in pre-determined seats | Build apps for Teams meetings > [Custom Together Mode scenes](~/apps-in-teams-meetings/teams-together-mode.md) | |08/25/2021| Introduced step-by-step guide to create a Teams bot with Single sign-on (SSO) | Add authentication > Bots > [Step-by-step guide to create Teams bot with SSO](sbs-bots-with-sso.yml) | Explore updates from the previous GA releases listed here. | 05/29/2018 | Adaptive cards are supported in Teams. | [Adaptive card actions in Teams](task-modules-and-cards/cards/cards-reference.md) | | 04/17/2018 | replyToID is added to the payload for the `Invoke` and `MessageBack` card actions. This is especially useful if you need to update the message that the card action came from. | [Card actions](~/concepts/cards/cards-actions.md)| | 04/12/2018 | Added this topic to track changes to the Teams programming interface and this documentation set. | [What's new](~/whats-new.md)|-| 04/10/2018 | Changed authentication URLs to consistently use the tenant ID in the path. | [Authentication flow for Tabs](~/concepts/authentication/auth-flow-tab.md), [Azure AD Tab authentication](~/concepts/authentication/auth-tab-AAD.md)| +| 04/10/2018 | Changed authentication URLs to consistently use the tenant ID in the path. | [Authentication flow for Tabs](~/concepts/authentication/auth-flow-tab.md), [Microsoft Entra Tab authentication](~/concepts/authentication/auth-tab-AAD.md)| | 04/06/2018 | Added design guidelines for using the Command Box. |[Command box](~/resources/design/framework/command-box.md)| | 04/02/2018 | Using bots to send notifications for your app. |[Notification-only bots](~/concepts/bots/bots-notification-only.md)| | 03/27/2018 | Expanded documentation for proactive messaging. |[Starting a conversation](./concepts/bots/bot-conversations/bots-conv-proactive.md)| |