Updates from: 07/14/2023 03:52:28
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
Anonymous users can view and interact with Adaptive Cards in the meeting chat. A
## Known issues and limitations
-* For an anonymous user, the user ID from `getContext` and the user ID received by the bot are different. It's not possible to correlate the two directly. If you need to track the user's identity between your tab and bot, you must prompt the user to authenticate with an external identity provider.
+* Currently, the `getContext` API doesn't return a user ID for the anonymous user though the bot APIs do and it's not possible to correlate the anonymous user between these two APIs.
* Anonymous users see a generic app icon on bot messages and cards, instead of the app's actual icon.
platform Native Device Permissions https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/device-capabilities/native-device-permissions.md
Device permissions are stored for every sign in session. It means that if you si
* [Integrate media capabilities](media-capabilities.md) * [Integrate QR or barcode scanner capability in Teams](qr-barcode-scanner-capability.md) * [Integrate location capabilities in Teams](location-capability.md)
-* [App manifest schema for Teams](../../resources/schem)
* [Meeting apps APIs](../../apps-in-teams-meetings/meeting-apps-apis.md)
platform Teams App Permissions https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/App-permissions/Teams-app-permissions.md
Last updated 10/31/2022
Permission for Teams app is managed in two places, depending on the app feature:
-* [Resource-specific consent (RSC)](#resource-specific-consent)
* [Azure Active Directory (Azure AD)](#azure-active-directory)
+* [Resource-specific consent (RSC)](#resource-specific-consent)
## Resource-specific consent 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 Azure AD portal and are declared in the Teams app manifest (JSON) file.
+RSC permissions are only available to Teams apps installed on the Teams client and are currently not part of the Azure AD portal and are declared in the Teams app manifest (JSON) file. You can manage RSC permissions for Teams apps in Developer Portal from the **Permissions** section under **Configure**.
+ ## Azure Active Directory
platform Define Search Command https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/messaging-extensions/how-to/search-commands/define-search-command.md
To add the search command to your [app manifest](../../../resources/schema/manif
The prerequisite to create a search command is that you must already have created a message extension. For information on how to create a message extension, see [create a message extension](../../../sbs-gs-msgext.yml).
-**To create an action command**
+**To create a search command**
1. Open **Developer Portal** from the Microsoft Teams client and select the **Apps** tab. If you already created your app package in **Developer Portal**, select from the list. If you haven't created an app package, import an existing one.
platform Manifest Schema Dev Preview https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema-dev-preview.md
The object is an array (maximum of 16 elements) with all elements of the type `o
|`contentUrl`|String|2048 characters|✔️|The https:// URL that points to the entity UI to be displayed in the Teams canvas.| |`contentBotId`| | | | The Microsoft Teams app ID specified for the bot in the Bot Framework portal. | |`websiteUrl`|String|2048 characters||The https:// URL to point at if a user opts to view in a browser.|
-|`scopes`|Array of enum|1|✔️|Currently, static tabs support only the `personal` scope, which means it can be provisioned only as part of the personal experience.|
+|`scopes`|Array of enum|1|✔️|Static tabs support the `personal`, `team` and `groupChat` scopes, which means it can be provisioned as part of the personal, group chat, and channel meetings experience.|
## bots
platform Manifest Schema https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema.md
This item is an array (maximum of 16 elements) with all elements of the type `ob
|`contentBotId`|string|||The Microsoft app ID specified for the bot in the [Bot Framework portal](https://dev.botframework.com/bots).| |`websiteUrl`|string|||The https:// URL to point to if a user opts to view in a browser.| |`searchUrl`|string|||The https:// URL to point to for a user's search queries.|
-|`scopes`|array of enums|3|✔️|Currently, static tabs support only the `personal` scope, which means it can be provisioned only as part of the personal experience.|
+|`scopes`|array of enums|3|✔️| Currently, static tabs support only the `personal` scope, which means it can be provisioned only as part of the personal experience.|
|`context` | array of enums| 8|| The set of `contextItem` scopes where a [tab is supported](../../tabs/how-to/access-teams-context.md). Default: **[personalTab, channelTab, privateChatTab, meetingChatTab, meetingDetailsTab, meetingStage, meetingSidepanel, teamLevelApp]**.| > [!NOTE]
platform Create Channel Group Tab https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/create-channel-group-tab.md
Title: Create a channel tab or group tab
-description: Create custom channel, group tab with Node.js, ASP.NET Core, ASP.NET Core MVC. Generate app, create package, build and run app, secret tunnel, upload to Teams and build your first app using Blazor.
+description: Create custom channel, group tab with Node.js, ASP.NET Core, ASP.NET Core MVC. Generate app, create package, build and run app, secret tunnel, upload to Teams and build your first app using Blazor
ms.localizationpriority: high zone_pivot_groups: teams-app-environment-blazor
You've completed the tutorial to build a tab app with Blazor.
::: zone-end
+## Migrate your configurable tab to static tab
+
+> [!NOTE]
+> * Migrating your configurable tab to static tab is available only in [public developer preview](~/resources/dev-preview/developer-preview-intro.md).
+> * To migrate your configurable tab to static tab, use the app manifest v1.16 or later.
+
+Static tab capability is extended to support group chat and meetings. You can update your existing configurable tab to static tab and add different scopes to the static tab.
+
+To change your configurable tab to static tab:
+
+1. Move your configuration logic out of your `configurationUrl` code space to your `contentUrl` code space.
+1. Add the `staticTabs` property to your [app manifest](~/resources/schem#statictabs) with `scopes` and `context` parameters. Following is an example of app manifest where a static tab is defined that works in all scopes and contexts in Teams:
+
+ ```json
+ "staticTabs": [
+ {
+ "entityId": "homeTab",
+ "scopes": [
+ "personal",
+ "groupChat",
+ "team"
+ ],
+ "context": [
+ "personalTab",
+ "privateChatTab",
+ "meetingChatTab",
+ "meetingDetailsTab",
+ "meetingSidePanel",
+ "meetingStage"
+ ],
+ "name": "Contoso",
+ "contentUrl": "https://contoso.com/content (displayed in Teams canvas)",
+ "websiteUrl": "https://contoso.com/content (displayed in web browser)"
+ }
+ ],
+ ```
+
+ For more information, see [configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md) and [static tab.](~/tabs/how-to/create-personal-tab.md#extend-static-tabs-to-group-chat-and-meetings)
+
+If your app supports [configurable tab,](~/tabs/how-to/create-tab-pages/configuration-page.md#configuration-page-for-tabs) then you must continue to keep the `configurableTab` property in your app manifest to ensure the backward compatibility of previously pinned tabs. As you can only pin static tabs from now, it is important that previous configurable tabs continue to be supported.
++ ## Next step > [!div class="nextstepaction"]
platform Create Personal Tab https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/create-personal-tab.md
Last updated 02/27/2023
# Create a personal tab
+Personal tabs, along with personally-scoped bots, are part of personal apps and are scoped to a single user. They can be pinned to the left pane for easy access.
+ > [!IMPORTANT] > > * To learn how to create a tab with Teams Toolkit, see [build your first tab app using JavaScript](../../sbs-gs-javascript.yml). > * We've introduced the [Teams Toolkit Overview](../../toolkit/teams-toolkit-fundamentals.md) extension within Visual Studio Code. This version comes to you with many new app development features. We recommend that you use Teams Toolkit v5 for building your Teams app.
-Personal tabs, along with personally-scoped bots, are part of personal apps and are scoped to a single user. They can be pinned to the left pane for easy access. You can also [reorder](#reorder-static-personal-tabs) your personal tabs.
- Ensure that you've all the [prerequisites](~/tabs/how-to/tab-requirements.md) to build your personal tab. [!INCLUDE [sdk-include](~/includes/sdk-include.md)]
If you create a bot with a **personal** scope, it appears in the first tab posit
```
+## Extend static tabs to group chat and meetings
+
+> [!NOTE]
+> * Extend your static tabs to group chat and meetings is available only in [public developer preview](~/resources/dev-preview/developer-preview-intro.md).
+> * To extend your static tabs to group chat and meetings, use the app manifest v1.16 or later.
+
+You can extend static tabs to group chat and meetings. Instead of pinned app content, you can build tabs that behave more like apps as you can pin only one tab per app for example, pinning a single YouTube app tab.
+
+To extend your static tabs to group chat and meetings, update your [app manifest](~/resources/schem#statictabs) with the `scopes` and `context` parameters in the `staticTabs` property.
+
+Following is an example of app manifest where a static tab is defined that works in all scopes and contexts in Teams:
+
+```json
+"staticTabs": [
+ {
+ "entityId": "homeTab",
+ "scopes": [
+ "personal",
+ "groupChat",
+ "team"
+ ],
+ "context": [
+ "personalTab",
+ "privateChatTab",
+ "meetingChatTab",
+ "meetingDetailsTab",
+ "meetingSidePanel",
+ "meetingStage",
+ "channelTab"
+ ],
+ "name": "Contoso",
+ "contentUrl": "https://contoso.com/content (displayed in Teams canvas)",
+ "websiteUrl": "https://contoso.com/content (displayed in web browser)"
+ }
+],
+
+```
+
+If a context isn't defined in the app manifest, by default Teams consider the following context:
+
+```json
+"context": [
+ "personalTab",
+ "privateChatTab",
+ "meetingChatTab",
+ "meetingDetailsTab",
+ "meetingStage"
+]
+```
+
+## Customizing your static tab in chats or meetings
+
+To customize your static tab experience in chats or meetings, you can use the `setConfig` APIs in your tab to update the `contentUrl` and `websiteUrl`. Following is an example:
+
+```json
+pages.config.setConfig({
+ "contentUrl": "https://wwww.contoso.com/teamsapp/thread/" + context.threadId,
+ ...}
+
+```
+
+Only `contentUrl` and `websiteUrl` changes are supported for `setConfig`, other properties can't be changed for static tabs.
+ ## Code sample | Sample name | Description | .NET |Node.js|Manifest| |-|-||-|-|
-|Tab personal|Sample app which showcases creating a custom channel/group tab with ASP.Net Core and MVC. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-personal/mvc-csharp) | NA |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-personal/mvc-csharp/demo-manifest/tab-personal.zip)|
+|Tab personal| Sample app which showcases custom personal Tab with ASP.NET core | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-personal/mvc-csharp) | NA |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-personal/mvc-csharp/demo-manifest/tab-personal.zip)|
## Next step
platform Configuration Page https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/create-tab-pages/configuration-page.md
A configuration page is a special type of [content page](content-page.md). The u
[!INCLUDE [sdk-include](~/includes/sdk-include.md)]
-## Configure a channel or group chat tab
+## Configuration page for tabs
-The application must reference the [TeamsJS library](/javascript/api/overview/msteams-client) and call `app.initialize()`. The URLs used must be secured HTTPS endpoints and are available from the cloud.
+The application must refer the [TeamsJS library](/javascript/api/overview/msteams-client) and call `app.initialize()`. The URLs used must be secured HTTPS endpoints and are available from the cloud.
### Example
Authenticate before allowing a user to configure your app. Otherwise, your conte
## Modify or remove a tab
-Set your manifest's `canUpdateConfiguration` property to `true`. It enables the users to modify or reconfigure a channel or group tab. You can rename your tab only through Teams user interface. Inform the user about the impact on content when a tab is removed. To do this, include a removal options page in the app, and set a value for the `removeUrl` property in the `setConfig()` (formerly `setSettings()`) configuration. The user can uninstall personal tabs but can't modify them. For more information, see [create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md).
+Set your manifest's `canUpdateConfiguration` property to `true`. It enables the users to modify or reconfigure a channel or group tab. You can rename your tab only through Teams user interface. Inform the user about the impact on content when a tab is removed. To do this, include a removal options page in the app, and set a value for the `removeUrl` property in the `setConfig()` (formerly `setSettings()`) configuration. The user can uninstall static tabs but can't modify them. For more information, see [create a removal page for your tab](~/tabs/how-to/create-tab-pages/removal-page.md).
Microsoft Teams `setConfig()` (formerly `setSettings()`) configuration for removal page:
platform Tabs In Sharepoint https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/tabs-in-sharepoint.md
The following image displays the complete experience of Teams app in SharePoint:
* [Integrate web apps](../../samples/integrate-web-apps-overview.md) * [Build Microsoft Teams tab using SharePoint Framework - Tutorial](/sharepoint/dev/spfx/web-parts/get-started/using-web-part-as-ms-teams-tab) * [Use single part app pages in SharePoint Online](/sharepoint/dev/spfx/web-parts/single-part-app-pages)
+* [Developer-provided Microsoft Teams app manifest and package](/sharepoint/dev/spfx/deployment-spfx-teams-solutions#developer-provided-microsoft-teams-app-manifest--package)
platform What Are Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/what-are-tabs.md
Tabs are Teams-aware webpages embedded in Microsoft Teams. They're simple HTML `
> [!IMPORTANT] > Custom tabs are available in Government Community Cloud (GCC), GCC-High, and Department of Defense (DOD).
-The following image shows personal tabs:
+The following image shows static tabs:
+# [Desktop](#tab/desktop)
++
+# [Mobile](#tab/mobile)
+++ The following image shows Contoso channel tabs:
-# [Desktop](#tab/desktop)
+# [Desktop](#tab/desktop1)
:::image type="content" source="../assets/images/tabs/tabs.png" alt-text="Channel or group tabs" lightbox="../assets/images/tabs/tabs.png":::
-# [Mobile](#tab/mobile)
+# [Mobile](#tab/mobile1)
There are few prerequisites that you must go through before working on tabs.
-There are two types of tabs available in Teams, personal and channel or group. [Personal tabs](~/tabs/how-to/create-personal-tab.md), along with personal-scoped bots, are part of personal apps and are scoped to a single user. They can be pinned to the left navigation bar for easy access. [Channel or group tabs](~/tabs/how-to/create-channel-group-tab.md) deliver content to channels and group chats, and are a great way to create collaborative spaces around dedicated web-based content.
+There are two types of tabs available in Teams, personal and group. [Personal tabs](~/tabs/how-to/create-personal-tab.md) are also known as static tabs. Personal (static) tabs, along with personal-scoped bots, are part of the personal apps that are scoped to a single user and pinned to the left navigation bar for easy access. Personal (static) tabs in personal scope continue to work the same way. However, you can now [extend static tabs](~/tabs/how-to/create-personal-tab.md#extend-static-tabs-to-group-chat-and-meetings) to group chat or meetings with a [customizable experience.](~/tabs/how-to/create-personal-tab.md#customizing-your-static-tab-in-chats-or-meetings)
+
+You can extend static tabs to different scopes. Static tabs in chats or meetings behave more like apps, as you can pin only one tab per app. For example, you can only pin a single YouTube app tab in a meeting. Static tabs in meetings can also be pre-pinned in meetings by IT Admins.
+
+Following image shows static tabs with customizable experience added to different contexts in Teams:
+
+# [Personal](#tab/personal)
+
+* The following image shows a static tab in personal context in the Teams desktop client:
+
+ :::image type="content" source="~/assets/images/tabs/personal-tab-configure.png" alt-text=" Screenshot shows the configurable tab added to a personal scope."
+
+* The following image shows a static tab in personal context in the Teams mobile client:
+
+ :::image type="content" source="~/assets/images/tabs/mobile-design-access-tab.png" alt-text="Example shows a mobile tab being added in a personal context.":::
+
+# [Meeting](#tab/meeting)
-You can [create a content page](~/tabs/how-to/create-tab-pages/content-page.md) as part of a personal tab, channel or group tab, or task module. You can [create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md) that enables users to configure Microsoft Teams app and use it to configure a channel or group chat tab, a messaging extension, or a connector card for Microsoft 365 Groups. You can permit users to reconfigure your tab after installation and [create a tab removal page](~/tabs/how-to/create-tab-pages/removal-page.md) for your application. When you build a Teams app that includes a tab, you must test how your [tab functions on both the Android and iOS Teams clients](~/tabs/design/tabs-mobile.md). Your tab must [get context](~/tabs/how-to/access-teams-context.md) through basic information, locale and theme information, and `entityId` or `subEntityId` that identifies what is in the tab.
+* The following image shows a static tab in meeting context in the Teams desktop client:
+
+ :::image type="content" source="~/assets/images/tabs/personal-tab-meeting.png" alt-text="Example shows a configurable tab added to a meeting.":::
+
+* The following image shows a static tab in meeting context in the Teams mobile client:
+
+ :::image type="content" source="~/assets/images/tabs/mobile-personal-tab-meeting.png" alt-text="Example shows a configurable tab added to a meeting in mobile.":::
+++
+Following are a few benefits of static tabs in chats and meeting tabs:
+
+* **Pinnable and instant**: You can pin apps with static tabs from the add a tab **+** icon in chats and meetings. These tabs can be unpinned and don't have the mandatory configuration dialog, which allows you to create tabs that function more like apps.
+
+* **Unified**: You can create one static tab that work in personal and group scopes such as chat and meeting tabs.
+
+* **Optional configuration**: You can change the default URL in your tab instance by changing the `contentUrl` property of your app after it's pinned in Teams.
++
+[Channel or group tabs](~/tabs/how-to/create-channel-group-tab.md) also known as configurable tabs, deliver content to channels and group chats and is a way to create collaborative spaces around dedicated web-based content.
+
+The following table helps you determine best fit for your app:
+
+|   | Personal | Channels | Group chat | Meetings |
+||||
+|[Static tabs](~/tabs/how-to/create-personal-tab.md)|✔️|❌|✔️|✔️|
+|[Configurable tabs](~/tabs/how-to/create-channel-group-tab.md)|❌|✔️|✔️|✔️|
+
+>[!NOTE]
+> If you have both [configurable tab](~/tabs/how-to/create-tab-pages/configuration-page.md) and [static tab](~/tabs/how-to/create-personal-tab.md) defined in your app manifest for a specific scope, Teams pins the static tab by default.
+
+You can [create a content page](~/tabs/how-to/create-tab-pages/content-page.md) as part of a personal static tab, channel or group tab, or task module. You can [create a configuration page](~/tabs/how-to/create-tab-pages/configuration-page.md) that enables users to configure Microsoft Teams app and use it to configure a personal, channel, or group chat tab, a messaging extension, or a connector card for Microsoft 365 Groups. You can permit users to reconfigure your tab after installation and [create a tab removal page](~/tabs/how-to/create-tab-pages/removal-page.md) for your application. When you build a Teams app that includes a tab, you must test how your [tab functions on both the Android and iOS Teams clients](~/tabs/design/tabs-mobile.md). Your tab must [get context](~/tabs/how-to/access-teams-context.md) through basic information, locale and theme information, and `entityId` or `subEntityId` that identifies what is in the tab.
> [!NOTE] > **Posts** and **Files** can't be moved from their positions.
The tab features are as follows:
## Tabs user scenarios **Scenario:** Bring an existing web-based resource inside Teams. \
-**Example:** You create a personal tab in your Teams app that presents an informational corporate website to users.
+**Example:** You create a static tab in your Teams app that presents an informational corporate website to users.
**Scenario:** Add support pages to a Teams bot or messaging extension. \
-**Example:** You create personal tabs that provide **about** and **help** webpage content to users.
+**Example:** You create static tabs that provide **about** and **help** webpage content to users.
**Scenario:** Provide access to items that your users interact with regularly for cooperative dialogue and collaboration. \ **Example:** You create a channel or group tab with deep linking to individual items.
You can use one of the following methods to create tabs:
A custom tab is declared in the app manifest of your app package. For each webpage you want included as a tab in your app, you define a URL and a scope. Additionally, you can add the [Teams JavaScript client library](/javascript/api/overview/msteams-client) to your page, and call `microsoftTeams.initialize()` after your page loads. Teams displays your page and provides access to Teams-specific information, for example, the Teams client is running the dark theme.
-Whether you choose to expose your tab within the channel or group, or personal scope, you must present an <iframe\> HTML [content page](~/tabs/how-to/create-tab-pages/content-page.md) in your tab. For personal tabs, the content URL is set directly in your Teams [app manifest](../resources/schem#statictabs) by the `contentUrl` property in the `staticTabs` array. Your tab's content is the same for all users.
+Whether you choose to expose your tab within the channel or group, or personal scope, you must present an <iframe\> HTML [content page](~/tabs/how-to/create-tab-pages/content-page.md) in your tab. For static tabs, the content URL is set directly in your Teams [app manifest](../resources/schem#statictabs) by the `contentUrl` property in the `staticTabs` array. Your tab's content is the same for all users.
> [!Note] > Teams app doesn't recognize sub iframes. Therefore, it'll not load if there is an iframe within the tab app.
-For channel or group tabs, you can also create an extra configuration page. This page allows you to configure content page URL, typically by using URL query string parameters to load the appropriate content for that context. This is because your channel or group tab can be added to multiple teams or group chats. On each subsequent install, your users can configure the tab, allowing you to tailor the experience as required. When users add or configure a tab, a URL is associated with the tab that is presented in the Teams user interface (UI). Configuring a tab simply adds more parameters to that URL. For example, when you add the Azure Boards tab, the configuration page allows you to choose, which board the tab loads. The configuration page URL is specified by the `configurationUrl` property in the `configurableTabs` array in your [app manifest](../resources/schem#configurabletabs).
+For channel or group tabs, you can also create an extra configuration page. This page allows you to configure content page URL, typically by using URL query string parameters to load the appropriate content for that context. This is because your channel or group tab can be added to multiple teams or group chats. On each subsequent install, your users can configure the tab, allowing you to tailor the experience as required. When users add or configure a tab, a URL is associated with the tab that is presented in the Teams user interface (UI). Configuring a tab simply adds more parameters to that URL. For example, when you add the Azure Boards tab, the configuration page allows you to choose, which board the tab loads. The configuration page URL is specified by the `configurationUrl` property in the `configurableTabs` array in your [app manifest](../resources/schem#configurabletabs).
+
+For static tabs you can pin a `contentUrl` to chat or meeting tabs. This allows you to skip the mandatory configuration dialog and get your users to use the app much faster. You can also change the `contentUrl` at runtime. This allows you to build one tab object that works in all surface areas of Teams. For more information, see [migrate your configurable tab to static tab.](~/tabs/how-to/create-channel-group-tab.md#migrate-your-configurable-tab-to-static-tab)
-You can have multiple channels or group tabs, and up to 16 personal tabs per app.
+You can have multiple channels or group tabs, and up to 16 static tabs per app.
### Tools to build tabs
platform Teams Faq https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/teams-faq.md
For more information about Node js code sample, see [Bot SSO quick-start](https:
Upgrade the Teams JavaScript client SDK to (@microsoft/teams-js": "^2.0.0") to resolve the issue. <br> </details>
+<br>
+<details>
+<summary>Which tab gets pinned if both configurable tab and static tab are defined in the app manifest for a specific scope?</summary>
+
+<br>
+If you have both configurable tab and static tab defined in your app manifest for a specific scope, Teams pins the static tab by default.
+</details>
+<br>
+<details>
+<summary>What if I already have pre-existing pinned configurable tabs after switching to static tabs?</summary>
+
+<br>
+Pre-existing pinned configurable tab instances of your app continue to work the same. You don't have the option to pin new instances of these configurable tabs. When you select to pin your tab, then Teams pins the static tab of your app.
+<br>
+</details>
++ ## Teams toolkit
platform Connectors Using https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/webhooks-and-connectors/how-to/connectors-using.md
An example of connector message is as follows:
"sections": [{ "activityTitle": "Larry Bryant created a new task", "activitySubtitle": "On Project Tango",
- "activityImage": "https://teamsnodesample.azurewebsites.net/static/img/image5.png",
+ "activityImage": "https://adaptivecards.io/content/cats/3.png",
"facts": [{ "name": "Assigned to", "value": "Unassigned"
An example of connector message is as follows:
} ```
-This message provides the following card in the channel:
+The following image is an example of the connector message card in a channel:
## Send messages using cURL and PowerShell
platform Whats New https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/whats-new.md
Discover Microsoft Teams platform features that are in developer preview. You ca
Developer preview is a public program that provides early access to unreleased Teams platform features.
-**2023 June**
+**2023 July**
-***June 19, 2023***: [Use Collaborative Stage View to engage with your app content in a new Teams window](tabs/tabs-link-unfurling.md#collaborative-stage-view).
+* ***July 13, 2023***: [Extend static tabs to group chat or meetings with a customizable experience.](tabs/what-are-tabs.md)
:::column-end::: :::row-end:::
Developer preview is a public program that provides early access to unreleased T
| **Date** | **Update** | **Find here** | | -- | | -|
+|19/07/2023| Use Collaborative Stage View to engage with your app content in a new Teams window | Build tabs > [Tabs link unfurling and Stage View](tabs/tabs-link-unfurling.md#collaborative-stage-view) |
|31/01/2023| Send notifications to specific participants on a meeting stage with targeted in-meeting notification. |Build apps for Teams meetings and calls > Enable and configure apps for meetings > Build in-meeting notification for Teams meeting > Build tabs for meeting > [Targeted in-meeting notification](apps-in-teams-meetings/in-meeting-notification-for-meeting.md#targeted-in-meeting-notification)| |30/01/2023| Enable app caching to improve subsequent launch time of the apps to the meeting side panel.|Build apps for Teams meetings and calls > Enable and configure apps for meetings > [App caching](apps-in-teams-meetings/build-tabs-for-meeting.md#app-caching) |