Updates from: 06/29/2021 03:29:47
Service Microsoft Docs article Related commit history on GitHub Change details
platform Create Apps For Teams Meetings https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/apps-in-teams-meetings/create-apps-for-teams-meetings.md
The `NotificationSignal` API includes the following response codes:
The Meeting Details API enables your app to get static meeting metadata. These are data points that do not change dynamically. The API is available through Bot Services.
+#### Pre-requisite
+Prior to using the Meeting Details API, the necessary RSC permissions must be obtained. The app manifest must have the following webApplicationInfo:
+
+# [JSON](#tab/json)
+
+```"webApplicationInfo": {
+ "id": "<bot id>",
+ "resource": "https://RscPermission",
+ "applicationPermissions": [
+ "OnlineMeeting.ReadBasic.Chat"
+ ]
+ }
+ ```
#### Query parameter
The user can receive real-time meeting events. As soon as any app is associated
Actual start and end time of a meeting are different from the scheduled start and end time. The meeting details API provides the scheduled start and end time while the event provides the actual start and end time.
+#### Pre-requisite
+The app manifest must have the following webApplicationInfo in order to successfully receive the meeting start and end events.
+
+# [JSON](#tab/json)
+
+```"webApplicationInfo": {
+ "id": "<bot id>",
+ "resource": "https://RscPermission",
+ "applicationPermissions": [
+ "OnlineMeeting.ReadBasic.Chat"
+ ]
+ }
+ ```
+ ### Example of meeting start event payload The following code provides an example of meeting start event payload:
public class MeetingStartEndEventValue
| Meetings extensibility | Microsoft Teams meeting extensibility sample for passing tokens. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-token-app/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-token-app/nodejs) | | Meeting content bubble bot | Microsoft Teams meeting extensibility sample for interacting with content bubble bot in a meeting. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-content-bubble/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-content-bubble/nodejs)| | Meeting meetingSidePanel | Microsoft Teams meeting extensibility sample for interacting with the side panel in-meeting. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-sidepanel/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-sidepanel/nodejs)|
+| Details Tab in Meeting | Microsoft Teams meeting extensibility sample for iteracting with Details Tab in-meeting. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-details-tab/csharp) | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meetings-details-tab/nodejs)|
## See also
platform Calls Meetings Bots Overview https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/bots/calls-and-meetings/calls-meetings-bots-overview.md
Real-time media refers to scenarios where media must be processed in real-time,
| **Sample name** | **Description** | **Graph** | ||-|--| | Graph communication | Graph communications to interact with Microsoft's communications platform. | [View](https://github.com/microsoftgraph/microsoft-graph-comms-samples) |
+| Calling and meeting bot | The sample app demonstartes how Bot can create call, join meeting and transfer call. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-calling-meeting/csharp) |
## See also
platform Authentication https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/authentication/authentication.md
provides Bot authentication v3 SDK sample.
| **Sample name** | **Description** | **.NET** | **Node.js** | **Python** | ||||-|| | Bot authentication | This sample shows how to get started with authentication in a bot for Microsoft Teams. | [View](https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/46.teams-auth) | [View](https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/javascript_nodejs/46.teams-auth) | [View](https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/python/46.teams-auth) |
+| Tab, Bot and Messaging Extension (ME) SSO | This sample shows SSO for Tab, Bot and ME - search, action, linkunfurl. | Not available | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/app-sso/nodejs) | Not available |
+ ## Configure the identity provider
platform First App Blazor https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/get-started/first-app-blazor.md
Once this is done, the app can be loaded within the Teams client. We use the Te
To build and run your app locally:
-1. From Visual Studio Code, press **F5** to run your application in debug mode.
+1. From Visual Studio, press **F5** to run your application in debug mode.
1. If requested, install the self-signed SSL certificate for local debugging.
The app manifest is loading the tab from a `localhost` URL. In this section, yo
:::image type="content" source="../assets/images/teams-toolkit-v2/devcenter-environments3.png" alt-text="Select basic information":::
-1. There are several places within the manifest that list a `locahost:XXXXX` as part of a URL. Replace all occurrences with `{{azure_app_url}}` (including the curly braces).
+1. There are several places within the manifest that list a `localhost:XXXXX` as part of a URL. Replace all occurrences with `{{azure_app_url}}` (including the curly braces).
:::image type="content" source="../assets/images/teams-toolkit-v2/devcenter-environments4.png" alt-text="Adjust basic information for the environment":::
platform Removing Tab Margins https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/resources/removing-tab-margins.md
No, you must provide your own padding or margins to the left and right of all ap
## See also * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
* [Create a personal tab](~/tabs/how-to/create-personal-tab.md) * [Create a channel or group tab](~/tabs/how-to/create-channel-group-tab.md)
-* [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md)
-* [Create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md)
-* [Create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md)
* [Tabs on mobile](~/tabs/design/tabs-mobile.md)
-* [Get context for your tab](~/tabs/how-to/access-teams-context.md)
-* [Build tabs with Adaptive Cards](~/tabs/how-to/build-adaptive-card-tabs.md)
-* [Tabs link unfurling and Stage View](~/tabs/tabs-link-unfurling.md)
-* [Create conversational tabs](~/tabs/how-to/conversational-tabs.md)
platform Tabs Mobile https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/design/tabs-mobile.md
If you are sideloading your app or publishing to an organization's app catalog,
* [Tab design guidelines](~/tabs/design/tabs.md) * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
* [Create a personal tab](~/tabs/how-to/create-personal-tab.md) * [Create a channel or group tab](~/tabs/how-to/create-channel-group-tab.md)
-* [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md)
-* [Create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md)
-* [Create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md)
-* [Build tabs with Adaptive Cards](~/tabs/how-to/build-adaptive-card-tabs.md)
-* [Tabs link unfurling and Stage View](~/tabs/tabs-link-unfurling.md)
-* [Create conversational tabs](~/tabs/how-to/conversational-tabs.md)
-* [Tab margin changes](~/resources/removing-tab-margins.md)
## Next step
platform Access Teams Context https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/access-teams-context.md
The `theme` argument in the function is a string with a value of `default`, `dar
* [Tab design guidelines](~/tabs/how-to/build-adaptive-card-tabs.md) * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
* [Create a personal tab](~/tabs/how-to/create-personal-tab.md) * [Create a channel or group tab](~/tabs/how-to/create-channel-group-tab.md)
-* [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md)
-* [Create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md)
-* [Create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md)
-* [Tabs on mobile](~/tabs/design/tabs-mobile.md)
-* [Tabs link unfurling and Stage View](~/tabs/tabs-link-unfurling.md)
-* [Create conversational tabs](~/tabs/how-to/conversational-tabs.md)
-* [Tab margin changes](~/resources/removing-tab-margins.md)
## Next step
platform Build Adaptive Card Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/build-adaptive-card-tabs.md
The following code shows a reissued request example:
* [Adaptive Card](../../task-modules-and-cards/what-are-cards.md#adaptive-cards) * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
* [Create a personal tab](~/tabs/how-to/create-personal-tab.md) * [Create a channel or group tab](~/tabs/how-to/create-channel-group-tab.md)
-* [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md)
-* [Create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md)
-* [Create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md)
* [Tabs on mobile](~/tabs/design/tabs-mobile.md)
-* [Get context for your tab](~/tabs/how-to/access-teams-context.md)
-* [Create conversational tabs](~/tabs/how-to/conversational-tabs.md)
-* [Tab margin changes](~/resources/removing-tab-margins.md)
## Next step
platform Conversational Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/conversational-tabs.md
microsoftTeams.conversations.onCloseConversation = (conversationResponse) => {
## See also * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
* [Create a personal tab](~/tabs/how-to/create-personal-tab.md) * [Create a channel or group tab](~/tabs/how-to/create-channel-group-tab.md)
-* [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md)
-* [Create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md)
-* [Create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md)
* [Tabs on mobile](~/tabs/design/tabs-mobile.md)
-* [Get context for your tab](~/tabs/how-to/access-teams-context.md)
* [Build tabs with Adaptive Cards](~/tabs/how-to/build-adaptive-card-tabs.md)
-* [Tabs link unfurling and Stage View](~/tabs/tabs-link-unfurling.md)
## Next step
platform Create Channel Group Tab https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/create-channel-group-tab.md
Within **Tab.cshtml** the application presents the user with two option buttons
## See also * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
* [Create a personal tab](~/tabs/how-to/create-personal-tab.md)
-* [Create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md)
-* [Create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md)
* [Tabs on mobile](~/tabs/design/tabs-mobile.md)
-* [Get context for your tab](~/tabs/how-to/access-teams-context.md)
* [Build tabs with Adaptive Cards](~/tabs/how-to/build-adaptive-card-tabs.md)
-* [Tabs link unfurling and Stage View](~/tabs/tabs-link-unfurling.md)
-* [Create conversational tabs](~/tabs/how-to/conversational-tabs.md)
-* [Tab margin changes](~/resources/removing-tab-margins.md)
## Next step
platform Create Personal Tab https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/create-personal-tab.md
If you create a bot with a **personal** scope, it appears in the first tab posit
## See also * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
-* [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md)
-* [Create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md)
-* [Create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md)
* [Tabs on mobile](~/tabs/design/tabs-mobile.md)
-* [Get context for your tab](~/tabs/how-to/access-teams-context.md)
* [Build tabs with Adaptive Cards](~/tabs/how-to/build-adaptive-card-tabs.md)
-* [Tabs link unfurling and Stage View](~/tabs/tabs-link-unfurling.md)
* [Create conversational tabs](~/tabs/how-to/conversational-tabs.md)
-* [Tab margin changes](~/resources/removing-tab-margins.md)
## Next step
platform Configuration Page https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/create-tab-pages/configuration-page.md
If you choose to have your channel or group tab appear on the Teams mobile clien
## See also * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
* [Create a personal tab](~/tabs/how-to/create-personal-tab.md) * [Create a channel or group tab](~/tabs/how-to/create-channel-group-tab.md) * [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md) * [Tabs on mobile](~/tabs/design/tabs-mobile.md)
-* [Get context for your tab](~/tabs/how-to/access-teams-context.md)
-* [Build tabs with Adaptive Cards](~/tabs/how-to/build-adaptive-card-tabs.md)
-* [Tabs link unfurling and Stage View](~/tabs/tabs-link-unfurling.md)
-* [Create conversational tabs](~/tabs/how-to/conversational-tabs.md)
-* [Tab margin changes](~/resources/removing-tab-margins.md)
## Next step
platform Content Page https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/create-tab-pages/content-page.md
If you indicate `showLoadingIndicator : true` in your app manifest, then all ta
## See also * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
* [Create a personal tab](~/tabs/how-to/create-personal-tab.md) * [Create a channel or group tab](~/tabs/how-to/create-channel-group-tab.md) * [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md)
-* [Create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md)
-* [Tabs on mobile](~/tabs/design/tabs-mobile.md)
-* [Get context for your tab](~/tabs/how-to/access-teams-context.md)
-* [Build tabs with Adaptive Cards](~/tabs/how-to/build-adaptive-card-tabs.md)
-* [Tabs link unfurling and Stage View](~/tabs/tabs-link-unfurling.md)
-* [Create conversational tabs](~/tabs/how-to/conversational-tabs.md)
-* [Tab margin changes](~/resources/removing-tab-margins.md)
## Next step
platform Removal Page https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/create-tab-pages/removal-page.md
After the remove handler is executed, `removeEvent.notifySuccess()` or `removeEv
## See also * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
* [Create a personal tab](~/tabs/how-to/create-personal-tab.md) * [Create a channel or group tab](~/tabs/how-to/create-channel-group-tab.md)
-* [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md)
* [Create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md)
-* [Get context for your tab](~/tabs/how-to/access-teams-context.md)
-* [Build tabs with Adaptive Cards](~/tabs/how-to/build-adaptive-card-tabs.md)
-* [Tabs link unfurling and Stage View](~/tabs/tabs-link-unfurling.md)
-* [Create conversational tabs](~/tabs/how-to/conversational-tabs.md)
-* [Tab margin changes](~/resources/removing-tab-margins.md)
## Next step
platform Tab Requirements https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/tab-requirements.md
Teams tabs must adhere to the following prerequisites:
* [Teams tabs](~/tabs/what-are-tabs.md) * [Create a channel or group tab](~/tabs/how-to/create-channel-group-tab.md)
-* [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md)
-* [Create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md)
-* [Create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md)
* [Tabs on mobile](~/tabs/design/tabs-mobile.md)
-* [Get context for your tab](~/tabs/how-to/access-teams-context.md)
-* [Build tabs with Adaptive Cards](~/tabs/how-to/build-adaptive-card-tabs.md)
-* [Tabs link unfurling and Stage View](~/tabs/tabs-link-unfurling.md)
-* [Create conversational tabs](~/tabs/how-to/conversational-tabs.md)
-* [Tab margin changes](~/resources/removing-tab-margins.md)
## Next step
platform Tabs Link Unfurling https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/tabs-link-unfurling.md
https://teams.microsoft.com/l/Meeting_Stage/2a527703-1f6f-4559-a332-d8a7d288cd88
* [Messaging extensions link unfurling](~/messaging-extensions/how-to/link-unfurling.md) * [Teams tabs](~/tabs/what-are-tabs.md)
-* [Prerequisites](~/tabs/how-to/tab-requirements.md)
* [Create a personal tab](~/tabs/how-to/create-personal-tab.md) * [Create a channel or group tab](~/tabs/how-to/create-channel-group-tab.md)
-* [Create a content page](~/tabs/how-to/create-tab-pages/content-page.md)
-* [Create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md)
-* [Create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md)
-* [Tabs on mobile](~/tabs/design/tabs-mobile.md)
-* [Get context for your tab](~/tabs/how-to/access-teams-context.md)
-* [Build tabs with Adaptive Cards](~/tabs/how-to/build-adaptive-card-tabs.md)
-* [Tab margin changes](~/resources/removing-tab-margins.md)
## Next step
platform What Are Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/what-are-tabs.md
Tabs are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML <iframe\> tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user. You can include custom tabs with your app to embed your own web content in Teams or add Teams-specific functionality to your web content. For more information, see [Teams JavaScript client SDK](/javascript/api/overview/msteams-client).
+The following image shows personal tabs:
+
+![Personal tabs](../assets/images/tabs/personaltab.png)
+ The following image shows Contoso channel tabs:
-![Channel or group and personal tabs](../assets/images/tabs/tabs.png)
+![Channel or group tabs](../assets/images/tabs/tabs.png)
> [!VIDEO https://www.youtube-nocookie.com/embed/Jw6i7Mkt0dg]
platform Connectors Creating https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md
You can [package](~/concepts/build-and-test/apps-package.md) and [publish](~/con
To distribute your connector, you must register through [Connectors Developer Dashboard](https://outlook.office.com/connectors/home/login/#/publish). When a connector is registered, it is assumed that it works in all Office 365 products that support applications, including Outlook and Teams. If that is not the case and you must create a connector that only works in Microsoft Teams, contact: [Microsoft Teams App Submissions email](mailto:teamsubm@microsoft.com). > [!IMPORTANT]
-> Your connector is registered after you select **Save** in the Connectors Developer Dashboard. If you want to publish your connector in AppSource, follow the instructions in [publish your Microsoft Teams app to AppSource](~/concepts/deploy-and-publish/apps-publish.md). If you do not want to publish your app in AppSource, distribute it directly to the organization. After [publishing connectors for your organization](/connectors-creating.md), no further action is required on the Connector Dashboard.
+> Your connector is registered after you select **Save** in the Connectors Developer Dashboard. If you want to publish your connector in AppSource, follow the instructions in [publish your Microsoft Teams app to AppSource](~/concepts/deploy-and-publish/apps-publish.md). If you do not want to publish your app in AppSource, distribute it directly to the organization. After [publishing connectors for your organization](#publish-connectors-for-the-organization), no further action is required on the Connector Dashboard.
### Integrate the configuration experience
platform Connectors Using https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/webhooks-and-connectors/how-to/connectors-using.md
This message provides the following card in the channel:
**To send Adaptive Cards through an Incoming Webhook**
-1. [Setup a custom webhook](/add-incoming-webhook.md) in Teams.
+1. [Setup a custom webhook](~/webhooks-and-connectors/how-to/add-incoming-webhook.md) in Teams.
1. Create Adaptive Card JSON file using the following code: ```json