Service | Microsoft Docs article | Related commit history on GitHub | Change details |
---|---|---|---|
platform | Registering Calling Bot | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/calls-and-meetings/registering-calling-bot.md | Last updated 11/23/2022 A bot that participates in audio or video calls and online meetings is a regular Microsoft Teams bot with the following extra features used to register the bot: -* There's a new version of the Teams app manifest with two additional settings, `supportsCalling` and `supportsVideo`. These settings are included in the [app manifest](../../resources/schem#bots). +* There's a new version of app manifest (previously called Teams app manifest) with two additional settings, `supportsCalling` and `supportsVideo`. These settings are included in the [app manifest](../../resources/schem#bots). * [Microsoft Graph permissions](./registering-calling-bot.md#add-graph-permissions) must be configured for your bot's Microsoft App ID. * The Graph calls and online meetings APIs permissions require tenant admin consent. -## New manifest settings +## New app manifest settings Calls and online meetings bots have the following two additional settings in the manifest.json that enable audio or video for your bot in Teams. For apps using the Azure AD V1 endpoint, a tenant administrator can consent to t You can rely on an administrator to grant the permissions your app needs at the [Microsoft Azure portal](https://portal.azure.com). A better option is to provide a sign-up experience for administrators by using the Azure AD V2 `/adminconsent` endpoint. For more information, see [instructions on constructing an Admin consent URL](/graph/auth-v2-service#3-get-administrator-consent). > [!NOTE]-> To construct the tenant Admin consent URL, a configured redirect URI or reply URL in the [app registration portal](https://apps.dev.microsoft.com/) is required. To add reply URLs for your bot, access your bot registration, choose **Advanced Options** > **Edit Application Manifest**. Add your redirect URL to the `replyUrls` collection. +> To construct the tenant Admin consent URL, a configured redirect URI or a reply URL in the [app registration portal](https://apps.dev.microsoft.com/) is required. To add reply URLs for your bot, access your bot registration, choose **Advanced Options** > **Edit Application Manifest**. Add your redirect URL to the `replyUrls` collection. > [!IMPORTANT] > Anytime you make a change to your application's permissions, you must also repeat the Admin consent process. Changes made in the app registration portal are not reflected until the consent has been reapplied by the tenant's administrator. |
platform | Add Power Virtual Agents Bot To Teams | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/add-power-virtual-agents-bot-to-teams.md | ms.localizationpriority: medium Power Virtual Agents is a no-code, guided graphical interface solution that empowers every member of your team to create rich, conversational chatbots that easily integrate with the Teams platform. All content authored in Power Virtual Agents renders naturally in Teams. Power Virtual Agents bots engage with users in the Teams native chat canvas. The IT administrators, business analysts, domain specialists, and skilled app developers can design, develop, and publish intelligent virtual agents for Teams without having to setup a development environment. They can create a web service, or directly register with the Bot Framework. -This document guides you on how to make your chatbot available in Teams through the Power Virtual Agents portal, and add your bot to Teams using Developer Portal. +This document guides you on how to make your chatbot available in Teams through the Power Virtual Agents portal and add your bot to Teams using Developer Portal. Power Virtual Agents lets you create powerful chatbots that can answer questions posed by your customers, other employees, or visitors to your website or service. If [uploading custom apps is enabled](/microsoftteams/admin-settings) in your Te :::image type="content" source="../../assets/images/tdp/home-page-dev-portal.png" alt-text="Screenshot shows home page of the Developer Portal apps in Teams client."::: -1. **Create the Teams app manifest in Developer Portal** +1. **Create the app manifest (previously called Teams app manifest) in Developer Portal** 1. Bots in Teams are defined by an app manifest JSON file that provides the basic information about your bot and its capabilities. In **Developer Portal**, select **Apps**, and select **New app**. - :::image type="content" source="../../assets/images/tdp/create-new-app.png" alt-text="Screenshot shows how to create Teams app manifest in Developer Portal."::: + :::image type="content" source="../../assets/images/tdp/create-new-app.png" alt-text="Screenshot shows how to create app manifest in Developer Portal."::: 1. Enter your app name and select **Save**. |
platform | Bot Sso Manifest | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/authentication/bot-sso-manifest.md | ms.localizationpriority: high # Update app manifest for SSO and preview your app -Before you update Teams app manifest, ensure that you've configured code to enable SSO in your app. +Before you update app manifest (previously called Teams app manifest), ensure that you've configured code to enable SSO in your app. > [!div class="nextstepaction"] > [Add code](bot-sso-code.md) -You've registered your app and bot resource in Azure AD. You've also configured code to handle tokens. Now, you must update the Teams app manifest to enable SSO for your app. The Teams app manifest describes how an app integrates into Teams. +You've registered your app and bot resource in Azure AD. You've also configured code to handle tokens. Now, you must update the app manifest to enable SSO for your app. The app manifest describes how an app integrates into Teams. ## webApplicationInfo property -Configure the `webApplicationInfo` property in the Teams app manifest file. This property enables SSO for your app to help app users access your bot app seamlessly. +Configure the `webApplicationInfo` property in the app manifest file. This property enables SSO for your app to help app users access your bot app seamlessly. `webApplicationInfo` has two elements, `id` and `resource`. Configure the `webApplicationInfo` property in the Teams app manifest file. This | `resource` | Enter your app's subdomain URI and the application ID URI that you created in Azure AD when creating scope. You can copy it from the **Azure AD** > **Expose an API** section. | > [!NOTE]-> Use manifest version 1.5 or higher to implement the `webApplicationInfo` property. +> Use the app manifest version 1.5 or later to implement the `webApplicationInfo` property. -The application ID URI that you registered in Azure AD is configured with the scope of the API you exposed. Configure your app's subdomain URI in `resource` to ensure that the authentication request using `getAuthToken()` is from the domain given in Teams app manifest. +The application ID URI that you registered in Azure AD is configured with the scope of the API you exposed. Configure your app's subdomain URI in `resource` to ensure that the authentication request using `getAuthToken()` is from the domain given in app manifest. For more information, see [webApplicationInfo](../../../resources/schem#webapplicationinfo). -## To configure Teams app manifest +## To configure app manifest 1. Open the app project.-2. Open the manifest folder. +2. Open the app manifest folder. > [!NOTE] >- > - The manifest folder should be at the root of your project. For more information, see [Create a Microsoft Teams app package](../../../concepts/build-and-test/apps-package.md). - > - For more information on learning how to create a manifest.json, see [Reference: Manifest schema for Microsoft Teams](../../../resources/schem). + > - The app manifest folder should be at the root of your project. For more information, see [Create a Microsoft Teams app package](../../../concepts/build-and-test/apps-package.md). + > - For more information on learning how to create a manifest.json, see [the app manifest schema for Microsoft Teams](../../../resources/schem). 1. Open the `manifest.json` file.-1. Add one of the following code snippets to the manifest file to add the new property: +1. Add one of the following code snippets to the app manifest file to add the new property: - If your app has a standalone bot, add the following code snippet: For more information, see [webApplicationInfo](../../../resources/schema/manifes 1. `contentUrl` 2. `configurationUrl` 3. `validDomains`-6. Save the Teams app manifest file. For more information, see [app manifest](../../../resources/schem). +6. Save the app manifest file. For more information, see [app manifest](../../../resources/schem). <br> <details>-<summary>Here's an example of app manifest after it's updated</summary> +<summary>Here's an example of the app manifest after it's updated</summary> ```json { |
platform | Bot Sso Overview | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/authentication/bot-sso-overview.md | Title: Overview to authentication using SSO in Teams with Azure AD -description: Learn about Single sign-on (SSO) authentication in Teams and how to enable it in bots and message extension. +description: Learn about Single sign-on (SSO) authentication in Microsoft Teams and how to enable it in bots and message extension. ms.localizationpriority: high The bot and message extension apps use Bot Framework to handle communication wit This section describes the tasks involved in implementing SSO for a Teams bot or message extension app. To enable SSO for a Teams bot or message extension app: -1. **Configure app with Azure AD**: Create an Azure AD app to generate an app ID and application ID URI. For generating an access token, you configure scopes and authorize trusted client applications. The configuration required in Azure AD for enabling SSO in a bot and message extension apps is the same. Create a bot resource and configure it's client secret, messaging endpoint, and OAuth connection to enable SSO. +1. **Configure app with Azure AD**: Create an Azure AD app to generate an app ID and application ID URI. For generating an access token, you configure scopes and authorize trusted client applications. The configuration required in Azure AD for enabling SSO in a bot and message extension apps is the same. Create a bot resource and configure its client secret, messaging endpoint, and OAuth connection to enable SSO. 1. **Add code**: Add the code to handle access token to send this token to your app's server code in the Authorization header, and to validate the access token when it's received. The code required to enable SSO in a bot app is different from code required for a message extension app. > [!NOTE] > This section allows you to select the app for which you want to add code for enabling SSO. -1. **Update Teams app manifest**: Update your Teams client app manifest with the app ID and application ID URI generated in Azure AD to allow Teams to request access tokens on behalf of your app. The update required in the manifest file is the same for bot and message extension apps. +1. **Update app manifest (previously called Teams app manifest)**: Update your app manifest with the app ID and application ID URI generated in Azure AD to allow Teams to request access tokens on behalf of your app. The update required in the app manifest file is the same for bot and message extension apps. 1. **Configure Graph scopes and permissions**: You can add more scopes to your app by extending your app with Microsoft Graph permissions and scopes. |
platform | Bot Sso Register Aad | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md | You've configured the messaging endpoint for your bot resource. Next, you must e ## Configure SSO for Azure AD app -You must configure permissions and scopes, authorize client applications, update manifest, and create client secret for your Azure AD app. These configurations help to invoke SSO for your bot app. +You must configure permissions and scopes, authorize client applications, update app manifest (previously called Teams app manifest), and create client secret for your Azure AD app. These configurations help to invoke SSO for your bot app. ### Configure scope for the access token You need: The Azure AD app page appears. - The new app ID (client ID) for the app appears on this page. Note and save this app ID. You'll need to update it in the Teams manifest later. If you used the ID of an existing app when you created the bot resource, then ID of that app appears in this page. + The new app ID (client ID) for the app appears on this page. Note and save this app ID. You'll need to update it in the app manifest later. If you used the ID of an existing app when you created the bot resource, then ID of that app appears in this page. :::image type="content" source="../../../assets/images/authentication/teams-sso-bots/aad-app-regd.png" alt-text="Screenshot shows the Bot app page with Application client ID highlighted."::: You need: :::image type="content" source="../../../assets/images/authentication/teams-sso-bots/app-id-uri-added.png" alt-text="Screenshot shows the updated Application ID URI." ::: -1. Note and save the application ID URI. You'll need it for updating the Teams app manifest later. +1. Note and save the application ID URI. You'll need it for updating the app manifest later. The application ID URI is configured. You can now define scope and permissions for your app. You've successfully configured app scope, permissions, and client applications. ### Configure access token version -You must define the access token version for your app in the Azure AD application manifest. +You must define the access token version for your app in the Azure AD app manifest. #### To define the access token version You must define the access token version for your app in the Azure AD applicatio :::image type="content" source="../../../assets/images/authentication/teams-sso-bots/azure-portal-manifest.png" alt-text="Screenshot shows the Azure AD portal Manifest." ::: - The Azure AD application manifest appears. + The Azure AD app manifest appears. 1. Enter **2** as the value for the `accessTokenAcceptedVersion` property. You must define the access token version for your app in the Azure AD applicatio 1. Select **Save**. - A message appears on the browser stating that the manifest was updated successfully. + A message appears on the browser stating that the app manifest was updated successfully. :::image type="content" source="../../../assets/images/authentication/teams-sso-tabs/update-aad-manifest-msg.png" alt-text="Screenshot shows the Manifest updated message."::: To create and configure your app for enabling SSO in Azure AD: ## Configure your Azure AD app for SSO -You must configure permissions and scopes, authorize client applications, update manifest, and create client secret for your Azure AD app. These configurations help invoke SSO for your bot app. +You must configure permissions and scopes, authorize client applications, update app manifest, and create client secret for your Azure AD app. These configurations help invoke SSO for your bot app. > [!IMPORTANT]-> Ensure that you've [registered your app](../../../tabs/how-to/authentication/tab-sso-register-aad.md#to-register-a-new-app-in-azure-ad) in Azure AD. At registration, Azure AD generates a new app ID that you must note. You'll need to update it later in the Teams app manifest file. +> Ensure that you've [registered your app](../../../tabs/how-to/authentication/tab-sso-register-aad.md#to-register-a-new-app-in-azure-ad) in Azure AD. At registration, Azure AD generates a new app ID that you must note. You'll need to update it later in the app manifest file. ### Configure scope for access token To configure scope and authorize trusted client applications, you'll need: The Azure AD app page appears. - The new app ID (client ID) for the app appears on this page. Note and save this app ID. You'll need to update it in the Teams manifest later. If you used the ID of an existing app when you created the bot resource, then ID of that app appears in this page. + The new app ID (client ID) for the app appears on this page. Note and save this app ID. You'll need to update it in the app manifest later. If you used the ID of an existing app when you created the bot resource, then ID of that app appears in this page. :::image type="content" source="../../../assets/images/authentication/teams-sso-bots/aad-app-regd.png" alt-text="Screenshot shows the Bot app page with Application client ID highlighted."::: To configure scope and authorize trusted client applications, you'll need: :::image type="content" source="../../../assets/images/authentication/teams-sso-bots/app-id-uri-added.png" alt-text="Screenshot shows the updated Application ID URI." ::: -1. Note and save the application ID URI. You'll need it for updating the Teams app manifest later. +1. Note and save the application ID URI. You'll need it for updating the app manifest later. The application ID URI is configured. You can now define scope and permissions for your app. You've successfully configured app scope, permissions, and client applications. ### Configure the access token version -You must define the access token version for your app in the Azure AD application manifest. +You must define the access token version for your app in the Azure AD app manifest. #### To define access token version You must define the access token version for your app in the Azure AD applicatio :::image type="content" source="../../../assets/images/authentication/teams-sso-bots/azure-portal-manifest.png" alt-text="Screenshot shows the Azure AD portal Manifest." ::: - The Azure AD application manifest appears. + The Azure AD app manifest appears. 1. Enter **2** as the value for the `accessTokenAcceptedVersion` property. You must define the access token version for your app in the Azure AD applicatio 1. Select **Save**. - A message appears on the browser stating that the manifest was updated successfully. + A message appears on the browser stating that the app manifest was updated successfully. :::image type="content" source="../../../assets/images/authentication/teams-sso-tabs/update-aad-manifest-msg.png" alt-text="Screenshot shows the Manifest updated message."::: |
platform | Channel Messages With Rsc | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/bots/how-to/conversations/channel-messages-with-rsc.md | ms.localizationpriority: medium # Receive all conversation messages with RSC -The resource-specific consent (RSC) permissions model, originally developed for Microsoft Teams Graph APIs, is being extended to bot scenarios. With RSC, conversation owners can consent for a bot to receive all user messages in standard channels and chats without being @mentioned. This can be enabled by specifying the `ChannelMessage.Read.Group` or `ChatMessage.Read.Chat` permission strings in your Teams app manifest. Conversation owners can grant consent during the app installation or upgrade process after the app updates are published. For more information about enabling RSC for your app and inside of a tenant, see [resource-specific consent](../../../graph-api/rsc/resource-specific-consent.md). +The resource-specific consent (RSC) permissions model, originally developed for Microsoft Teams Graph APIs, is being extended to bot scenarios. With RSC, conversation owners can consent for a bot to receive all user messages in standard channels and chats without being @mentioned. This can be enabled by specifying the `ChannelMessage.Read.Group` or `ChatMessage.Read.Chat` permission strings in your app manifest (previously called Teams app manifest). Conversation owners can grant consent during the app installation or upgrade process after the app updates are published. For more information about enabling RSC for your app and inside of a tenant, see [resource-specific consent](../../../graph-api/rsc/resource-specific-consent.md). > [!NOTE] > Bots that receive all conversation messages with RSC aren't supported in Government Community Cloud (GCC), GCC-High, and Department of Defense (DOD) environments. Services that need access to all Teams message data must use the Graph APIs that ## Update app manifest -For your bot to receive all conversation messages, the relevant RSC permission strings must be specified in the `authorization.permissions.resourceSpecific` property of your Teams app manifest. For more information about manifest schema, see [app manifest schema for Teams](../../../resources/schem). +For your bot to receive all conversation messages, the relevant RSC permission strings must be specified in the `authorization.permissions.resourceSpecific` property of your app manifest. For more information, see [app manifest schema](../../../resources/schem). :::image type="content" source="../../../assets/images/bots/RSC/appmanifest_2.png" alt-text="app manifest"::: The following code provides an example of the app manifest: * **webApplicationInfo.resource**: Any string. The resource field has no operation in RSC, but must be added with a value to avoid error response. * **authorization.permissions.resourceSpecific**: RSC permissions for your app with either or both `ChannelMessage.Read.Group` and `ChatMessage.Read.Chat` specified. For more information, see [resource-specific permissions](/microsoftteams/platform/graph-api/rsc/resource-specific-consent#resource-specific-permissions). -The following code provides an example of the app manifest version 1.12 or higher: +The following code provides an example of the app manifest version 1.12 or later: ```json { this.onMessage(async (context, next) => { ## Code sample -| Sample name | Description | .NET |Node.js| Manifest +| Sample name | Description | .NET |Node.js| App manifest |-|-||-|-| |Channel messages with RSC permissions| This sample app shows how a bot can receive all channel messages with RSC without being @mentioned.|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-receive-channel-messages-withRSC/csharp) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-receive-channel-messages-withRSC/nodejs) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-receive-channel-messages-withRSC/csharp/demo-manifest/Bot-RSC.zip) | |
platform | Common Reasons For App Validation Failure | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/common-reasons-for-app-validation-failure.md | Following are the most common reasons for your app to get rejected: :::image type="icon" source="../../../assets/icons/support-link-icon.png" link="#support-link"::: :::column-end::: :::column span="":::- :::image type="icon" source="../../../assets/icons/schema-icon.png" link="#manifest-schema"::: + :::image type="icon" source="../../../assets/icons/schema-icon.png" link="#app-manifest-schema"::: :::column-end::: :::column span=""::: :::image type="icon" source="../../../assets/icons/app-ui-icon.png" link="#app-ui"::: A great description can make your app stand out in the Microsoft Teams store and :::image type="content" source="../../../assets/images/submission/validation-common-reasons-fail-inadequate-app-description.png" alt-text="Screenshot to show the failed scenarios with inadequate app description."::: -* Way forward information for new users such as, Sign Up or Get Started, or Help and Contact Us links aren't included in the manifest and AppSource full description. +* Way forward information for new users such as, Sign Up or Get Started, or Help and Contact Us links aren't included in the app manifest (previously called Teams app manifest) and AppSource full description. :::image type="content" source="../../../assets/images/submission/validation-common-reason-pass-sign-up-app-description.png" alt-text="Screenshot of passed scenario of sign-up, contact details in app description must be hyperlinked."::: :::image type="content" source="../../../assets/images/submission/validation-common-reason-sign-up-app-description.png" alt-text="Screenshot of failed scenario of sign-up, contact details in app description must be hyperlinked."::: -* Region specific app name or functionality isn't called out in manifest and Partner Center app descriptions. +* Region specific app name or functionality isn't called out in app manifest and Partner Center app descriptions. :::image type="content" source="../../../assets/images/submission/validation-common-reasons-region-specific-pass-app.png" alt-text="Screenshot shows an example for pass scenario of region specific app name."::: :::image type="content" source="../../../assets/images/submission/validation-common-reasons-region-specific-app.png" alt-text="Screenshot shows an example for failed scenario of region specific app name."::: -* Limitations or account dependency on external accounts or services to complete Sign-In, Sign-Out, and Sign-Up experience aren't called out in app manifest and long description. +* Limitations or account dependency on external accounts or services to complete Sign-In, Sign-Out, and Sign-Up experience aren't called out in the app manifest and long description. :::image type="content" source="../../../assets/images/submission/validation-common-reason-passed-limitation-called-out.png" alt-text="Screenshot of passed image to show the called out limitations."::: Your app name plays a critical role for users to discover your app on the Micros [Back to top](#common-reasons-for-app-validation-failure) -## Manifest schema +## App manifest schema -The Teams app manifest describes how the app integrates into the Microsoft Teams product. Your app manifest must conform to a publicly released [manifest schema](../../../resources/schem). If your app supports localization, ensure that use a localization manifest schema version 1.5 or later. App packages that contain preview schemas (not publicly released) fail app review. +The app manifest describes how the app integrates into the Microsoft Teams product. Your app manifest must conform to a publicly released [app manifest schema](../../../resources/schem). If your app supports localization, ensure that use a localization app manifest schema version 1.5 or later. App packages that contain preview schemas (not publicly released) fail app review. -You must update the app version declared in the manifest if you're submitting an app update. It's recommended to always use the latest publicly released manifest schema when submitting a new app or an app update and ensure that the manifest schema version in Microsoft Teams store and Microsoft AppSource is the same. +You must update the app version declared in the app manifest if you're submitting an app update. It's recommended to always use the latest publicly released app manifest schema when submitting a new app or an app update and ensure that the app manifest schema version in Microsoft Teams store and Microsoft AppSource is the same. :::image type="content" source="../../../assets/images/submission/validation-common-reason-pass-app-version-number.png" alt-text="Screenshot to show the app version number incremented."::: You must avoid the following issues in your app before you submit for review: 1. App isn't responsive to 100 percent screen resolution. -### App package and store listing (metadata and manifest) +### App package and store listing (metadata and app manifest) You must avoid the following issues in your app before you submit for review: * App listing screenshots are only relevant to the Teams client. -* App description in the manifest or metadata is only relevant to the Teams client. +* App description in the app manifest or metadata is only relevant to the Teams client. * App has incorrect reference to the Teams app extensible across Microsoft 365. -* Support URL, privacy policy, or terms of use content in the manifest or metadata is only relevant to the Teams client. +* Support URL, privacy policy, or terms of use content in the app manifest or metadata is only relevant to the Teams client. [Back to top](#common-reasons-for-app-validation-failure) |
platform | End User Purchase Experience | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/end-user-purchase-experience.md | Title: Purchase and manage app subscriptions and licenses -description: Learn how to purchase, assign, and manage licenses for third-party apps in Teams. +description: Learn how to purchase, assign, and manage licenses for third-party apps in Microsoft Teams. Last updated 04/06/2023 # Purchase and manage app subscriptions and licenses -Add functionality to your Teams experience by subscribing and managing licenses for apps made just for Teams. When you add an app to Teams, check if additional features are available through subscription. You can purchase subscriptions and manage licenses for yourself, your team, or your organization directly from the Teams store. +This article helps you understand the user's purchase experience for apps in Teams. Users can purchase subscriptions and manage licenses from the Teams store for an individual, team, or an organization. You can add more features and functionality to your Teams app through subscriptions. ## Subscription experience -The following example shows how users can purchase subscription plans for a fictional Teams app called *Recloud*: +To purchase a subscription plan for a Teams app, follow these steps: -1. In the Teams store, find and select the *Recloud* app. +1. In the Teams store, find and select the app for which you want to purchase the subscription. 1. In the app details dialog, select **Buy a subscription**. :::image type="content" source="~/assets/images/saas-offer/buysubscriptionplan.png" alt-text="Screenshot shows buying the subscription for the selected app."::: -Select your country or region to see subscription plans for your location. +1. To view the available plans for your location, select your country or region. +1. Select **Save and continue**. + :::image type="content" source="~/assets/images/saas-offer/add-region.png" alt-text="Screenshot shows option to select the country or region."::: -1. In the **Choose a subscription plan** dialog, choose the plan you want and select **Checkout**. (Note: Private plans are visible only to users in orgs you're providing the offer to. These plans are indicated with a **Special offer** :::image type="icon" source="~/assets/icons/special-icon.png"::: icon.) +1. In the **Choose a subscription plan** dialog, select **Start trail** for the plan you want to purchase. ++ > [!NOTE] + > Private plans are visible only to users of the organization you're providing the specific offer. A **Private offer** :::image type="icon" source="~/assets/icons/special-icon.png"::: icon indicates such private plans. :::image type="content" source="~/assets/images/saas-offer/choosingsubscriptionplan.png" alt-text="Screenshot shows selecting the appropriate subscription plan."::: -1. In the **Checkout** dialog, provide any required information and select **Place order**. +1. In the **Checkout** dialog, enter the following information: + * Under **Basic plan** > **Quantity**, select the number of plans. + * Under **Sold to**, add the name and address. + * Under **Payment method**, add the payment details. +1. Select **Place order**. :::image type="content" source="~/assets/images/saas-offer/placesubscriptionorder.png" alt-text="Screenshot shows placing the subscription order."::: -1. When prompted, select **Set up now** to set up your subscription. +1. Select **Set up now**. :::image type="content" source="~/assets/images/saas-offer/saas-offer-set-up.png" alt-text="Screenshot shows the option to set up your subscription."::: -1. Manage your subscription plan through the *Recloud* website (also known as a [landing page](include-saas-offer.md#build-a-landing-page-for-subscription-management)). +You're redirected to the app website (also known as a [landing page](include-saas-offer.md#build-a-landing-page-for-subscription-management)) where you can manage your subscriptions. + - :::image type="content" source="~/assets/images/saas-offer/subscriptionlicenses.png" alt-text="Screenshot shows User and Licenses screen to assign license."::: +When a new user launches the app for the first time, they're requested to provide consent to the app. -When a new user launches the app for the first time, they're requested to provide consent to the app. Following is an example of the consent screen shown when calling for user profile data with minimum User.Read permission. +> [!NOTE] +> Consent dialog is part of the flow to get the user's license information and may vary based on Independent software vendors (ISVs) integration approach. -Consent dialog is part of the flow to get the users license information and may vary based on ISVΓÇÖs integration approach. +Following is an example of the consent screen: :::image type="content" source="../../../../assets/images/saas-offer/permissions-requested.png" alt-text="Screenshot shows the Permissions requested consent dialog."::: The following example shows how users can manage licenses for third-party apps f :::image type="content" source="../../../../assets/images/saas-offer/client-experience-1.png" alt-text="Screenshot shows the Apps screen to select Manage your app option."::: 1. Select **Subscriptions**. A tab appears with a list of purchases made in the tenant.-1. Choose an existing subscription from the list and select **Assign licenses**. ++1. Select an existing subscription from the list and then select **Assign licenses**. :::image type="content" source="../../../../assets/images/saas-offer/client-experience-2.png" alt-text="Screenshot shows the Assign licenses option of the respective app under Subscription tab."::: The following example shows how users can manage licenses for third-party apps f :::image type="content" source="../../../../assets/images/saas-offer/view-license.png" alt-text="Screenshot shows the selected assigned licenses highlighted in red."::: -1. Search for the users or a team in the search box and select **Assign**. The license is assigned to the users or a team. +1. Search for the users or a team in the search box and select **Assign**. The users or a team are assigned with the license. - :::image type="content" source="../../../../assets/images/saas-offer/assign-licenses.png" alt-text="Screenshot shows assigning license to a Team with a single click highlighted in red."::: + :::image type="content" source="../../../../assets/images/saas-offer/assign-licenses.png" alt-text="Screenshot shows assigning license to a Team highlighted in red."::: You can view the list of assigned users or teams for the subscription and also check the status of the assignment. |
platform | Teams Store Validation Guidelines | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md | An app's name plays a critical role in how users discover it in the store. Use t * Don’t use parenthesis in naming to include Microsoft products. [*Mandatory Fix*] -* Developer name must be the same in the manifest and AppSource. [*Mandatory Fix*] +* Developer name must be the same in the app manifest (previously called Teams app manifest) and AppSource. [*Mandatory Fix*] * App manifests submitted must be production manifests. Accordingly, app name mustn't indicate that the app is a preproduction app. For example, app name mustn't contain words such as Beta, Dev, Preview, and UAT. [*Mandatory Fix*] -* The app name in the manifest and AppSource must match. [*Mandatory Fix*] +* The app name in the app manifest and AppSource must match. [*Mandatory Fix*] > [!TIP] > Your app’s branding on the Microsoft Teams store and AppSource including your app name, developer name, app icon, AppSource screenshots, video, short description, and website either separately or taken together mustn't impersonate an official Microsoft offering unless your app is an official Microsoft 1P offering. Bots must always ask permission to upload a file and display a confirmation mess [*Mandatory Fix*] <br></br> <details><summary>Expand to know more</summary> App must warn users before downloading any files or executables (.exe) into the :::image type="icon" source="../../../../assets/icons/certificate-icon-16.png"::: This section is in line with [Microsoft commercial marketplace policy number 1140.4](/legal/marketplace/certification-policies#11404-functionality). * Way forward guidance is mandatory for both admin and existing users. You can add way forward guidance as hyperlinks to sign up, get started, contact us, help links, or email.-* Calling out account dependency or limitations under app functionality isn't required but is mandatory to add it in both manifest long description and AppSource app listing. +* Calling out account dependency or limitations under app functionality isn't required but is mandatory to add it in both app manifest long description and AppSource app listing. * You must call out any dependency on tenant admins for new users. If there's no dependency, it's mandatory to provide a sign up, contact us, get started link, or email. [Back to top](#microsoft-teams-store-validation-guidelines) App packages must be correctly formatted and include all required information an [*Mandatory Fix*] -The Teams app manifest defines your app's configuration. +The app manifest defines your app's configuration. -* Your manifest must conform to a publicly released manifest schema. For more information, see [manifest reference](~/resources/schem). Don't submit your app using a preview version of the manifest. +* Your app manifest must conform to a publicly released app manifest schema. For more information, see [app manifest reference](~/resources/schem). Don't submit your app using a preview version of the app manifest. * If your app includes a bot or message extension, details in the app manifest must be consistent with Bot Framework metadata including bot name, logo, privacy policy link, and terms of service link.-* If your app uses Azure Active Directory for authentication, include the Microsoft Azure Active Directory (Azure AD) Application (client) ID in the manifest. For more information, see the [manifest reference](~/resources/schem#webapplicationinfo). +* If your app uses Azure Active Directory for authentication, include the Microsoft Azure Active Directory (Azure AD) Application (client) ID in the app manifest. For more information, see the [app manifest reference](~/resources/schem#webapplicationinfo). -### Uses of Latest manifest schema +### Uses of latest app manifest schema -* If your app uses Single sign-on (SSO), you must declare Microsoft Azure Active Directory (Azure AD) ID in the manifest for user authentication. [*Mandatory Fix*] +* If your app uses Single sign-on (SSO), you must declare Microsoft Azure Active Directory (Azure AD) ID in the app manifest for user authentication. [*Mandatory Fix*] -* You must use a publicly released manifest schema. You can update your app package to use a public version of manifest schema 1.10 or later. [*Mandatory Fix*] +* You must use a publicly released app manifest schema. You can update your app package to use a public version of app manifest schema 1.10 or later. [*Mandatory Fix*] * When you submit an app update, only increase the app version number. App ID of the updated app must match the App ID of the published app. [*Mandatory Fix*] * The presence of additional files within the app package isn't acceptable. [*Mandatory Fix*] -* The version number must be the same in the manifest file schema and additional languages manifest schema. [*Mandatory Fix*] +* The version number must be the same in the app manifest file schema and additional languages app manifest schema. [*Mandatory Fix*] -* You must use the Teams manifest schema version 1.5 or later to localize your app. To use the app schema version 1.5 or later in your manifest.json file, update the `$schema` attribute to 1.5 or later. Update the `manifestVersion` property to `$schema` version (1.5 in this case). [*Mandatory Fix*] +* You must use the app manifest schema version 1.5 or later to localize your app. To use the app schema version 1.5 or later in your manifest.json file, update the `$schema` attribute to 1.5 or later. Update the `manifestVersion` property to `$schema` version (1.5 in this case). [*Mandatory Fix*] -* When you add, update, or remove an existing capability, add or remove manifest or Partner Center metadata, you must increase the app version number and submit the new app manifest in your Partner Center account for validation. [*Mandatory Fix*] +* When you add, update, or remove an existing capability, add or remove app manifest or Partner Center metadata, you must increase the app version number and submit the new app manifest in your Partner Center account for validation. [*Mandatory Fix*] * The version string must follow the Semantic Versioning Specification (SemVer) standard (MAJOR.MINOR.PATCH). [*Mandatory Fix*] -* If your app requires admins to review permissions and grant consent in Teams admin center, you must declare `webapplicationinfo` in the manifest. If `webapplicationinfo` isn't declared in the manifest, the **Permissions** page for your app in Teams admin center is shown as **...** [*Mandatory Fix*] +* If your app requires admins to review permissions and grant consent in Teams admin center, you must declare `webapplicationinfo` in the app manifest. If `webapplicationinfo` isn't declared in the app manifest, the **Permissions** page for your app in Teams admin center is shown as **...** [*Mandatory Fix*] * As part of Teams app certification, you must submit a production version of the app manifest. [*Mandatory Fix*] -* We recommend that you declare the Microsoft Partner Network (MPN) ID in the manifest. The MPN ID helps identify the partner organization that builds the app. [*Suggested Fix*] +* We recommend that you declare the Microsoft Partner Network (MPN) ID in the app manifest. The MPN ID helps identify the partner organization that builds the app. [*Suggested Fix*] * Scopes and/or context declared in app manifest must be visible within the app. [*Mandatory Fix*] Descriptions mustn't directly or through insinuation disparage another brand (Mi * App description must identify the intended audience, briefly and clearly explain its unique and distinct value, identify supported Microsoft products and other software, and include any prerequisites or requirements for its use. You must clearly describe any limitations, conditions, or exceptions to the functionality, features, and deliverables as described in the listing and related materials before the customer acquires your offer. The capabilities you declare must relate to the core functions and description of your offer. [*Mandatory Fix*] -* If you update your app name, replace the old app name with new app name in the offer metadata in the manifest, AppSource, and wherever applicable. [*Mandatory Fix*] +* If you update your app name, replace the old app name with new app name in the offer metadata in the app manifest, AppSource, and wherever applicable. [*Mandatory Fix*] * Limitations and account dependencies must be called out in the manifest App Description, AppSource, and Partner Center. For example: * Enterprise account Descriptions mustn't directly or through insinuation disparage another brand (Mi :::image type="content" source="../../../../assets/images/submission/validation-app-description-limitations-not-calledout-fail.png" alt-text="Graphic shows an example of limitations not called out in app descriptions."::: -* If your app is supported for specific regions or geographical locations, you must call out that specific region dependency in the app description in manifest, Partner Center, and AppSource for that offer. +* If your app is supported for specific regions or geographical locations, you must call out that specific region dependency in the app description in app manifest, Partner Center, and AppSource for that offer. * If you need to reference Teams, write the first reference in the app listing as Microsoft Teams. Later references can be shortened to Teams. [*Mandatory Fix*] The long description can provide an engaging narrative that highlights your app' * **... certified for ...** * **... powered by ...** * Include typos, grammatical errors.-* Unnecessarily capitalize the entire manifest or AppSource long description or app content. +* Unnecessarily capitalize the entire app manifest or AppSource long description or app content. :::image type="content" source="../../../../assets/images/submission/validation-long-description-typos-pass.png" alt-text="Graphic shows an example of app long description without errors."::: The privacy policy can be specific to your Teams app or an overall policy for al * Must not include links to AppSource. * Must not require authentication to access privacy policy. * Must not include any commerce UI or store links.-* Must have the same link in the manifest and AppSource. +* Must have the same link in the app manifest and AppSource. ### Terms of use Use the following guidelines to write the Terms of use: * Must be hosted on your own domain. * Must have a secure (HTTPS) link. * Access to Terms of use must not require authentication.-* Must have the same link in the manifest and AppSource. +* Must have the same link in the app manifest and AppSource. ### Support links Support URLs must include your contact details or a way forward for users to rai * If the user's client settings don't match with any of your additional languages, the default language is used as the final fallback language. Update the `localizationInfo` property with the correct default language that your application supports. [*Mandatory Fix*] -* Update the `localizationInfo` property with the correct default language your application supports or add localized content for manifest and Partner Center long and short description. [*Mandatory Fix*] +* Update the `localizationInfo` property with the correct default language your application supports or add localized content for app manifest and Partner Center long and short description. [*Mandatory Fix*] ## Apps linked to SaaS offer Support URLs must include your contact details or a way forward for users to rai * ISVs must support the ability for multiple users (Subscribers) in the same tenant to manage their own subscription and assign licenses to users in the tenant. * The offer must meet all the [technical requirements](/microsoftteams/platform/concepts/deploy-and-publish/appsource/prepare/include-saas-offer) for Teams apps linked to a SaaS offer. * The Teams apps linked to SaaS offer must meet all the requirements defined in [1000 Software as a Service (SaaS)](/legal/marketplace/certification-policies#1000-software-as-a-service-saas).-* `subscriptionOffer` details mentioned in the manifest file must be correct. In your app manifest, add or update node `subscriptionOffer` with value `publisherId.offerId`. For example, if your publisher ID is `contoso1234` and your offer ID is `offer01`, the value that you specify in your app manifest must be `contoso1234.offer01`. +* `subscriptionOffer` details mentioned in the app manifest file must be correct. In your app manifest, add or update node `subscriptionOffer` with value `publisherId.offerId`. For example, if your publisher ID is `contoso1234` and your offer ID is `offer01`, the value that you specify in your app manifest must be `contoso1234.offer01`. * Linked SaaS offer to the Teams app must be live in AppSource and preview offers aren't accepted for store approval. </details> Support URLs must include your contact details or a way forward for users to rai </br> <details><summary>Offer metadata</summary> -* Offer metadata must match across the Teams manifest, the Teams app listing in AppSource, and the SaaS offer in AppSource. -* Teams app and SaaS offer must be from the same publisher or developer. The SaaS offer referenced in the App manifest must belong to the same publisher as the Teams app is submitted to the commercial marketplace. +* Offer metadata must match across the app manifest, the Teams app listing in AppSource, and the SaaS offer in AppSource. +* Teams app and SaaS offer must be from the same publisher or developer. The SaaS offer referenced in the app manifest must belong to the same publisher as the Teams app is submitted to the commercial marketplace. * As your submitted offer is a Teams app linked to SaaS offer, you must select **Additional purchases** as **Yes, my product requires purchase of a service or offers additional in-app purchases​** in Partner Center product set-up section of your offer listing. * Plan descriptions and pricing details must provide enough information for users to clearly understand the offer listings. * Any limitations, dependencies on additional services, and exceptions to features offered must be accurately called out in plan descriptions. Analyzing user input and predicting user intent is difficult. Bot commands provi :::image type="content" source="../../../../assets/images/submission/validation-bot-commands-deadend.png" alt-text="validation-bot-commands-dead-end"::: -* You must list at least one valid bot command in the `items.commands.title` section of the manifest and add a suitable description that gives clarity to the user on the bot command and its usage. Bot commands listed in the `commandLists` section of the manifest surface as prepopulated commands in the bot command menu and provide a way forward for the new user to interact with the bot. [*Suggested Fix*] +* You must list at least one valid bot command in the `items.commands.title` section of the app manifest and add a suitable description that gives clarity to the user on the bot command and its usage. Bot commands listed in the `commandLists` section of the app manifest surface as prepopulated commands in the bot command menu and provide a way forward for the new user to interact with the bot. [*Suggested Fix*] * Bot response mustn't contain any official Microsoft product images or avatars. Use your own assets in your app. Use of Microsoft product images in your app isn't allowed. You may only copy, modify, distribute, display, license, or sell Microsoft copyrighted product images if you're granted explicit permission within the End-User License Agreement (EULA), license terms that accompany the content, or in the [Microsoft Trademark and Brand guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks). [*Mandatory Fix*] Analyzing user input and predicting user intent is difficult. Bot commands provi :::image type="content" source="../../../../assets/images/submission/validation-bot-action-button-redirect-warning.png" alt-text="Graphic shows an example of bot response action button with a redirect."::: -* By design, if your bot doesn't respond or support any user command and is a one way bot only intended to notify users. You must set `isNotificationOnly` to true in the manifest. [*Mandatory Fix*] +* By design, if your bot doesn't respond or support any user command and is a one way bot only intended to notify users. You must set `isNotificationOnly` to true in the app manifest. [*Mandatory Fix*] :::image type="content" source="../../../../assets/images/submission/validation-bot-command-isnotification-only-true.png" alt-text="Graphic shows an example of notification only property set to true in the app manifest."::: Analyzing user input and predicting user intent is difficult. Bot commands provi :::image type="content" source="../../../../assets/images/submission/validation-bot-multiple-message-trigger-install.png" alt-text="Graphic shows an example of bot triggering multiple welcome messaged on app install."::: -* App name in the welcome message must match the app name in the manifest. [*Mandatory Fix*] +* App name in the welcome message must match the app name in the app manifest. [*Mandatory Fix*] :::image type="content" source="../../../../assets/images/submission/validation-app-name-mismatch-manifeast-and-welcome-message.png" alt-text="Graphic shows an example of app name in welcome message not matching with the app name in the app manifest."::: Apps that provide only notifications with content such as, **You have a new noti * Any change to app name, metadata, bot welcome message, or bot responses must be updated with new name. [*Mandatory Fix*] -* App name in the bot welcome message or bot responses must match the app name in the manifest. [*Mandatory Fix*] +* App name in the bot welcome message or bot responses must match the app name in the app manifest. [*Mandatory Fix*] </details> <br/> Action-based message extensions must do the following: [*Mandatory Fix*] -* If the app has declared the `supportsAnonymizedPayloads` property in the manifest and the user hasn't installed the app, the app link must unfurl and show the add app dialog after the card is selected. [*Mandatory Fix*] +* If the app has declared the `supportsAnonymizedPayloads` property in the app manifest and the user hasn't installed the app, the app link must unfurl and show the add app dialog after the card is selected. [*Mandatory Fix*] * Message extensions must preview recognized links in the Teams compose box. Don't add domains that are outside your control (either absolute URLs or wildcards). For example, `yourapp.onmicrosoft.com` is valid but `*.onmicrosoft.com` isn't valid. Top-level domains also are prohibited. For example, `*.com` or `*.org`. [*Mandatory Fix*] -* Apps must only declare that are under the app publisher’s direct ownership in the `messageHandler` link unfurling section of the manifest. It mustn’t contain `*.botframework.com.` [*Mandatory Fix*] +* Apps must only declare that are under the app publisher’s direct ownership in the `messageHandler` link unfurling section of the app manifest. It mustn’t contain `*.botframework.com.` [*Mandatory Fix*] </details> </br> For more information, see [Teams task module design guidelines](~\task-modules-a * Your app must offer value beyond providing only custom Together Mode scenes in Teams. [*Mandatory Fix*] -* You must declare `groupChat` as a scope under `configurableTabs` and `meetingDetailsTab`, `meetingChatTab`, and `meetingSidePanel` as a context property in the manifest to enable your app for meetings on Teams mobile. [*Mandatory Fix*] +* You must declare `groupChat` as a scope under `configurableTabs` and `meetingDetailsTab`, `meetingChatTab`, and `meetingSidePanel` as a context property in the app manifest to enable your app for meetings on Teams mobile. [*Mandatory Fix*] * Meeting canvases mustn't dead-end a meeting attendee. Meeting canvases must show a graceful failure message for app limitations such as, region specific dependency. [*Mandatory Fix*] Shared meeting stage feature can only be launched through the Teams desktop app. ## Connector -1. The connector name must be the same as the app name within the app and in the manifest. +1. The connector name must be the same as the app name within the app and in the app manifest. - :::image type="content" source="../../../../assets/images/submission/connector-mismatch-app-name.png" alt-text="Screenshot shows the mismatch in app name between app and manifest."::: + :::image type="content" source="../../../../assets/images/submission/connector-mismatch-app-name.png" alt-text="Screenshot shows the mismatch in app name between app and app manifest."::: 2. The user must not encounter any error while configuring the connector. If your app uses the [activity feed APIs provided by Microsoft Graph](/graph/tea * Include your app’s name in the activity feed notification for end-users to understand the source or trigger for the notification without confusion. [*Mandatory Fix*] -* App must trigger notifications for all the notification scenarios mentioned in the app long description, app first run experience, and in scenarios declared under `activityTypes` in the manifest. [*Mandatory Fix*] +* App must trigger notifications for all the notification scenarios mentioned in the app long description, app first run experience, and in scenarios declared under `activityTypes` in the app manifest. [*Mandatory Fix*] * Notifications must display within five seconds of user action. [*Mandatory Fix*] After an internal Microsoft review, if the compliance demonstration is satisfact ## App functionality * Workflows or content in the app must be related to the scope. [*Mandatory Fix*]-* All app capabilities must be functional and must work properly as described in the AppSource or manifest long description. [*Mandatory Fix*] +* All app capabilities must be functional and must work properly as described in the AppSource or app manifest long description. [*Mandatory Fix*] * Apps must always notify the user before downloading any file or executable on the user’s environment. Any call to action (CTA), either text based or otherwise, that makes it clear to the user that a file or executable is downloaded on user action is allowed in the app. [*Mandatory Fix*] * Apps with region dependency must notify the users with a graceful failure message in all applicable capabilities if they attempt to use it in an unsupported region. [*Mandatory Fix*] |
platform | Enable App Customization | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/design/enable-app-customization.md | Some possible uses of this feature are: * Changing the description to include language and guidance that is better understood by your organization's end-users. * Changing logo and logo outline to inspire confidence to the end-users to use the app since it seems provided by their organization. -You can enable the feature by defining the app properties that your customers can customize in the [`configurableProperties` section in the Teams app manifest](/microsoftteams/platform/resources/schema/manifest-schema#configurableproperties), starting with version 1.11. You can use [Developer Portal for Teams](https://dev.teams.microsoft.com/home) to edit the manifest of your app. +You can enable the feature by defining the app properties that your customers can customize in the [`configurableProperties` section in the app manifest](/microsoftteams/platform/resources/schema/manifest-schema#configurableproperties) (previously called Teams app manifest), starting with version 1.11. You can use [Developer Portal for Teams](https://dev.teams.microsoft.com/home) to edit the app manifest of your app. > [!IMPORTANT] > You can't test this feature during development. App customization isn't supported when sideloading or publishing to an org's app catalog. |
platform | Native Device Permissions | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/concepts/device-capabilities/native-device-permissions.md | Title: Request device permissions for your Microsoft Teams app + Title: Request device permissions for your Teams app description: How to update your app manifest in order to request access to native features that require user consent, such as scan QR, barcode, image, audio, and video capabilities ms.localizationpriority: high A user can manage device permissions in Teams settings by selecting **Allow** or 1. Open Teams. 1. Go to **Settings** > **App permissions**.-1. Select the app for which you need to choose the settings. +1. Select the app for which you want to customize the settings. 1. Select your desired settings. :::image type="content" source="~/assets/images/tabs/MobilePermissions.png" alt-text="Screenshot shows the mobile App permissions."::: # [Desktop](#tab/desktop) -1. Open your Teams app. -1. Select your profile icon in the upper right corner of the window. -1. Select **Settings** > **Permissions** from the dropdown menu. +1. Open Teams. +1. Go to **Settings** > **App permissions**. +1. Select the app for which you want to customize the settings. 1. Select your desired settings. - :::image type="content" source="~/assets/images/tabs/device-permissions.png" alt-text="Screenshot shows the device permissions."::: ++ :::row::: + :::column::: + :::image type="content" source="~/assets/images/tabs/device-permissions-new-one.png" alt-text="Screenshot shows the device permissions." lightbox="~/assets/images/tabs/device-permissions-new-one.png"::: + :::column-end::: + :::column::: + :::image type="content" source="~/assets/images/tabs/device-permissions-new-two.png" alt-text="Screenshot shows different apps to select the device permissions." lightbox="~/assets/images/tabs/device-permissions-new-two.png"::: + :::column-end::: + :::row-end::: Leverage appropriate HTML5 or Teams API to display a prompt for getting consent > [!IMPORTANT] >-> * Support for `camera`, `gallery`, and `microphone` is enabled through [**selectMedia API**](/javascript/api/@microsoft/teams-js/microsoftteams.media.media?view=msteams-client-js-latest&preserve-view=true). Use [**captureImage API**](/javascript/api/@microsoft/teams-js/microsoftteams?view=msteams-client-js-latest#captureimage--error--sdkerror--files--file-void-&preserve-view=true) for a single image capture. +> * Support for `camera`, `gallery`, and `microphone` is enabled through [**selectMedia API**](/javascript/api/@microsoft/teams-js/microsoftteams.media.media?view=msteams-client-js-latest&preserve-view=true). Use [**captureImage API**](/javascript/api/@microsoft/teams-js/microsoftteams.media#functions) for a single image capture. > * Support for `location` is enabled through [**getLocation API**](/javascript/api/@microsoft/teams-js/microsoftteams.location?.view=msteams-client-js-latest#getLocation_LocationProps___error__SdkError__location__Location_____void_&preserve-view=true). You must use this `getLocation API` for location, as HTML5 geolocation API is currently not fully supported on Teams desktop. For example: |
platform | Glossary | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/get-started/glossary.md | Common terms and definitions used in Microsoft Teams developer documentation. | [Command lists](../resources/schem#botscommandlists)| An app manifest property (`commandLists`) that consists of a list of commands that the bot supplies, including their usage, description, and the scope for which the commands are valid. For each scope, you must use a specific command list. <br> **See also**: [App manifest](#a)| | Connection Name | The name of OAuth connection that you configure for enabling SSO connection for your bot resource. <br> **See also**: [OAuth connection](#o) | | [Connector](../webhooks-and-connectors/what-are-webhooks-and-connectors.md) | It lets users subscribe to receive notifications and messages from the web services. Connectors expose the HTTPS endpoint for the service to post messages to Teams channels, typically in the form of cards. <br> **See also**: [Webhook](#w) |-| [Connector ID](../resources/schem#include-the-connector-in-your-manifest) | +| [Connector ID](../resources/schem#include-the-connector-in-your-app-manifest) | | [Consent dialog](../tabs/how-to/authentication/tab-sso-code.md) | The process of a user granting authorization to an application to access protected resources on their behalf. An admin or user can be asked for consent to allow access to their organization or individual data. <br> **See also**: [SSO](#s); [Authentication flow](#a); [Administrator consent](#a); [User consent](#u) | | [Content URL](../resources/schem#statictabs)| An app manifest property (`contentUrl`) where the HTTPS URL points to the entity UI to be displayed in the Teams canvas. <br> **See also**: [App manifest](#a)| | Conversation | A series of messages sent between your Microsoft Teams app (tab or bot) and one or more users. A conversation can have three scopes: channel, personal, and group chat. <br>**See also**: [One-on-one chat](#o); [Group chat](#g); [Channel](#c) | Common terms and definitions used in Microsoft Teams developer documentation. | Microsoft App Password | A secret string that the application uses to prove its identity when requesting a token. Also, it can be referred to as application password. <br> **See also**: [Client secret](#c) | | [Microsoft Graph Explorer](../graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md) | The gateway to data and intelligence in Microsoft 365. It provides a unified programmability model that you can use to access data in Microsoft 365, Windows 10, and Enterprise Mobility + Security. | | [Microsoft Partner Center](/partner-center/overview) | Microsoft Partner Center streamlines several business processes to make it easier for Microsoft partners to manage their relationship with Microsoft and their customers. Partner Center gives you access to the tools you need to get work done.|-| [Microsoft Partner Network ID](../concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md#uses-of-latest-manifest-schema) | The Microsoft Partner Network ID (MPN ID) that identifies the partner organization building the app. You can find your MPN ID by fetching the Partner Center ID.| +| [Microsoft Partner Network ID](../concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md#uses-of-latest-app-manifest-schema) | The Microsoft Partner Network ID (MPN ID) that identifies the partner organization building the app. You can find your MPN ID by fetching the Partner Center ID.| | [Microsoft Teams](../overview.md) | Microsoft Teams is a group collaboration software that can be used to help teams work together remotely. | | [Microsoft Teams Platform](../concepts/app-fundamentals-overview.md) | The Microsoft Teams developer platform makes it easy for developers to integrate their own apps and services with Teams. | | [Microsoft Teams UI Library](../concepts/design/design-teams-app-ui-templates.md#microsoft-teams-ui-library) | Microsoft Teams UI Library helps you view and test individual Teams UI templates and related components in your browser. | Common terms and definitions used in Microsoft Teams developer documentation. | Term | Definition | | | | | [Rate-limiting](../bots/how-to/rate-limit.md) | A method to limit messages to a certain maximum frequency to ensure that number of messages are sufficient and don't appear as spam. |-| [Redirect URL](../bots/how-to/authentication/bot-sso-register-aad.md) | A redirect URI is the location where the authorization server sends the user after the app has been successfully authorized and granted an authorization code or access token. It's also called reply URL. | +| [Redirect URL](../bots/how-to/authentication/bot-sso-register-aad.md) | A redirect URL is the location where the authorization server sends the user after the app has been successfully authorized and granted an authorization code or access token. It's also called or reply URL. | | [Role-based views](../task-modules-and-cards/cards/universal-actions-for-adaptive-cards/user-specific-views.md) | A feature of tabs where the tab experience may be different for users depending on their permission level. | | [RSC permission](../graph-api/rsc/resource-specific-consent.md) | Resource-specific consent (RSC) permission feature is needed by team owners to let a bot app receive messages across channels in a team without being @mentioned. | | [Real-time meeting protocol](../resources/schem#meetingextensiondefinition)| A Boolean value indicating whether this app can stream the meeting's audio and video content to a Real-time meeting protocol (RTMP) endpoint.| |
platform | Teams App Permissions | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/App-permissions/Teams-app-permissions.md | Permission for Teams app is managed in two places, depending on the app feature RSC is a Microsoft Teams and Microsoft Graph API integration that enables your app to use API endpoints to manage specific resources, either teams or chats, within an organization. For more information, see [enable resource-specific consent in Teams](../rsc/resource-specific-consent.md). -RSC permissions are only available to Teams apps installed on the Teams client and are currently not part of the 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**. +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 app manifest (previously called Teams app manifest) (JSON) file. You can manage RSC permissions for Teams apps in Developer Portal from the **Permissions** section under **Configure**. :::image type="content" source="../../assets/images/dev-portal-permissions.png" alt-text="Screenshot shows the RSC permissions managed from Developer Portal. " lightbox="../../assets/images/dev-portal-permissions1.png"::: |
platform | Graph Proactive Bots And Messages | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/proactive-bots-and-messages/graph-proactive-bots-and-messages.md | Microsoft Graph [teamsAppInstallation resource type](/graph/api/resources/teamsa |`TeamsAppInstallation.ReadWriteSelfForUser.All`|Allows a Teams app to read, install, upgrade, and uninstall itself for any *user*, without prior sign in or use.| |`TeamsAppInstallation.ReadWriteSelfForTeam.All`|Allows a Teams app to read, install, upgrade, and uninstall itself in any *team*, without prior sign in or use.| -To use these permissions, you must add a [webApplicationInfo](../../resources/schem#webapplicationinfo) key to your app manifest with the following values: +To use these permissions, you must add a [webApplicationInfo](../../resources/schem#webapplicationinfo) key to your app manifest (previously called Teams app manifest) with the following values: * **id**: Your Azure Active Directory app ID. * **resource**: The resource URL for the app. You can retrieve the `teamsAppId` in the following ways: GET https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?$filter=externalId eq '{IdFromManifest}' ``` - The request must return a `teamsApp` object `id`, which is the app's catalog generated app ID. This is different from the ID that you provided in your Teams app manifest: + The request must return a `teamsApp` object `id`, which is the app's catalog generated app ID. This is different from the ID that you provided in your app manifest: ```json { |
platform | Grant Resource Specific Consent | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/graph-api/rsc/grant-resource-specific-consent.md | In this section, you'll learn to: To add RSC permissions to your app, follow these steps: 1. [Register your app with Microsoft identity platform using the Azure AD portal](#register-your-app-with-microsoft-identity-platform-using-the-azure-ad-portal).-1. [Update your Teams app manifest](#update-your-teams-app-manifest). +1. [Update your app manifest (previously called Teams app manifest)](#update-your-app-manifest). ### Register your app with Microsoft identity platform using the Azure AD portal The Azure Active Directory (Azure AD) portal provides a central platform for you > [!WARNING] > You mustn't share your Azure AD app ID across multiple Teams apps. There must be a 1:1 mapping between a Teams app and an Azure AD app. Installing multiple Teams apps associated with the same Azure AD app ID will cause installation or runtime failures. -### Update your Teams app manifest +### Update your app manifest -You must declare RSC permissions in your Teams app **manifest.json** file. You don't need to add the non-RSC permissions to the app manifest as Azure AD portal stores them. +You must declare RSC permissions in your app **manifest.json** file. You don't need to add the non-RSC permissions to the app manifest as Azure AD portal stores them. #### Request RSC permissions for Teams app -To request RSC permissions for an app, list the permissions that the app requires in the authorization section of the Teams app manifest. The instructions can vary based on the manifest version of the app. +To request RSC permissions for an app, list the permissions that the app requires in the authorization section of the app manifest. The instructions can vary based on the app manifest version of the app. > [!NOTE] > For delegated permissions, use app manifest v1.12 or later. To add RSC permission in app manifest: |Name| Type | Description| ||||- |`authorization`|Object|List of permissions that the app needs to function. For more information, see [authorization in manifest](../../resources/schem#authorization). | + |`authorization`|Object|List of permissions that the app needs to function. For more information, see [authorization in app manifest](../../resources/schem#authorization). | - If an app is meant to support installation in both team and chat scopes, then both team and chat permissions can be specified in the same manifest under `authorization`. + If an app is meant to support installation in both team and chat scopes, then both team and chat permissions can be specified in the same app manifest under `authorization`. Example for RSC permissions in a team: Add the [webApplicationInfo](../../resources/schem#webapplic |`resource`|String| This field has no operation in RSC but you must add a value to avoid an error response. You can add any string as value.| |`applicationPermissions`|Array of strings|RSC permissions for your app. For more information, see [Supported RSC permissions](resource-specific-consent.md#supported-rsc-permissions).| -If an app is meant to support installation in both team and chat scopes, then both team and chat permissions can be specified in the same manifest under `applicationPermissions`. +If an app is meant to support installation in both team and chat scopes, then both team and chat permissions can be specified in the same app manifest under `applicationPermissions`. Example for RSC permissions in a team: After the app has been installed to a resource, you can use [Microsoft Graph Exp 1. Sign in to **Graph Explorer**. 1. Make a **GET** call to this endpoint: `https://graph.microsoft.com/beta/teams/{teamGroupId}/permissionGrants`. - The `clientAppId` field in the response must map to the `webApplicationInfo.id` specified in the Teams app manifest. + The `clientAppId` field in the response must map to the `webApplicationInfo.id` specified in the app manifest. :::image type="content" source="../../assets/images/team-graph-permissions.png" alt-text="Screenshot shows the Graph explorer response to GET call for team RSC permissions."::: For more information on how to get details of the apps installed in a specific t 1. Sign in to **Graph Explorer**. 1. Make a **GET** call to the following endpoint: `https://graph.microsoft.com/beta/chats/{chatId}/permissionGrants`. - The `clientAppId` field in the response must map to the `webApplicationInfo.id` specified in the Teams app manifest. + The `clientAppId` field in the response must map to the `webApplicationInfo.id` specified in the app manifest. :::image type="content" source="../../assets/images/chat-graph-permissions.png" alt-text="Screenshot shows the Graph explorer response to GET call for chat RSC permissions."::: For more information on how to get details of the apps installed for the user, s ## Code sample -| **Sample name** | **Description** | **.NET** |**Node.js** | **Manifest**| +| **Sample name** | **Description** | **.NET** |**Node.js** | **App manifest**| |--|--|-|-|-| | Resource-Specific Consent (RSC) | This sample code describes the process to use RSC to call Graph APIs. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/graph-rsc/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/graph-rsc/nodeJs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/graph-rsc/csharp/demo-manifest/graph-rsc.zip)| |
platform | Extend M365 Teams Message Extension | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/extend-m365-teams-message-extension.md | The process to update your search-based Teams message extension involves the fol > [!div class="checklist"] >-> * Update your app manifest. +> * Update your app manifest (previously called Teams app manifest). > * Add the Microsoft 365 channel for your bot. > * Sideload your updated app in Teams. To start with a [sample message extension](https://github.com/OfficeDev/TeamsFx- 1. Select **Command Palette...** under the View option or **Ctrl+Shift+P**. 1. Select **Teams: Create a New App**. 1. From the dropdown list that appears, select **Message Extension**.-1. Select **Custom Search Results** to download the sample code for a Teams message extension using the latest Teams app manifest. For more information, see [Teams developer manifest](../resources/schem). +1. Select **Custom Search Results** to download the sample code for a Teams message extension using the latest app manifest. For more information, see [app manifest](../resources/schem). :::image type="content" source="images/toolkit-palatte-search-sample.png" alt-text="Screenshot shows the Create a new Teams app VS Code command palette to list Teams sample options."::: To start with a [sample message extension](https://github.com/OfficeDev/TeamsFx- 1. Enter **Teams: Deploy** to deploy the sample code to the provisioned resources in Azure and start the app. Alternatively, you can select **Deploy** under **LIFECYCLE** section of the extension. 1. Select **Deploy**. -From here, you can skip ahead to [Add Microsoft 365 channel for your bot](#add-microsoft-365-channel-for-your-bot) to complete the final step of enabling the Teams message extension to work in Outlook. (The app manifest is already referencing the correct version, so no updates are necessary). +From here, you can skip ahead to [Add Microsoft 365 channel for your bot](#add-microsoft-365-channel-for-your-bot) to complete the final step of enabling the Teams message extension to work in Outlook. The app manifest is already referencing the correct version, so no updates are necessary. ## Update the app manifest -You need to use the Teams developer manifest schema version `1.13` (or higher) to enable your Teams message extension to run in Outlook. For more information on schema version, see [Teams developer manifest](../resources/schem). +You need to use the app manifest schema version `1.13` (or later) to enable your Teams message extension to run in Outlook. For more information on schema version, see [app manifest](../resources/schem). You have two options for updating your app manifest: # [Teams Toolkit](#tab/manifest-teams-toolkit) 1. Select **Command Palette...** under the View option or **Ctrl+Shift+P**.-1. Run the `Teams: Upgrade Teams manifest` command and select your app manifest file. Your app manifest files are updated with the latest changes. +1. Run the `Teams: Upgrade app manifest` command and select your app manifest file. Your app manifest files are updated with the latest changes. # [Manual steps](#tab/manifest-manual) -Open your Teams app manifest and update the `$schema` and `manifestVersion` with the following values: +Open your app manifest and update the `$schema` and `manifestVersion` with the following values: ```json { Open your Teams app manifest and update the `$schema` and `manifestVersion` with -If you used Teams Toolkit to create your message extension app, you can use it to validate the changes to your manifest file and identify any errors. Open the command palette (`Ctrl+Shift+P`) and find **Teams: Validate manifest file**. +If you used Teams Toolkit to create your message extension app, you can use it to validate the changes to your app manifest file and identify any errors. Open the command palette (`Ctrl+Shift+P`) and find **Teams: Validate manifest file**. ## Add Microsoft 365 channel for your bot Your message extension is listed, it opens an adjacent pane to display search re While your updated message extension continues to run in Teams with full [feature support for message extensions](/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions), there are limitations in this early preview of the Outlook-enabled experience to be aware of: -* Message extensions in Outlook are limited to the mail [*compose* context](/microsoftteams/platform/resources/schema/manifest-schema#composeextensions). Even if your Teams message extension includes `commandBox` as a *context* in its manifest, the current preview is limited to the mail composition (`compose`) option. Invoking a message extension from the global Outlook *Search* box isn't supported. +* Message extensions in Outlook are limited to the mail [*compose* context](/microsoftteams/platform/resources/schema/manifest-schema#composeextensions). Even if your Teams message extension includes `commandBox` as a *context* in its app manifest, the current preview is limited to the mail composition (`compose`) option. Invoking a message extension from the global Outlook *Search* box isn't supported. * [Action-based message extension](/microsoftteams/platform/messaging-extensions/how-to/action-commands/define-action-command?tabs=AS) commands aren't supported in Outlook. If your app has both search- and action-based commands, it surfaces in Outlook, but the action menu isn't available. * Insertion of more than five [Adaptive Cards](/microsoftteams/platform/task-modules-and-cards/cards/design-effective-cards?tabs=design) in an email isn't supported; Adaptive Cards v1.5 and later aren't supported. * [Card actions](/microsoftteams/platform/task-modules-and-cards/cards/cards-actions?tabs=json) of type `messageBack`, `imBack`, `invoke`, and `signin` aren't supported for inserted cards. Support is limited to `openURL`: when selected, the user is redirected to the specified URL in a new tab. |
platform | Extend M365 Teams Personal Tab | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/extend-m365-teams-personal-tab.md | Updating your Teams personal app to run in other Microsoft 365 applications invo > [!div class="checklist"] >-> * [Update your app manifest](#update-the-app-manifest). +> * [Update your app manifest (previously called Teams app manifest)](#update-the-app-manifest). > * [Update your Microsoft Teams JavaScript client library (TeamsJS) references](#update-teamsjs-references). > * [Amend your Content Security Policy headers](#configure-content-security-policy-headers). > * [Update your Microsoft Azure Active Directory (Azure AD) App Registration for Single Sign-On (SSO)](#update-azure-ad-app-registration-for-sso). To start with a personal tab that's already enabled to run in Teams, Outlook, an 1. Enter **Teams: Deploy** to deploy the sample code to the provisioned resources in Azure and start the app. Alternatively, you can select **Deploy** under the **LIFECYCLE** section of the extension. 1. Select **Deploy**. -From here, you can skip ahead to [sideload your app in Teams](#sideload-your-app-in-teams) and preview your app in Outlook and the Microsoft 365 app. (The app manifest and TeamsJS API calls have already been updated for Microsoft 365 app.) +From here, you can skip ahead to [sideload your app in Teams](#sideload-your-app-in-teams) and preview your app in Outlook and the Microsoft 365 app. The app manifest and TeamsJS API calls have already been updated for Microsoft 365 app. ### SharePoint Framework (SPFx) apps After you update TeamsJS references, [sideload your app in Teams](#sideload-your ## Update the app manifest -You need to use the Teams developer manifest schema version `1.13` (or higher) to enable your Teams personal tab to run in Outlook and Microsoft 365 app. For more information on schema version, see [Teams developer manifest](../resources/schem). +You need to use the app manifest schema version `1.13` (or later) to enable your Teams personal tab to run in Outlook and Microsoft 365 app. For more information on schema version, see [app manifest](../resources/schem). You have two options for updating your app manifest: You have two options for updating your app manifest: # [Manual steps](#tab/manifest-manual) -Open your Teams app manifest and update the `$schema` and `manifestVersion` manually with the appropriate version. Refer to [Teams developer manifest](../resources/schem) for version information: +Open your app manifest and update the `$schema` and `manifestVersion` manually with the appropriate version. Refer to [Teams developer manifest](../resources/schem) for version information: ```json { Open your Teams app manifest and update the `$schema` and `manifestVersion` manu -If you used Teams Toolkit to create your personal app, you can also use it to validate the changes to your manifest file and identify any errors. Open the command palette (`Ctrl+Shift+P`) and find **Teams: Validate manifest file**. +If you used Teams Toolkit to create your personal app, you can also use it to validate the changes to your app manifest file and identify any errors. Open the command palette (`Ctrl+Shift+P`) and find **Teams: Validate manifest file**. ## Update TeamsJS references -To run in Outlook and Microsoft 365 app, your app needs to refer to the npm package `@microsoft/teams-js@2.0.0` (or higher). While code with downlevel versions is supported in Outlook and Microsoft 365 app, deprecation warnings are logged, and support for downlevel versions of TeamsJS in Outlook and Microsoft 365 app will eventually cease. To determine the latest version of TeamsJS, see [TeamsJS GitHub repository](https://github.com/OfficeDev/microsoft-teams-library-js). +To run in Outlook and Microsoft 365 app, your app needs to refer to the npm package `@microsoft/teams-js@2.0.0` (or later). While code with downlevel versions is supported in Outlook and Microsoft 365 app, deprecation warnings are logged, and support for downlevel versions of TeamsJS in Outlook and Microsoft 365 app will eventually cease. To determine the latest version of TeamsJS, see [TeamsJS GitHub repository](https://github.com/OfficeDev/microsoft-teams-library-js). You can use Teams Toolkit to help identify and automate the required code changes to upgrade from 1.x TeamsJS versions to TeamsJS 2.x.x versions. Alternately, you can perform the same steps manually; refer to [TeamsJS library](../tabs/how-to/using-teams-client-library.md#whats-new-in-teamsjs-version-2xx) for details. 1. Open the *Command palette*: `Ctrl+Shift+P`. 1. Run the command `Teams: Upgrade Teams JS SDK and code references`. -Upon completion, your *package.json* file references `@microsoft/teams-js@2.0.0` (or higher) and your `*.js/.ts` and `*.jsx/.tsx` files are updated with: +Upon completion, your *package.json* file references `@microsoft/teams-js@2.0.0` (or later) and your `*.js/.ts` and `*.jsx/.tsx` files are updated with: > [!div class="checklist"] > If your app makes use of [Content Security Policy](https://developer.mozilla.org The final step to running your app in Microsoft 365 and Outlook is to sideload your updated personal tab [app package](..//concepts/build-and-test/apps-package.md) in Microsoft Teams. -1. Package your Teams application ([manifest](../resources/schem) and [app icons](/microsoftteams/platform/resources/schema/manifest-schema#icons)) in a zip file. If you used Teams Toolkit to create your app, you can easily do this using the **Zip Teams App Package** option in the **UTILITY** section of Teams Toolkit. Select the `manifest.json` file for your app and the appropriate environment. +1. Package your ([app manifest](../resources/schem) and [app icons](/microsoftteams/platform/resources/schema/manifest-schema#icons)) in a zip file. If you used Teams Toolkit to create your app, you can easily do this using the **Zip Teams App Package** option in the **UTILITY** section of Teams Toolkit. Select the `manifest.json` file for your app and the appropriate environment. :::image type="content" source="images/toolkit-zip-teams-app-package.png" alt-text="Screenshot shows the Zip Teams App Package option in Teams Toolkit extension for Visual Studio Code."::: |
platform | Overview | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/overview.md | -With the latest releases of [Microsoft Teams JavaScript client library](../tabs/how-to/using-teams-client-library.md) (TeamsJS version 2.0.0 and later), [Teams App manifest](../resources/schem), you can build and update Teams apps to run in other high-usage Microsoft 365 products and publish them to the Microsoft commercial marketplace ([Microsoft AppSource](https://appsource.microsoft.com/)) or your organization's private app store. +With the latest releases of [Microsoft Teams JavaScript client library](../tabs/how-to/using-teams-client-library.md) (TeamsJS version 2.0.0 and later), [app manifest (previously called Teams app manifest)](../resources/schem), you can build and update Teams apps to run in other high-usage Microsoft 365 products and publish them to the Microsoft commercial marketplace ([Microsoft AppSource](https://appsource.microsoft.com/)) or your organization's private app store. Extending your Teams app across Microsoft 365 provides a streamlined way to deliver cross-platform apps to an expanded user audience: from a single codebase, you can create app experiences tailored for Teams, Outlook, and Microsoft 365 app environments. End users don't have to leave the context of their work to use your app, and administrators benefit from a consolidated management and deployment workflow. The Teams app platform continues to evolve and expand holistically into the Micr | [**Link unfurling (including Stage View)**](../tabs/tabs-link-unfurling.md) | `composeExtensions.messageHandlers` | Web, Desktop | Web, Desktop | - | See notes on [link unfurling](extend-m365-teams-message-extension.md#link-unfurling) and [Stage View](extend-m365-teams-message-extension.md#stage-view)| | [**Adaptive Card Loop components**](./design-loop-components.md)|`composeExtensions.messageHandlers`|Web (preview), Desktop (preview) |Web (preview), Desktop (only for [new Outlook](https://support.microsoft.com/office/getting-started-with-the-new-outlook-for-windows-656bb8d9-5a60-49b2-a98b-ba7822bc7627) preview) |-| Viewable (not composable) in Teams/Outlook mobile preview (iOS, Android). See [notes](cards-loop-component.md).| | [**Stage View**](extend-m365-teams-message-extension.md#stage-view)|`composeExtensions.messageHandlers`|Web, Desktop, Mobile|Web (preview), Desktop (preview)|-| Viewable/actionable (not composable) in Outlook mobile preview (iOS, Android). See [notes](extend-m365-teams-message-extension.md#stage-view).|-| [**Office Add-ins**](/office/dev/add-ins/develop/json-manifest-overview) (preview) | `extensions` | - | Web, Desktop | - | Only available in [devPreview](../resources/schem) manifest version. See [notes](#office-add-ins-preview).| +| [**Office Add-ins**](/office/dev/add-ins/develop/json-manifest-overview) (preview) | `extensions` | - | Web, Desktop | - | Only available in [devPreview](../resources/schem) app manifest version. See [notes](#office-add-ins-preview).| Enrollment to [Microsoft 365 Targeted Release](/microsoft-365/admin/manage/release-options-in-office-365) and [Microsoft 365 Apps update channel](/deployoffice/change-update-channels) requires admin opt-in for the entire organization or selected users. Update channels are device specific and apply only to installations of Microsoft 365 running on Windows. > [!NOTE] > For more information on admin guidance and options for managing your extended Teams app, see [Teams apps that work on Outlook and Microsoft 365](/microsoft-365/admin/manage/teams-apps-work-on-outlook-and-m365). -For guidance about the Teams app manifest and TeamsJS versioning guidance, and further details about current Teams platform capability support across Microsoft 365, see the [Teams JavaScript client library overview](../tabs/how-to/using-teams-client-library.md). +For guidance about the app manifest and TeamsJS versioning guidance, and further details about current Teams platform capability support across Microsoft 365, see the [Teams JavaScript client library overview](../tabs/how-to/using-teams-client-library.md). ## Personal tabs and messaging extensions in Outlook and Microsoft 365 app You can also extend your search-based [Teams message extensions](extend-m365-tea :::image type="content" source="images/outlook-teams-messaging-ext.png" alt-text="The screenshot is an example that shows Message extension running in Outlook and Teams."::: -Link unfurling works in Outlook web and Windows environments the same way it does in Microsoft Teams without any further work than using Teams app manifest version 1.13 or later. You can also unfurl links with cards that launch Stage View. +Link unfurling works in Outlook web and Windows environments the same way it does in Microsoft Teams without any further work than using the app manifest version 1.13 or later. You can also unfurl links with cards that launch Stage View. :::image type="content" source="images/outlook-teams-link-unfurling.png" alt-text="The screenshot is an example that shows Link unfurling running in Outlook and Teams."::: -Build your app with the latest [Teams app manifest](../resources/schem) to benefit the latest consolidated Microsoft 365 app development process. Then deliver a streamlined deployment, installation, and admin experience for your customers that expands the reach and usage of your app. +Build your app with the latest [app manifest](../resources/schem) to benefit the latest consolidated Microsoft 365 app development process. Then deliver a streamlined deployment, installation, and admin experience for your customers that expands the reach and usage of your app. -## Use Teams app manifest across Microsoft 365 +## Use app manifest across Microsoft 365 -With an aim toward simplifying and streamlining the Microsoft 365 developer ecosystem, we're continuing to expand the Teams app manifest into other areas of Microsoft 365 with the following. +With an aim toward simplifying and streamlining the Microsoft 365 developer ecosystem, we're continuing to expand the app manifest into other areas of Microsoft 365 with the following. ### Office Add-ins (preview) You can now define and deploy Office Add-ins in the [developer preview version](../resources/schem) of the Microsoft Teams app manifest. Currently, this preview is limited to Outlook Add-ins running on subscription Microsoft 365 for Windows app. -For more information, see [Teams manifest for Office Add-ins (preview)](/office/dev/add-ins/develop/json-manifest-overview). +For more information, see [app manifest for Office Add-ins (preview)](/office/dev/add-ins/develop/json-manifest-overview). ## Microsoft commercial marketplace submission -Join the growing number of production Teams apps in the [Microsoft commercial marketplace](https://appsource.microsoft.com/) (Microsoft AppSource) store with expanded support for Outlook and Microsoft 365 audiences. The app [submission process for Teams apps enabled for Outlook and Microsoft 365](../concepts/deploy-and-publish/appsource/publish.md) is the same as for traditional Teams apps. The only difference is to use Teams app manifest [version 1.13](../tabs/how-to/using-teams-client-sdk.md) in your app package, which introduces support for Teams apps that run across Microsoft 365. +Join the growing number of production Teams apps in the [Microsoft commercial marketplace](https://appsource.microsoft.com/) (Microsoft AppSource) store with expanded support for Outlook and Microsoft 365 audiences. The app [submission process for Teams apps enabled for Outlook and Microsoft 365](../concepts/deploy-and-publish/appsource/publish.md) is the same as for traditional Teams apps. The only difference is to use app manifest [version 1.13](../tabs/how-to/using-teams-client-sdk.md) in your app package, which introduces support for Teams apps that run across Microsoft 365. After your app is published as a Microsoft 365-enabled Teams app, your app will be discoverable as an installable app in the Outlook and Microsoft 365 app stores, in addition to the Teams store. When running in Outlook and Microsoft 365 app, your app uses the same permissions granted in Teams. Teams admins can [manage access to Teams apps across Microsoft 365](/microsoftteams/manage-third-party-teams-apps) for users in their organization. |
platform | Publish | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/publish.md | Global admin can upload and pre-install the app package from [Microsoft admin](h ## Multitenant distribution -The [Microsoft commercial marketplace](https://appsource.microsoft.com/) (Microsoft AppSource) submission process for Teams apps enabled for Outlook and Microsoft 365 app is same as traditional Teams apps. The difference is you need to use Teams app manifest [version 1.13](../tabs/how-to/using-teams-client-library.md) in your app package, which introduces support for Teams apps that run across Microsoft 365. +The [Microsoft commercial marketplace](https://appsource.microsoft.com/) (Microsoft AppSource) submission process for Teams apps enabled for Outlook and Microsoft 365 app is same as traditional Teams apps. The difference is you need to use app manifest (previously called Teams app manifest) [version 1.13](../tabs/how-to/using-teams-client-library.md) in your app package, which introduces support for Teams apps that run across Microsoft 365. > [!TIP] > Use Teams Developer Portal to [validate your app package](https://dev.teams.microsoft.com/validation) to resolve any errors or warnings before submitting it to the Teams store (through [Microsoft Partner Network](https://partner.microsoft.com/)). |
platform | Teamsjs Support M365 | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/teamsjs-support-m365.md | Title: Teams JavaScript client library support across Microsoft 365 + Title: The Teams JavaScript client library support across Microsoft 365 date: 06/26/2023 The following table lists host application support for TeamsJS capabilities that <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> </tr> <tr> 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>- <td>✓*</td> + <td>✓</td> <td>✓*</td> </tr> <tr> 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> The following table lists host application support for TeamsJS capabilities that <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 <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> </tr> <tr> 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> The following table lists host application support for TeamsJS capabilities that <td></td> <td></td> </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> + <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> <td></td> <td></td> The `app` namespace is supported globally across all application hosts and, ther <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> </tr> </tbody> The `authentication` namespace is supported globally across all application host <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> </tr> </tbody> Namespace providing calendar-related functionality. <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 task modules (dia <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 task modules (dia <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> <td></td> Preview. This group of capabilities enables apps to show modal task modules (dia <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> Preview. This group of capabilities enables apps to show modal task modules (dia <td>✓</td> <td>✓*</td> <td></td>- <td>✓</td> + <td>✓*</td> <td></td> <td>✓</td> <td></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> Prior to TeamsJS version 2.0, all deep linking scenarios were handled using `sha <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> </tr> <tr> Prior to TeamsJS version 2.0, all deep linking scenarios were handled using `sha <td>✓</td> <td></td> <td></td>- <td>✓*</td> + <td>✓</td> <td>✓*</td> </tr> <tr> Preview. Namespace providing for profile-related functionality. <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 <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> |
platform | Developer Preview Intro | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/dev-preview/developer-preview-intro.md | Developer Preview is a public program for developers, which provides early acces ## Developer preview app manifest -Many features enabled in developer preview require alterations to your app manifest JSON file. To do so, you need to use the [developer preview manifest schema](~/resources/schem) to make these changes, nor you can use it to upload your app for testing. To upload your app, you need to select the `More apps` icon on the app bar, then select the `Upload a custom app link`. Using this method, you can only upload a zipped version of your app package. +Many features enabled in developer preview require alterations to your app manifest (previously called Teams app manifest) JSON file. To do so, you need to use the [developer preview app manifest schema](~/resources/schem) to make these changes, nor you can use it to upload your app for testing. To upload your app, you need to select the `More apps` icon on the app bar, then select the `Upload a custom app link`. Using this method, you can only upload a zipped version of your app package. You may find it useful to use Developer Portal for Teams to create the non-developer preview portions of your app package, then export that package and manually edit the `manifest.json` file to add the developer preview features you wish to use. Once you've added developer preview features to the `manifest.json` file, you can't reimport the package into Developer Portal for Teams. |
platform | Manifest Schema Dev Preview | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema-dev-preview.md | -# Public developer preview manifest schema for Teams +# Public developer preview app manifest schema For information on how to enable developer preview, see [public developer preview for Microsoft Teams](~/resources/dev-preview/developer-preview-intro.md). > [!NOTE]-> If you aren't using developer preview features, including running [Teams personal tabs and message extensions in Outlook and Microsoft 365 app](../../m365-apps/overview.md), use the [app manifest for GA features](~/resources/schem) instead. +> If you aren't using developer preview features, including running [Teams personal tabs and message extensions in Outlook and Microsoft 365 app](../../m365-apps/overview.md), use the [app manifest](~/resources/schem) (previously called Teams app manifest) for generally available (GA) features instead. -The Microsoft Teams manifest describes how the app integrates into the Microsoft Teams platform. Your manifest must conform to the schema hosted at [`https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json`](https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json). +The app manifest describes how the app integrates into the Microsoft Teams platform. Your app manifest must conform to the schema hosted at [`https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json`](https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json). -## Sample manifest +## Sample app manifest ```json { The schema defines the following properties: *Optional, but recommended* – String -The `https://` URL referencing the JSON Schema for the manifest. +The `https://` URL referencing the JSON Schema for the app manifest. ## manifestVersion **Required**ΓÇöString -The version of the manifest schema this manifest is using. +The version of the app manifest schema this manifest is using. ## version **Required**ΓÇöString -The version of the specific app. If you update something in your manifest, the version must be incremented as well. This way, when the new manifest is installed, it overwrites the existing one and the user gets the new functionality. If this app was submitted to the store, the new manifest has to be resubmitted and revalidated. Then, users of this app will get the new updated manifest automatically in a few hours, after it's approved. +The version of the specific app. If you update something in your app manifest, the version must be incremented as well. This way, when the new app manifest is installed, it overwrites the existing one and the user gets the new functionality. If this app was submitted to the store, the new app manifest has to be resubmitted and revalidated. Then, users of this app will get the new updated app manifest automatically in a few hours, after it's approved. If the app requested permissions change, users are prompted to upgrade and re-consent to the app. Allows the specification of a default language, and pointers to additional langu |Name| Maximum size | Required | Description| |||||-|`defaultLanguageTag`|4 characters|Γ£ö∩╕Å|The language tag of the strings in this top level manifest file.| +|`defaultLanguageTag`|4 characters|Γ£ö∩╕Å|The language tag of the strings in this top level app manifest file.| ### localizationInfo.additionalLanguages Optional: Defines a message extension for the app. > [!NOTE]-> The name of the feature was changed from "compose extension" to "message extension" in November, 2017, but the manifest name remains the same so that existing extensions continue to function. +> The name of the feature was changed from "compose extension" to "message extension" in November, 2017, but the app manifest name remains the same so that existing extensions continue to function. The object is an array (maximum of 1 element) with all elements of type `object`. This block is required only for solutions that provide a message extension. Specify meeting extension definition. For more information, see [custom Together **Optional**ΓÇöobject > [!NOTE]-> `authorization` is only supported for manifest version 1.12 or later. +> `authorization` is only supported for the app manifest version 1.12 or later. Specify and consolidate authorization related information for the app. |
platform | Manifest Schema | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema.md | ms.localizationpriority: high Last updated 02/09/2023 -# App manifest schema for Teams +# App manifest schema -The Microsoft Teams app manifest describes how your app integrates into the Microsoft Teams product. Your app manifest must conform to the schema hosted at [`https://developer.microsoft.com/json-schemas/teams/v1.16/MicrosoftTeams.schema.json`](https://developer.microsoft.com/json-schemas/teams/v1.16/MicrosoftTeams.schema.json). Previous versions 1.0, 1.1,...,1.15, and the current version is 1.16 are each supported (using "v1.x" in the URL). -For more information on the changes made in each version, see [manifest change log](https://github.com/OfficeDev/microsoft-teams-app-schema/releases). +The app manifest (previously called Teams app manifest) describes how your app integrates into the Microsoft Teams product. Your app manifest must conform to the schema hosted at [`https://developer.microsoft.com/json-schemas/teams/v1.16/MicrosoftTeams.schema.json`](https://developer.microsoft.com/json-schemas/teams/v1.16/MicrosoftTeams.schema.json). Previous versions 1.0, 1.1,...,1.15, and the current version is 1.16 are each supported (using "v1.x" in the URL). +For more information on the changes made in each version, see [app manifest change log](https://github.com/OfficeDev/microsoft-teams-app-schema/releases). The following table lists TeamsJS version and app manifest versions as per different app scenarios: [!INCLUDE [pre-release-label](~/includes/teamjs-version-details.md)] > [!NOTE]-> If your Teams app is using the manifest version 1.13 or later, ensure that your app meets the criteria to [extend your app to run across Microsoft 365 or Outlook](../../m365-apps/extend-m365-teams-personal-tab.md). +> If your Teams app is using the app manifest version 1.13 or later, ensure that your app meets the criteria to [extend your app to run across Microsoft 365 or Outlook](../../m365-apps/extend-m365-teams-personal-tab.md). -The following is the sample manifest schema: +The following is the sample app manifest schema: -## Sample manifest +## Sample app manifest ```json { The schema defines the following properties: Optional, but recommended—string -The https:// URL referencing the JSON Schema for the manifest. +The https:// URL referencing the JSON Schema for the app manifest. ## manifestVersion **Required**—String -The version of the manifest schema that this manifest is using. Use `1.13` to enable Teams app support in Outlook and Microsoft 365 app; use `1.12` (or earlier) for Teams-only apps. +The version of the app manifest schema that this manifest is using. Use `1.13` to enable Teams app support in Outlook and Microsoft 365 app; use `1.12` (or earlier) for Teams-only apps. ## version **Required**—String -The version of a specific app. When you update something in your manifest, the version must be incremented too. This way, when the new manifest is installed, it overwrites the existing one and the user receives the new functionality. When this app was submitted to the store, the new manifest must be resubmitted and revalidated. The app users receive the new updated manifest automatically within few hours after the manifest is approved. +The version of a specific app. When you update something in your app manifest, the version must be incremented too. This way, when the new app manifest is installed, it overwrites the existing one and the user receives the new functionality. When this app was submitted to the store, the new app manifest must be resubmitted and revalidated. The app users receive the new updated app manifest automatically within few hours after the app manifest is approved. If the app requests for permissions change, the users are prompted to upgrade and reconsent to the app. The ID is a unique Microsoft-generated identifier for the app. You have an ID if The ID stored in Teams Admin Center is the **External App ID** and it's visible as **ExternalID** on the traces. > [!NOTE]-> If you are submitting an update to your existing app in AppSource, the ID in your manifest must not be modified. +> If you are submitting an update to your existing app in AppSource, the ID in your app manifest must not be modified. ## developer Allows the specification of a default language and provides pointers to more lan |Name| Maximum size | Required | Description| |||||-|`defaultLanguageTag`||✔️|The language tag of the strings in this top-level manifest file.| +|`defaultLanguageTag`||✔️|The language tag of the strings in this top-level app manifest file.| ### localizationInfo.additionalLanguages The value must be a valid HTML color code starting with '#', for example `#4464e **Optional**—Array -Used when your app experience has a team channel tab experience that requires extra configuration before it's added. Configurable tabs are supported only in the `team` and `groupChat` scopes and you can configure the same tabs multiple times. However, you can define it in the manifest only once. +Used when your app experience has a team channel tab experience that requires extra configuration before it's added. Configurable tabs are supported only in the `team` and `groupChat` scopes and you can configure the same tabs multiple times. However, you can define it in the app manifest only once. |Name| Type| Maximum size | Required | Description| |||||| The object is an array (maximum of one element) with all elements of type `objec Defines a message extension for the app. > [!NOTE]-> The name of the feature was changed from "compose extension" to "message extension" in November, 2017, but the manifest name remains the same so that existing extensions continue to function. +> The name of the feature was changed from "compose extension" to "message extension" in November, 2017, but the app manifest name remains the same so that existing extensions continue to function. The item is an array (maximum of one element) with all elements of type `object`. This block is required only for solutions that provide a message extension. Specify meeting extension definition. For more information, see [custom Together **Optional**—Object > [!NOTE]-> `authorization` is only supported for manifest version 1.12 or later. +> `authorization` is only supported for the app manifest version 1.12 or later. Specify and consolidate authorization related information for the app. Delegated permissions allow the app to access data on behalf of the signed-in us |`MicrophoneStream.Read.User`| Allows the app to read user's microphone stream.| |`MeetingParticipantReaction.Read.User`| Allows the app to read user's reactions while participating in a meeting.| -## Create a manifest file +## Create an app manifest file -If your app doesn't have a Teams app manifest file, you need to create it. +If your app doesn't have an app manifest file, you need to create it. -To create a Teams app manifest file: +To create an app manifest file: -1. Use the [sample manifest schema](#sample-manifest) to create a .json file. +1. Use the [sample app manifest schema](#sample-app-manifest) to create a .json file. 1. Save it in the root of your project folder as `manifest.json`. <br> <details>-<summary>Here's an example of manifest schema for a tab app with SSO enabled:</summary> +<summary>Here's an example of the app manifest schema for a tab app with SSO enabled:</summary> <br> > [!NOTE]-> The manifest example content shown here is only for a tab app. It uses example values for subdomain URI. For more information, see [sample manifest schema](#sample-manifest). +> The app manifest example content shown here is only for a tab app. It uses example values for subdomain URI. For more information, see [sample app manifest schema](#sample-app-manifest). ```json { To create a Teams app manifest file: * [Enable app customization](~/concepts/design/enable-app-customization.md) * [Localize your app](~/concepts/build-and-test/apps-localization.md) * [Integrate media capabilities](~/concepts/device-capabilities/media-capabilities.md)-* [Public developer preview manifest schema for Microsoft Teams](manifest-schema-dev-preview.md) +* [Public developer preview app manifest schema](manifest-schema-dev-preview.md) |
platform | Deploy Collaboration Control In Teams | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/samples/deploy-collaboration-control-in-teams.md | To add the app to Teams, select **Add to Teams**. :::image type="content" source="../assets/images/collaboration-control/add-to-teams.png" alt-text="Add to Teams."::: -Selecting **Add to Teams** opens a dialog where you can review the details and select **Download app**, which saves the Microsoft Teams app manifest to your device. +Selecting **Add to Teams** opens a dialog where you can review the details and select **Download app**, which saves the app manifest (previously called Teams app manifest) to your device. :::image type="content" source="../assets/images/collaboration-control/colab-manager-inspection.png" alt-text="The screenshot is an example that shows the collaboration manager inspection."::: |
platform | Tab Sso Manifest | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/authentication/tab-sso-manifest.md | ms.localizationpriority: high keywords: teams authentication tabs Microsoft Azure Active Directory (Azure AD) Graph API Last updated 11/21/2022 -# Update manifest for SSO and preview app +# Update app manifest for SSO and preview app -Before you update Teams app manifest, ensure that you've configured code to enable SSO in your tab app. +Before you update the app manifest (previously called Teams app manifest), ensure that you've configured code to enable SSO in your tab app. > [!div class="nextstepaction"] > [Configure code](tab-sso-code.md) -You've registered your tab app in Azure AD, and obtained an app ID. You've also configured your code to call `getAuthToken()` and handle the access token. Now, you must update the Teams app manifest to enable SSO for your tab app. The Teams app manifest describes how an app integrates into Teams. +You've registered your tab app in Azure AD, and obtained an app ID. You've also configured your code to call `getAuthToken()` and handle the access token. Now, you must update the app manifest to enable SSO for your tab app. The app manifest describes how an app integrates into Teams. ## webApplicationInfo property -Configure the `webApplicationInfo` property in the Teams app manifest file. This property enables SSO for your app to help app users access your tab app seamlessly. +Configure the `webApplicationInfo` property in the app manifest file. This property enables SSO for your app to help app users access your tab app seamlessly. - :::image type="content" source="../../../assets/images/authentication/teams-sso-tabs/sso-manifest.png" alt-text="Teams app manifest configuration"::: + :::image type="content" source="../../../assets/images/authentication/teams-sso-tabs/sso-manifest.png" alt-text="Screenshot shows the app manifest configuration."::: `webApplicationInfo` has two elements, `id` and `resource`. Configure the `webApplicationInfo` property in the Teams app manifest file. This | resource | Enter your app's subdomain URI and the application ID URI that you created in Azure AD when creating scope. You can copy it from the **Azure AD** > **Expose an API** section. | > [!NOTE]-> Use manifest version 1.5 or higher to implement the `webApplicationInfo` property. +> Use the app manifest version 1.5 or later to implement the `webApplicationInfo` property. -The application ID URI that you registered in Azure AD is configured with the scope of the API you exposed. Configure your app's subdomain URI in `resource` to ensure that the authentication request using `getAuthToken()` is from the domain given in Teams app manifest. +The application ID URI that you registered in Azure AD is configured with the scope of the API you exposed. Configure your app's subdomain URI in `resource` to ensure that the authentication request using `getAuthToken()` is from the domain given in the app manifest. For more information, see [webApplicationInfo](../../../resources/schem#webapplicationinfo). -## To configure Teams app manifest +## To configure app manifest 1. Open the tab app project.-2. Open the manifest folder. +2. Open the app manifest folder. > [!NOTE] >- > - The manifest folder should be at the root of your project. For more information, see [Create a Microsoft Teams app package](../../../concepts/build-and-test/apps-package.md). - > - For more information on learning how to create a manifest.json, see [Reference: Manifest schema for Microsoft Teams](../../../resources/schem). + > - The app manifest folder should be at the root of your project. For more information, see [Create a Microsoft Teams app package](../../../concepts/build-and-test/apps-package.md). + > - For more information on learning how to create a manifest.json, see [the app manifest schema](../../../resources/schem). 1. Open the `manifest.json` file-1. Add the following code snippet to the manifest file to add the new property: +1. Add the following code snippet to the app manifest file to add the new property: ```json "webApplicationInfo": For more information, see [webApplicationInfo](../../../resources/schema/manifes 1. `contentUrl` 2. `configurationUrl` 3. `validDomains`-6. Save the Teams app manifest file. For more information, see [app manifest](../../../resources/schem). +6. Save the app manifest file. For more information, see [app manifest](../../../resources/schem). <br> <details>-<summary>Here's an example of app manifest after it's updated</summary> +<summary>Here's an example of the app manifest after it's updated</summary> ```json { For more information, see [webApplicationInfo](../../../resources/schema/manifes ## Sideload and Preview in Teams -You've configured the tab app to enable SSO in Azure AD, in app code, and in Teams manifest file. You can now sideload your tab app in Teams, and preview it in Teams environment. +You've configured the tab app to enable SSO in Azure AD, in app code, and in the app manifest file. You can now sideload your tab app in Teams, and preview it in Teams environment. :::image type="content" source="../../../assets/images/authentication/teams-sso-tabs/sso-flow.png" alt-text="SSO app"::: To preview your tab app in Teams: ## See also -- [Manifest schema for Microsoft Teams](../../../resources/schem)-- [Manifest schema format](https://developer.microsoft.com/json-schemas/teams/v1.12/MicrosoftTeams.schema.json)+- [App manifest schema](../../../resources/schem) +- [App manifest schema format](https://developer.microsoft.com/json-schemas/teams/v1.12/MicrosoftTeams.schema.json) - [Create a Microsoft Teams app package](../../../concepts/build-and-test/apps-package.md) |
platform | Tab Sso Register Aad | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/authentication/tab-sso-register-aad.md | To create and configure your app in Azure AD for enabling SSO: You can configure your tab app in Azure AD to configure the scope and permissions for access tokens. -You'll need to register your app in Azure AD and configure the tenancy and app's platform, before you can enable it for SSO. Azure AD generates a new app ID that you must note. You'll need to update it later in the Teams app manifest file. +You'll need to register your app in Azure AD and configure the tenancy and app's platform, before you can enable it for SSO. Azure AD generates a new app ID that you must note. You'll need to update it later in the app manifest (previously called Teams app manifest) file. > [!NOTE] > Microsoft Teams Toolkit registers the Azure AD application in an SSO project. You can skip this section if you've used Teams Toolkit to create your app. However, you would need to configure permissions and scope, and trust client applications. You'll need to register your app in Azure AD and configure the tenancy and app's :::image type="content" source="../../../assets/images/authentication/teams-sso-tabs/tab-app-created.png" alt-text="App registration is successful."::: -8. Note and save the app ID from **Application (client) ID**. You'll need it for updating the Teams app manifest later. +8. Note and save the app ID from **Application (client) ID**. You'll need it for updating the app manifest later. Your app is registered in Azure AD. You now have app ID for your tab app. To configure scope and authorize trusted client applications, you'll need: :::image type="content" source="../../../assets/images/authentication/teams-sso-tabs/app-id-uri-added.png" alt-text="Application ID URI updated"::: -1. Note and save the Application ID URI. You'll need it for updating the Teams app manifest later. +1. Note and save the Application ID URI. You'll need it for updating the app manifest later. #### To configure API scope You've successfully configured app scope, permissions, and client applications. ### Configure access token version -You must define the access token version for your app. This configuration is made in the Azure AD application manifest. +You must define the access token version for your app. This configuration is made in the Azure AD application app manifest. #### To define the access token version You must define the access token version for your app. This configuration is mad :::image type="content" source="../../../assets/images/authentication/teams-sso-tabs/azure-portal-manifest.png" alt-text="Azure AD portal Manifest"::: - The Azure AD application manifest appears. + The Azure AD application app manifest appears. 1. Enter **2** as the value for the `accessTokenAcceptedVersion` property. You must define the access token version for your app. This configuration is mad 1. Select **Save** - A message pops up on the browser stating that the manifest was updated successfully. + A message pops up on the browser stating that the app manifest was updated successfully. :::image type="content" source="../../../assets/images/authentication/teams-sso-tabs/update-aad-manifest-msg.png" alt-text="Manifest updated message"::: |
platform | Tab Sso Troubleshooting | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md | For more information on application ID URI, see [To expose an API](tab-sso-regis <details> <summary>7. Error: Generic error when running the tab app.</summary> <br>-A generic error may show up when one or more of app configurations made in Azure AD are incorrect. To resolve this error, check if the app details configured in your code and Teams manifest matches the values in Azure AD. +A generic error may show up when one or more of app configurations made in Azure AD are incorrect. To resolve this error, check if the app details configured in your code and the app manifest (previously called Teams app manifest) matches the values in Azure AD. The following image shows an example of the app details configured in Azure AD. :::image type="content" source="../../../assets/images/authentication/teams-sso-tabs/azure-app-details.png" alt-text="App configuration values in Azure AD"::: -Check that the following values match between Azure AD, client-side code, and Teams app manifest: +Check that the following values match between Azure AD, client-side code, and app manifest: -- **App ID**: The app ID you generated in Azure AD should be the same in the code and in Teams manifest file. Check the app ID in Teams manifest matches the **Application (client) ID** in Azure AD.+- **App ID**: The app ID you generated in Azure AD should be the same in the code and in the app manifest file. Check if the app ID in the app manifest schema matches the **Application (client) ID** in Azure AD. - **App secret**: The app secret configured in the backend of your app should match the **Client credentials** in Azure AD. You should also check if the client secret is expired. -- **Application ID URI**: The app ID URI in the code and in Teams app manifest file should match the **Application ID URI** in Azure AD.+- **Application ID URI**: The app ID URI in the code and in the app manifest file should match the **Application ID URI** in Azure AD. - **App permissions**: Check if the permissions you defined in the scope are as per your app requirement. If so, check if they had been granted to the user in the access token. |
platform | Using Teams Client Library | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/how-to/using-teams-client-library.md | Enabling an existing Teams app to run in Outlook and Microsoft 365 requires all 2. [Modifying existing application code](#2-update-teamsjs-references) according to the required changes described in this article, and -3. [Updating your app manifest](#3-update-the-manifest-optional) to version 1.13 or later. +3. [Updating your app manifest](#3-update-the-app-manifest-optional) (previously called Teams app manifest) to version 1.13 or later. For more info, see [Extend Teams apps across Microsoft 365](../../m365-apps/overview.md). After completion, the utility will have updated your `package.json` file with th > [!IMPORTANT] > Code inside html files is not supported by the upgrade tooling and will require manual changes. -### 3. Update the manifest (optional) +### 3. Update the app manifest (optional) If you're updating a Teams app to run in Microsoft 365 app and Outlook, you'll also need to update the app manifest to version 1.13 or later. You can do this easily with Teams Toolkit, or manually. If you're updating a Teams app to run in Microsoft 365 app and Outlook, you'll a # [Manual steps](#tab/manifest-manual) -Open your Teams app manifest and update the `$schema` and `manifestVersion` with the following values: +Open your app manifest and update the `$schema` and `manifestVersion` with the following values: ```json { Open your Teams app manifest and update the `$schema` and `manifestVersion` with -If you used Teams Toolkit to create your personal app, you can also use it to validate the changes to your manifest file and identify any errors. Open the command palette `Ctrl+Shift+P` and find **Teams: Validate manifest file** or select the option from the Deployment menu of the Teams Toolkit (look for the Teams icon on the left side of Visual Studio Code). +If you used Teams Toolkit to create your personal app, you can also use it to validate the changes to your app manifest file and identify any errors. Open the command palette `Ctrl+Shift+P` and find **Teams: Validate manifest file** or select the option from the Deployment menu of the Teams Toolkit (look for the Teams icon on the left side of Visual Studio Code). :::image type="content" source="../../m365-apps/images/toolkit-validate-manifest-file.png" alt-text="Teams Toolkit 'Validate manifest file' option under 'Deployment' menu"::: |
platform | Send Activity Feed Notification | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/tabs/send-activity-feed-notification.md | The Microsoft Teams activity feed enables users to triage items that require att * Notification content is highly customizable, allowing users to preview the summary of the notified events. * You can deep link your app to a notification so that when a user selects the notification it increases user app engagement. * You can send activity feed notification to various recipients. For example, sending a personal notification or sending batch notifications to a group of users.-* Teams manifest localization supports the templated text in activity feed notifications. +* App manifest (previously called Teams app manifest) localization supports the templated text in activity feed notifications. ## Understand the basics of activity feed notifications The following variants show the kinds of activity feed notification cards you ca Activity feed APIs work with a Teams app. The following are the requirements for sending activity feed notifications: -* The Teams app manifest must have the Azure AD app ID added to the webApplicationInfo section. For more information, see [manifest schema](../resources/schem#webapplicationinfo). -* Activity types must be declared in the activities section. For more information, see [manifest schema](../resources/schem#activities). +* The app manifest must have the Azure AD app ID added to the webApplicationInfo section. For more information, see [app manifest schema](../resources/schem#webapplicationinfo). +* Activity types must be declared in the activities section. For more information, see [app manifest schema](../resources/schem#activities). * The Teams app must be installed for the recipient, either personally, or in a team or chat they're part of. -### Teams app manifest changes +### App manifest changes -This section describes the changes that need to be added to Teams app manifest. Ensure that you use the [Teams app manifest](/microsoftteams/platform/resources/schema/manifest-schema) version `1.7` or greater. +This section describes the changes that need to be added to the app manifest. Ensure that you use the [app manifest](/microsoftteams/platform/resources/schema/manifest-schema) version `1.7` or later. ```json "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.7/MicrosoftTeams.schema.json", This section describes the changes that need to be added to Teams app manifest. |Parameter|Type|Description| |:|:|:|-|type|string|Type of activity. This needs to be unique in a specific manifest.| +|type|string|Type of activity. This needs to be unique in a specific app manifest.| |description|string|Human-readable short description. This is visible on the Microsoft Teams client.| |templateText|string|Template text for the activity notification. You can declare your parameters by encapsulating parameters in `{}`.| You can use Activity feed notification in the following scenarios: * Show rich content in Tab app or URLΓÇï. * Support complex user interactionsΓÇï. * Send delegated notifications from the user who initiated the notificationΓÇï.-* Put template in the manifestΓÇï. +* Put template in the app manifestΓÇï. * Teams handles localization for notifications. > [!NOTE] Microsoft Teams users can customize the notifications they see in their feed or :::image type="content" source="../assets/images/activity-feed/notification-settings.png" alt-text="Screenshot shows the Notifications settings in Teams, with the Custom option highlighted."::: -Users can select **Edit** next to an app and customize the notifications. The Teams app manifest displays the `description` field. +Users can select **Edit** next to an app and customize the notifications. The app manifest displays the `description` field. :::image type="content" source="../assets/images/activity-feed/app-level-notification-settings.png" alt-text="Screenshot shows notifications customized to Banner and feed for a Teams app."::: |
platform | Teamsfx Preview And Customize App Manifest | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/TeamsFx-preview-and-customize-app-manifest.md | Title: Customize Teams App Manifest in Teams Toolkit + Title: Customize app manifest in Teams Toolkit -description: In this module, learn how to edit, preview, and customize Teams App Manifest in different environment. +description: In this module, learn how to edit, preview, and customize app manifest in different environment. ms.localizationpriority: medium Last updated 05/13/2022 zone_pivot_groups: teams-toolkit-platform -# Customize Teams app manifest +# Customize app manifest ::: zone pivot="visual-studio-code-v5" -The Teams app manifest describes how your app integrates into Teams. After scaffolding, the default manifest file is available at `appPackage/manifest.json`. The manifest file contains some environment variables with format of `${{XX_XX}}`, and the actual values are resolved using Teams Toolkit with env files like `env/.env.dev` and `env/.env.local`. +App manifest (previously called Teams app manifest) describes how your app integrates into Teams. After scaffolding, the default app manifest file is available at `appPackage/manifest.json`. The app manifest file contains some environment variables with format of `${{XX_XX}}`, and the actual values are resolved using Teams Toolkit with env files like `env/.env.dev` and `env/.env.local`. -To preview manifest with actual content, Teams Toolkit generates preview manifest files under `appPackage/build` folder: +To preview app manifest with actual content, Teams Toolkit generates the preview app manifest files under `appPackage/build` folder: ```text ΓööΓöÇΓöÇΓöÇappPackage To preview manifest with actual content, Teams Toolkit generates preview manifes ΓööΓöÇΓöÇΓöÇmanifest.local.json - Previewed manifest of local Teams app ``` -You can preview the manifest file in local and remove environments. +You can preview the app manifest file in local and remove environments. -## Preview manifest file in local environment +## Preview the app manifest file in local environment -To preview manifest file in local environment, you can press F5 to run local debug. After you generate the environment variables in `env/.env.local`, the app package and preview manifest is built under `appPackage/build` folder. +To preview the app manifest file in local environment, you can press F5 to run local debug. After you generate the environment variables in `env/.env.local`, the app package and the preview app manifest is built under `appPackage/build` folder. -You can also trigger `Zip Teams App Package` from tree view or `Teams: Zip Teams app Package` from command palette to generate previewed manifest and app package. +You can also trigger `Zip Teams App Package` from tree view or `Teams: Zip Teams app Package` from command palette to generate the previewed app manifest and app package. :::image type="content" source="../assets/images/teams-toolkit-v2/customize app manifest/zip-app-package.png" alt-text="Screenshot showing the selection of zip Teams App package."::: -## Preview manifest file in remote environment +## Preview the app manifest file in remote environment -To preview manifest file in remote environment, you can trigger `Provision` from tree view or `Teams: Provision in the cloud` from command palette. It generates environment variables for remote Teams app, build app package and preview manifest under `appPackage/build` folder. +To preview the app manifest file in remote environment, you can trigger `Provision` from tree view or `Teams: Provision in the cloud` from command palette. It generates environment variables for remote Teams app, build app package and the preview app manifest under `appPackage/build` folder. -You can also trigger Zip Teams App Package from tree view or `Teams: Zip Teams app Package` from command palette to generate preview manifest and app package. +You can also trigger Zip Teams App Package from tree view or `Teams: Zip Teams app Package` from command palette to generate the preview app manifest and app package. -## Customize Teams app manifest for Visual Studio Code +## Customize the app manifest for Visual Studio Code -During local debug or provision, Teams Toolkit loads manifest from `appPackage/manifest.json`, and resolves manifest by environment variables defined in `env/.env.xx`, then creates or updates Teams app in [Teams Developer Portal](https://dev.teams.microsoft.com/home). +During local debug or provision, Teams Toolkit loads app manifest from `appPackage/manifest.json` and resolves app manifest by environment variables defined in `env/.env.xx`, then creates or updates Teams app in [Teams Developer Portal](https://dev.teams.microsoft.com/home). 1. You can define your own manifest.json file in `teamsapp.yml` and `teamsapp.local.yml`.-For example, you can put your manifest.json file in `test/test.json`, and update `manifestPath` parameters in yaml files. +For example, you can put your manifest.json file in `test/test.json`, and update the `manifestPath` parameters in yaml files. ```text - uses: teamsApp/zipAppPackage # Build Teams app package with latest env value For example, you can put your manifest.json file in `test/test.json`, and update outputJsonPath: ./appPackage/build/manifest.${{TEAMSFX_ENV}}.json ``` -1. You can define your own environment variables. The default manifest.json contains some placeholders with format of ${{xx_xx}}. You can define your own environment variables and add placeholders in manifest.json file. +1. You can define your own environment variables. The default manifest.json contains some placeholders with format of ${{xx_xx}}. You can define your own environment variables and add placeholders in the manifest.json file. For example, you can customize app description by defining a new environment variable in env/.env.xx file, and update manifest.json with corresponding placeholder. `.env.dev` For example, you can customize app description by defining a new environment var ## Validate Application -After customization, you may want to validate your manifest or app package. You can trigger `Validate Application` from tree view, or `Teams: ValidateApplication` from command palette. There are two options, `Validate using manifest schema` or `Validate app package using validation rules`. +After customization, you may want to validate your app manifest or app package. You can trigger `Validate Application` from tree view, or `Teams: ValidateApplication` from command palette. There are two options, `Validate using manifest schema` or `Validate app package using validation rules`. :::image type="content" source="../assets/images/teams-toolkit-v2/customize app manifest/validate-application.png" alt-text="Screenshot showing the selection of validate application under utility."::: -### Validate using manifest schema +### Validate using the app manifest schema -This option renders `appPackage/manifest.json` with environment variables, and then validates your manifest with its schema. +This option renders `appPackage/manifest.json` with environment variables, and then validates your app manifest with its schema. :::image type="content" source="../assets/images/teams-toolkit-v2/customize app manifest/validate-schema.png" alt-text="Screenshot showing the selection of validate using manifest schema."::: CLI command: teamsfx validate --app-package-file-path YOUR-PATH-TO-APP-PACKAGE ``` -It has additional validation rules than manifest schema. For example, if static tab section has entityId "conversations" and name, the following error appears: +It has additional validation rules than the app manifest schema. For example, if static tab section has entityId "conversations" and name, the following error appears: :::image type="content" source="../assets/images/teams-toolkit-v2/customize app manifest/validation-output.png" alt-text="Screenshot showing the validation output."::: ## Update Teams app -After you've previewed and validated the manifest file, you can sync your local changes to Teams Developer Portal by triggering `Teams: Update Teams app` command from command palette: +After you've previewed and validated the app manifest file, you can sync your local changes to Teams Developer Portal by triggering `Teams: Update Teams app` command from command palette: :::image type="content" source="../assets/images/teams-toolkit-v2/customize app manifest/update-teams-app.png" alt-text="Screenshot showing the selection of Teams update Teams app."::: teamsfx update teams-app > [!NOTE] > The change is reflected in Developer Portal. Any manual updates in Developer Portal are overwritten. -If the manifest file is outdated due to configuration file change or template change, select any one of the following actions: +If the app manifest file is outdated due to configuration file change or template change, select any one of the following actions: -* Preview only: Local manifest file is overwritten according to current configuration. -* Preview and update: Local manifest file is overwritten according to current configuration and also updated to Teams platform. +* Preview only: Local app manifest file is overwritten according to current configuration. +* Preview and update: Local app manifest file is overwritten according to current configuration and also updated to Teams platform. * Cancel: No action is taken. ## To preview values for local and dev environment To preview values for all the environment, you can hover over the placeholder. I ## See also * [Teams Toolkit Overview](teams-toolkit-fundamentals.md).-* [App manifest schema for Teams](../resources/schem) +* [App manifest schema](../resources/schem) * [Developer Portal for Teams](../concepts/build-and-test/teams-developer-portal.md) * [Manage multiple environments](TeamsFx-multi-env.md) * [Public developer preview for Microsoft Teams](../resources/dev-preview/developer-preview-intro.md) To preview values for all the environment, you can hover over the placeholder. I > > Teams Toolkit v4 extension will soon be deprecated. -## Customize Teams app manifest for Visual Studio Code +## Customize app manifest for Visual Studio Code -The Teams app manifest describes how your app integrates into Teams. The manifest template file `manifest.template.json` is available under `templates/appPackage` folder after scaffolding. The template file with placeholders, and the actual values are resolved by Teams Toolkit using files under `.fx/configs` and `.fx/states` for different environments. +App manifest (previously called Teams app manifest) describes how your app integrates into Teams. The app manifest template file `manifest.template.json` is available under `templates/appPackage` folder after scaffolding. The template file with placeholders, and the actual values are resolved by Teams Toolkit using files under `.fx/configs` and `.fx/states` for different environments. -To preview manifest with actual content, Teams Toolkit generates preview manifest files under `build/appPackage` folder: +To preview app manifest with actual content, Teams Toolkit generates the preview app manifest files under `build/appPackage` folder: ```text ΓööΓöÇΓöÇΓöÇbuild To preview manifest with actual content, Teams Toolkit generates preview manifes ΓööΓöÇΓöÇΓöÇmanifest.local.json - Previewed manifest of local Teams app ``` -You can preview the manifest file in local and remote environments. +You can preview the app manifest file in local and remote environments. <br> <details> -<b><summary>Preview manifest file in local environment</b></summary> +<b><summary>Preview the app manifest file in local environment</b></summary> -To preview manifest file in local environment, you can press **F5** to run local debug. After generating default local settings, the app package and preview manifest builds under `build/appPackage` folder. +To preview the app manifest file in local environment, you can press **F5** to run local debug. After generating default local settings, the app package and the preview app manifest builds under `build/appPackage` folder. -You can preview local manifest file by two methods: +You can preview local app manifest file by two methods: * Use preview option in CodeLens. * Use **Zip Teams metadata package** option. -The following steps help to preview local manifest file by using preview option in CodeLens: +The following steps help to preview local app manifest file by using preview option in CodeLens: 1. Select **Preview** in the CodeLens of `manifest.template.json` file. The following steps help to preview local manifest file by using preview option :::image type="content" source="toolkit-v4/images/select-env1-v4.png" alt-text="Screenshot is an example of showing the selection of local in the environment."::: -To preview local manifest file by using **Zip Teams metadata package** option: +To preview the local app manifest file by using **Zip Teams metadata package** option: 1. Select `manifest.template.json` file. Following is a preview local image: <details> -<b><summary>Preview manifest file in remote environment</b></summary> +<b><summary>Preview the app manifest file in remote environment</b></summary> -To preview manifest file using Visual Studio Code: +To preview the app manifest file using Visual Studio Code: * Select **Provision in the cloud** under **DEPLOYMENT** in Teams Toolkit. :::image type="content" source="toolkit-v4/images/provision-v4.png" alt-text="Screenshot is an example of showing the selection of provision in the cloud resource."::: -* To preview the manifest file using command palette. You can trigger **Teams: Provision in the cloud** from command palette. +* To preview the app manifest file using command palette. You can trigger **Teams: Provision in the cloud** from command palette. :::image type="content" source="toolkit-v4/images/command palatte-v4.png" alt-text="Screenshot is an example of showing provision cloud resource using command palette."::: -It generates configuration for remote Teams app, builds package, and preview manifest under `build/appPackage` folder. +It generates configuration for remote Teams app, builds package, and preview the app manifest under `build/appPackage` folder. -You can preview manifest file in remote environment by two methods: +You can preview the app manifest file in remote environment by two methods: * Use preview option in CodeLens. * Use **Zip Teams metadata package** option. -To preview manifest file by using preview option in CodeLens: +To preview the app manifest file by using preview option in CodeLens: 1. Select **Preview** in the CodeLens of `manifest.template.json` file. To preview manifest file by using preview option in CodeLens: > [!NOTE] > If there are more than one environment, you need to select the environment you want to preview. -To preview manifest file by selecting **Zip Teams metadata package** in remote environment: +To preview the app manifest file by selecting **Zip Teams metadata package** in remote environment: 1. Select `manifest.template.json` file. To preview manifest file by selecting **Zip Teams metadata package** in remote e ## Sync local changes to Developer Portal -After previewing the manifest file, you can sync your local changes to Developer Portal by the following ways: +After previewing the app manifest file, you can sync your local changes to Developer Portal by the following ways: -1. Deploy Teams app manifest. +1. Deploy app manifest. - You can deploy Teams app manifest in any of the following ways: + You can deploy the app manifest in any of the following ways: * Right-click the `manifest.template.json` file, and select **Deploy Teams app manifest** from context menu. - :::image type="content" source="toolkit-v4/images/deploy-manifest-v4.png" alt-text="Screenshot is an example of showing the selection of deploy Teams app manifest."::: + :::image type="content" source="toolkit-v4/images/deploy-manifest-v4.png" alt-text="Screenshot is an example of showing the selection of deploy app manifest."::: * Trigger **Teams: Deploy Teams app manifest** by selecting it from the command palette. After previewing the manifest file, you can sync your local changes to Developer You can also trigger **Teams: Update manifest to Teams platform** from the command palette: > [!NOTE] >-> * The Trigger from editor CodeLens or menu bar updates current manifest file to Teams platform. +> * The Trigger from editor CodeLens or menu bar updates the current app manifest file to Teams platform. > * The Trigger from command palette requires selecting target environment. CLI command: You can also trigger **Teams: Update manifest to Teams platform** from the comma > [!NOTE] > The change is reflected in Developer Portal. Any manual updates in Developer Portal are overwritten. -If the manifest file is outdated due to configuration file change or template change, select any one of the following actions: +If the app manifest file is outdated due to configuration file change or template change, select any one of the following actions: -* **Preview only**: Local manifest file is overwritten according to current configuration. -* **Preview and update**: Local manifest file is overwritten according to current configuration and also updated to Teams platform. +* **Preview only**: Local app manifest file is overwritten according to current configuration. +* **Preview and update**: Local app manifest file is overwritten according to current configuration and also updated to Teams platform. * **Cancel**: No action is taken. -## Customize your Teams app manifest +## Customize your app manifest -Teams Toolkit consists of the following manifest template files under `manifest.template.json` folder across local and remote environments: +Teams Toolkit consists of the following app manifest template files under `manifest.template.json` folder across local and remote environments: * `manifest.template.json` * `templates/appPackage` -During the local debug or provision, Teams Toolkit loads manifest from `manifest.template.json` with the configurations from `state.{env}.json`, `config.{env}.json`, and creates Teams app in [Developer Portal](https://dev.teams.microsoft.com/apps). +During the local debug or provision, Teams Toolkit loads the app manifest file from `manifest.template.json` with the configurations from `state.{env}.json`, `config.{env}.json`, and creates Teams app in [Developer Portal](https://dev.teams.microsoft.com/apps). ### Supported placeholders in manifest.template.json The following list provides supported placeholders in `manifest.template.json`: 2. You can go to configuration file by selecting any one of the config placeholders **Go to config file** or **View the state file** in `manifest.template.json`. -### Validate manifest +### Validate app manifest -During operations such as **Zip Teams metadata package**, Teams Toolkit validates the manifest against its schema. The following list provides different ways to validate manifest: +During operations such as **Zip Teams metadata package**, Teams Toolkit validates app manifest against its schema. The following list provides different ways to validate app manifest: * In Visual Studio Code, trigger **Teams: Validate manifest file** from command palette: - :::image type="content" source="toolkit-v4/images/validate-v4.png" alt-text="Screenshot is an example of showing Teams validate manifest file from command palette."::: + :::image type="content" source="toolkit-v4/images/validate-v4.png" alt-text="Screenshot is an example of showing Teams validate the app manifest file from command palette."::: * In CLI, use command: To preview values for all the environments, you can hover over the placeholder. ## See also * [Teams Toolkit Overview](teams-toolkit-fundamentals.md).-* [App manifest schema for Teams](../resources/schem) +* [App manifest schema](../resources/schem) * [Developer Portal for Teams](../concepts/build-and-test/teams-developer-portal.md) * [Environments in Teams Toolkit](TeamsFx-multi-env.md) * [Public developer preview for Microsoft Teams](../resources/dev-preview/developer-preview-intro.md) |
platform | Add Single Sign On | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/add-single-sign-on.md | The following table lists the changes Teams Toolkit makes to your project: | **Type** | **File** | **Purpose** | | -- | - | -- | | Create | `aad.template.json` under `template\appPackage` | Azure AD application manifest represents your Azure AD app. `template\appPackage` helps to register an Azure AD app during local debug or provision stage. |-| Modify | `manifest.template.json` under `template\appPackage` | A `webApplicationInfo` object is added into your Teams app manifest template. Teams requires this field to enable SSO. The change is in effect when you trigger local debugging or provisioning. | +| Modify | `manifest.template.json` under `template\appPackage` | A `webApplicationInfo` object is added into your app manifest (previously called Teams app manifest) template. Teams requires this field to enable SSO. The change is in effect when you trigger local debugging or provisioning. | | Create | `auth\tab` | Reference code, auth redirect pages, and `README.md` files are generated in this path for a tab project. | | Create | `auth\bot` | Reference code, auth redirect pages, and `README.md` files are generated in this path for a bot project. | After successfully adding SSO in your project, you can add a new SSO command: ``` -1. Register your command in the Teams app manifest. Open `templates\appPackage\manifest.template.json`, and add following lines under `commands` in `commandLists` of your bot: +1. Register your command in app manifest. Open `templates\appPackage\manifest.template.json`, and add following lines under `commands` in `commandLists` of your bot: ```JSON To make this work in your app: ## Debug your app -Press **F5** to debug your application. Teams Toolkit uses the Azure AD manifest file to register an Azure AD app for SSO. For Teams Toolkit local debug functionalities, see [how to debug your app locally](~/toolkit/debug-local.md). +Press **F5** to debug your application. Teams Toolkit uses the Azure AD app manifest file to register an Azure AD app for SSO. For Teams Toolkit local debug functionalities, see [how to debug your app locally](~/toolkit/debug-local.md). ## Customize Azure AD app registration -The [Azure AD app manifest](/azure/active-directory/develop/reference-app-manifest) allows you to customize various aspects of app registration. You can update the manifest as needed. If you need to include more API permissions to access your desired APIs, see [API permissions to access your desired APIs](https://github.com/OfficeDev/TeamsFx/wiki/#customize-aad-manifest-template). +The [Azure AD app manifest](/azure/active-directory/develop/reference-app-manifest) allows you to customize various aspects of app registration. You can update the app manifest as needed. If you need to include more API permissions to access your desired APIs, see [API permissions to access your desired APIs](https://github.com/OfficeDev/TeamsFx/wiki/#customize-aad-manifest-template). To view your Azure AD app in Azure portal, see [view Azure AD app in Azure portal](https://github.com/OfficeDev/TeamsFx/wiki/Manage-AAD-application-in-Teams-Toolkit#How-to-view-the-AAD-app-on-the-Azure-portal). ## SSO authentication concepts |
platform | Create New Project | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/create-new-project.md | The following example shows a basic Teams tab app directory structure: | Folder name | Contents | | | | | `.vscode` | Settings for VS Code to build and debug your Teams app. |-| `appPackage` | Teams manifest file and icon files that Teams used to recognize your Teams app. | +| `appPackage` | App manifest (previously called Teams app manifest) file and icon files that Teams used to recognize your Teams app. | | `env` | Stores different environment parameters. | | `infra` | Azure `bicep` template files. Used for deploy your Teams app to Azure. | | `src` | Source code for the Tab capability, including your front-end app, UI components and the privacy notice, terms of use, | The new project folder contains the following content: | Folder name | Contents | | | | | `.vscode` | Settings for VS Code to build and debug your Teams app. |-| `appPackage` | Teams manifest file and icon files that Teams used to recognized your Teams app. | +| `appPackage` | The app manifest file and icon files that Teams used to recognized your Teams app. | | `env` | Stores different environment parameters. | | `infra` | Azure `bicep` template files. Used for deploy your Teams app to Azure. | | `teamsapp.yml` | This configuration file defines the Teams Toolkit behavior for provision, deploy, and publish lifecycle. You can customize this file to change the behavior of Teams Toolkit in each lifecycle. | The new project folder contains the following content: | `.fx` | Project level settings, configuration, and environment information. | | `.vscode` | VS code files for local debug. | | `bot` | The bot source code. |-| `templates` | Templates for Teams app manifest and corresponding Azure resources. | +| `templates` | Templates for app manifest and corresponding Azure resources. | The core notification implementation is stored in the **bot** folder, and it contains: |
platform | Debug Background Process | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/debug-background-process.md | For more information on the project folder structure, see [Teams Toolkit project * [Debug your Teams app using Teams Toolkit](debug-local.md) * [Use Teams Toolkit to provision cloud resources](provision.md) * [Deploy to the cloud](deploy.md)-* [Preview and customize Teams app manifest](TeamsFx-preview-and-customize-app-manifest.md) +* [Preview and customize app manifest](TeamsFx-preview-and-customize-app-manifest.md) |
platform | Debug Mobile | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/debug-mobile.md | You'll be prompted to sideload the app into Teams. Select **Add**. 1. To test your bot in mobile client, follow the steps listed in [Test your tab app on mobile client](#test-your-tab-app-on-mobile-client) for your bot. > [!NOTE]- > If a you have debugged the bot app previously and the Teams app manifest file is changed, it's recommended to clear the cache on the mobile device to ensure immediate app synchronization. After clearing the cache, the app takes some time to sync. + > If a you have debugged the bot app previously and the app manifest (previously called Teams app manifest) file is changed, we recommend to clear the cache on the mobile device to ensure immediate app synchronization. After clearing the cache, the app takes some time to sync. # [iOS](#tab/ios2) |
platform | Debug Overview | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/debug-overview.md | Teams Toolkit by default creates a set of `teamsApp` actions to manage app packa ... - uses: teamsApp/validateAppPackage # Validate app package using validation rules ...- - uses: teamsApp/update # Apply the Teams app manifest to an existing Teams app in Teams Developer Portal. + - uses: teamsApp/update # Apply the app manifest (previously called Teams app manifest) to an existing Teams app in Teams Developer Portal. ... ... ``` Teams Toolkit utilizes Visual Studio Code multi-target debugging to debug tab, b * [Debug background process](debug-background-process.md) * [Use Teams Toolkit to provision cloud resources](provision.md) * [Deploy to the cloud](deploy.md)-* [Preview and customize Teams app manifest](TeamsFx-preview-and-customize-app-manifest.md) +* [Preview and customize app manifest](TeamsFx-preview-and-customize-app-manifest.md) ::: zone-end Teams Toolkit utilizes Visual Studio Code multi-target debugging to debug tab, b * [Debug background process](debug-background-process.md) * [Use Teams Toolkit to provision cloud resources](provision.md) * [Deploy to the cloud](deploy.md)-* [Preview and customize Teams app manifest](TeamsFx-preview-and-customize-app-manifest.md) +* [Preview and customize app manifest](TeamsFx-preview-and-customize-app-manifest.md) ::: zone-end |
platform | Explore Teams Toolkit | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/explore-Teams-Toolkit.md | From the task pane, you can see the following sections: To create an app package, validate an app, and publish in Developer Portal, you need the following features: - * **Zip Teams App Package**: Create the app package that can be uploaded to Teams or Developer Portal. It contains the app manifest and app icons. + * **Zip Teams App Package**: Create the app package that can be uploaded to Teams or Developer Portal. It contains the app manifest (previously called Teams app manifest) and app icons. - * **Validate Application**: Validate if Teams manifest file is in right schema or validate the Teams app package. + * **Validate Application**: Validate if the app manifest file is in right schema or validate the app package. * **Open Developer Portal to Publish**: Use Developer Portal to publish and manage your Teams app. :::column-end::: From the task pane, you can see the following sections: * **Preview your Teams app (F5)**: Press **F5** to debug and preview your Teams app. - * **Edit manifest file**: Edit the Teams app manifest file with the Teams client. + * **Edit manifest file**: Edit the app manifest (previously called Teams app manifest) file with the Teams client. :::column-end::: :::row-end::: |
platform | Provision | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/provision.md | Teams app in Teams Developer Portal. #### What it is -Apply the Teams app manifest to an existing Teams app in Teams Developer Portal. It uses the app ID in manifest.json file to determine which Teams app to update. +Apply the app manifest (previously called Teams app manifest) to an existing Teams app in Teams Developer Portal. It uses the app ID in the manifest.json file to determine which Teams app to update. #### What resource it operates Teams app in Teams Developer Portal. #### What it is -This action renders Teams app manifest template with environment variables and validates Teams app manifest file using its schema. +This action renders the app manifest template with environment variables and validates the app manifest file using its schema. #### What resource it operates N/A ```yml - uses: teamsApp/validate with:- # Required. Relative path to the yaml file. Path to Teams app manifest file + # Required. Relative path to the yaml file. Path to app manifest file manifestPath: <path-to-manifest-file> ``` N/A #### What it is -This action renders Teams app manifest template with environment variables and compresses the manifest file with two icons into a zip file. +This action renders the app manifest template with environment variables and compresses the app manifest file with two icons into a zip file. #### What resource it operates N/A ```yml - uses: teamsApp/zipAppPackage with:- # Required. Relative path to the yaml file. This is the path for Teams app manifest file. Environment variables in manifest will be replaced before apply to AAD app. + # Required. Relative path to the yaml file. This is the path for app manifest file. Environment variables in manifest will be replaced before apply to AAD app. manifestPath: <path-to-manifest-file> # Required. Relative path to the yaml file. This is the path for built zip file. outputZipPath: <path-to-generated-zip-file> Azure AD in your Microsoft 365 tenant. with: # Required. Relative path to the yaml file. Path to the AAD app manifest. Environment variables in manifest will be replaced before apply to AAD app. manifestPath: <path-to-manifest-file>- # Required. Relative path to the yaml folder. This action will output the final AAD manifest used to update AAD app to this path. + # Required. Relative path to the yaml folder. This action will output the final AAD app manifest used to update AAD app to this path. outputFilePath : <path-to-output-file> ``` The provision steps are defined in `teamsapp.yml` file, under `provision` proper #### Reference environment variables in parameter files -Teams Toolkit supports referencing the values from environment variables in `teamsapp.yml`, Teams app manifest, Azure AD app manifest, and Azure parameter files. You can use syntax `${{ENV_VARIABLE_NAME}}` to reference environment variables. +Teams Toolkit supports referencing the values from environment variables in `teamsapp.yml`, app manifest, Azure AD app manifest, and Azure parameter files. You can use syntax `${{ENV_VARIABLE_NAME}}` to reference environment variables. The following example sets the value of environment variable `MY_AZURE_SUBSCRIPTION_ID` to `subscriptionId`: To ensure the TeamsFx tool functions properly, customize ARM template that satis * Ensure that the folder structure and file name remain unchanged. The tool may append new content to the existing files when you add more resources or capabilities to your project. * Ensure that the names of the auto-generated parameters and its property names remain unchanged. The auto-generated parameters may be used when you add more resources or capabilities to your project.-* Ensure that the output of the auto-generated ARM template remains unchanged. You can add more outputs to the ARM template. The output is `.fx\states\state.{env}.json` and can be used in other features, such as deploy and validate manifest file. +* Ensure that the output of the auto-generated ARM template remains unchanged. You can add more outputs to the ARM template. The output is `.fx\states\state.{env}.json` and can be used in other features, such as deploy and validate the app manifest (previously called Teams app manifest) file. ### Customize Teams apps Add Azure storage to your Azure function back-end to store blob data. There's no * [Deploy Teams app to the cloud](deploy.md) * [Manage multiple environments](~/toolkit/TeamsFx-multi-env.md) * [Collaborate with other developers on Teams project](~/toolkit/TeamsFx-collaboration.md)-* [Edit Teams app manifest using Visual Studio](~/toolkit/TeamsFx-preview-and-customize-app-manifest.md) +* [Edit app manifest using Visual Studio](~/toolkit/TeamsFx-preview-and-customize-app-manifest.md) ::: zone-end |
platform | Teamsfx Multi Env V4 | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/TeamsFx-multi-env-v4.md | After creating the project, you can view the project folders and files under **E * `state.<envName>.json`: Provision output file for the environment. This file exists for every environment individually. * `<env>.userdata`: User data for the provision output for the environment. This file exists for every environment individually. * `templates`- * `appPackage`: App manifest template files. + * `appPackage`: App manifest (previously called Teams app manifest) template files. * `azure`: `bicep` template files. ## Customize resource provision Follow these steps customizing the environment description: 3. Create a new environment and name it **staging**, if a staging environment doesnΓÇÖt exist. 4. Open the configuration file `.fx\configs\config.staging.json`. 5. Add a new property as you did in config.dev.json and enter its value as **my app description for staging**.-6. Open Teams app manifest template `templates\appPackage\manifest.template.json`. +6. Open the app manifest template `templates\appPackage\manifest.template.json`. 7. Update the value of property `description` > `short` to use the variable defined in configure files with braces. Use the following syntax `{{config.manifest.description.short}}`. The updates to `manifest.template.json` are: Follow these steps customizing the environment description: You can set the description of Teams app to **my app description** for all the environments. -Teams Toolkit shares the same Teams app manifest templates across all environments, you can update the description value in it for your target: +Teams Toolkit shares the same app manifest templates across all environments, you can update the description value in it for your target: -1. Open the Teams app manifest template `templates\appPackage\manifest.template.json`. +1. Open the app manifest template `templates\appPackage\manifest.template.json`. 2. Update the value of the property `description` > `short` with the permanent string **my app description**. The updates to `manifest.template.json` are: For more information on Bicep template and parameter files, see [how to provisio ## See also * [Teams Toolkit Overview](../teams-toolkit-fundamentals.md)-* [App manifest schema for Teams](~/resources/schem) +* [App manifest schema](~/resources/schem) * [Add more cloud resources](add-resource-v4.md) * [Collaborate with other developers on Teams project](TeamsFx-collaboration-v4.md) * [Test app behavior in different environment](test-app-behavior-v4.md) |
platform | Teamsfx Preview And Customize App Manifest Vs | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/TeamsFx-preview-and-customize-app-manifest-vs.md | Title: Customize Teams App Manifest in Teams Toolkit using Visual Studio + Title: Customize app manifest in Teams Toolkit using Visual Studio -description: In this module, learn how to edit, preview and customize Teams App Manifest in different environment in Teams Toolkit. +description: In this module, learn how to edit, preview and customize app manifest in different environment in Teams Toolkit. ms.localizationpriority: medium Last updated 05/13/2022 zone_pivot_groups: teams-toolkit-platform-vs -# Customize Teams app manifest for Visual Studio +# Customize app manifest for Visual Studio :::zone pivot="visual-studio-v17-7" -The Teams app manifest describes how your app integrates into Teams and is shared between local and remote environments. The default manifest file is available at the `appPackage/manifest.json` file and the environment variables available from the `env/.env.{env}` file +The app manifest (previously called Teams app manifest) describes how your app integrates into Teams and is shared between local and remote environments. The default app manifest file is available at the `appPackage/manifest.json` file and the environment variables available from the `env/.env.{env}` file -The manifest file contains some environment variables with the `${{XX_XX}}` format. You can define your own environment variables and add placeholders in the `manifest.json` file. The following are the .env and .json file examples: +The app manifest file contains some environment variables with the `${{XX_XX}}` format. You can define your own environment variables and add placeholders in the `manifest.json` file. The following are the .env and .json file examples: ```env TEAMS_APP_DESCRIPTION=This is an amazing app TEAMS_APP_DESCRIPTION=This is an amazing app } ``` -## Preview manifest file +## Preview app manifest file -You can preview the manifest file either **For Local** or **For Azure**. To preview the manifest file, follow these steps: To preview the manifest file: +You can preview the app manifest file either **For Local** or **For Azure**. To preview the app manifest file, follow these steps: To preview the app manifest file: 1. Select **Project** > **Teams Toolkit**. You can preview the manifest file either **For Local** or **For Azure**. To pre 1. Select either **For Local** or **For Azure**. - :::image type="content" source="../../assets/images/teams-toolkit-v2/teams-toolkit-vs/preview-manifest.png" alt-text="Screenshot shows the preview of manifest."::: + :::image type="content" source="../../assets/images/teams-toolkit-v2/teams-toolkit-vs/preview-manifest.png" alt-text="Screenshot shows the preview of app manifest."::: -You can preview the app manifest file under `appPackage/build` in Visual Studio. +You can preview app manifest file under `appPackage/build` in Visual Studio. ### Sync local changes to Developer Portal -After you've previewed the manifest file in Visual Studio, you can sync the local changes to Developer Portal. To sync changes to Developer Portal follow these steps: +After you've previewed the app manifest file in Visual Studio, you can sync the local changes to Developer Portal. To sync changes to Developer Portal follow these steps: 1. Select **Project**. 1. Select **Teams Toolkit**. 1. Select **Update Manifest in Teams Developer Portal**. You can also sync the local changes to Developer Portal from **Solution Explorer**: When you create a Teams command bot using Visual Studio, two app IDs are registe ## See also * [Teams Toolkit Overview](teams-toolkit-fundamentals-vs.md)-* [App manifest schema for Teams](~/resources/schem) +* [App manifest schema](~/resources/schem) * [Developer Portal for Teams](~/concepts/build-and-test/teams-developer-portal.md) * [Manage multiple environments](TeamsFx-multi-env-v4.md) * [Public developer preview for Microsoft Teams](~/resources/dev-preview/developer-preview-intro.md) When you create a Teams command bot using Visual Studio, two app IDs are registe :::zone pivot="visual-studio-v17-6" -## Customize Teams app manifest in Teams Toolkit +## Customize app manifest in Teams Toolkit -Teams Toolkit in Visual Studio loads manifest from `manifest.template.json` with configurations from `state.{env}.json` and `config.{env}.json` while provisioning and preparing app dependencies. You can also create Teams app in Developer Portal with manifest. +Teams Toolkit in Visual Studio loads app manifest (previously called Teams app manifest) from `manifest.template.json` with configurations from `state.{env}.json` and `config.{env}.json` while provisioning and preparing app dependencies. You can also create Teams app in Developer Portal with app manifest. -After scaffolding, in the manifest template file under `templates/appPackage` folder, +After scaffolding, in the app manifest template file under `templates/appPackage` folder, `manifest.template.json` is shared between local and remote environment. -In the manifest template, select **Project** > **Teams Toolkit** > **Open Manifest File**. +In the app manifest template, select **Project** > **Teams Toolkit** > **Open Manifest File**. :::image type="content" source="images/vs-open-manifest-v4.png" alt-text="Screenshot is an example of showing the navigation to open manifest file." lightbox="images/vs-open-manifest-v4.png"::: You can preview values in app manifest in two ways: If the environment hasn't been provisioned, or the Teams app dependencies haven't been prepared, it indicates that the values for the placeholder haven't been generated. You can follow the guidance inside the hover to generate corresponding values. -## Preview manifest file +## Preview app manifest file -You can either sideload for local, or deploy for Azure to preview the manifest file. You can preview the manifest file by performing the following steps: +You can either sideload for local, or deploy for Azure to preview the app manifest file. You can preview the app manifest file by performing the following steps: 1. Select **Project** > **Teams Toolkit**. 1. Select to trigger **Prepare Teams App Dependencies** or **Provision in the Cloud** that generates configuration for either for local or remote Teams app. - :::image type="content" source="images/vs-preview-manifest1-v4.png" alt-text="Screenshot is an example of showing preview manifest file." lightbox="images/vs-preview-manifest1-v4.png"::: + :::image type="content" source="images/vs-preview-manifest1-v4.png" alt-text="Screenshot is an example of showing the preview app manifest file." lightbox="images/vs-preview-manifest1-v4.png"::: -There are two ways to upload zip app package before you can preview the manifest file: +There are two ways to upload zip app package before you can preview the app manifest file: 1. From the list of menu select, **Project** > **Teams Toolkit**. There are two ways to upload zip app package before you can preview the manifest :::image type="content" source="images/vs-solution-explorer1-v4.png" alt-text="Screenshot is an example of showing the list of Teams toolkit menus from solution explorer." lightbox="images/vs-solution-explorer1-v4.png"::: -Teams Toolkit generates the zip app package, the following steps help to preview the manifest file: +Teams Toolkit generates the zip app package, the following steps help to preview the app manifest file: 1. Right-click on **manifest.template.json** file under **appPackage** folder. 1. Select **Preview Manifest File** > **For Local** or **For Azure**. - :::image type="content" source="images/vs-preview1-v4.png" alt-text="Screenshot is an example of showing the preview manifest menu for local and Azure." lightbox="images/vs-preview1-v4.png"::: + :::image type="content" source="images/vs-preview1-v4.png" alt-text="Screenshot is an example of showing the preview app manifest menu for local and Azure." lightbox="images/vs-preview1-v4.png"::: -This displays the preview of the manifest file in Visual Studio. +This displays the preview of the app manifest file in Visual Studio. ## Sync local changes to Developer Portal -After you've previewed the manifest file in Visual Studio, you can sync the local changes to Developer Portal. +After you've previewed the app manifest file in Visual Studio, you can sync the local changes to Developer Portal. Select **Project** > **Teams Toolkit** > **Update Manifest in Teams Developer Portal**. -You can also sync the local changes to Developer Portal from the context menu of **Solution Explorer** section. After the local changes are synced, you can preview the manifest file in Developer Portal. +You can also sync the local changes to Developer Portal from the context menu of **Solution Explorer** section. After the local changes are synced, you can preview the app manifest file in Developer Portal. :::image type="content" source="images/vs-update-manifest2-v4.png" alt-text="Update manifest in Teams developer portal from solution explorer section"::: When you create a Teams command bot using Visual Studio, two app IDs are registe ## See also * [Teams Toolkit Overview](teams-toolkit-fundamentals-vs.md)-* [App manifest schema for Teams](~/resources/schem) +* [App manifest schema](~/resources/schem) * [Developer Portal for Teams](~/concepts/build-and-test/teams-developer-portal.md) * [Manage multiple environments](TeamsFx-multi-env-v4.md) * [Public developer preview for Microsoft Teams](~/resources/dev-preview/developer-preview-intro.md) |
platform | Add Single Sign On Vs | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/add-single-sign-on-vs.md | Teams provides SSO function for an app using the Teams Toolkit for Microsoft Vis :::image type="content" source="../../assets/images/teams-toolkit-v2/teams-toolkit-vs/vs-add-authentication-code.PNG" alt-text="Screenshot shows the add authentication code."::: -Teams Toolkit helps you generate the authentication files in **TeamsFx-Auth** folder, including a manifest template file for Azure AD application and authentication redirect pages. Link the files to your Teams application by updating authentication configurations to ensure the SSO works for your application. +Teams Toolkit helps you generate the authentication files in **TeamsFx-Auth** folder, including the app manifest (previously called Teams app manifest) template file for Azure AD application and authentication redirect pages. Link the files to your Teams application by updating authentication configurations to ensure the SSO works for your application. -* In the Azure AD manifest file, specify the URIs such as, the URI to identify the Azure AD authentication app and the redirect URI for returning token. -* In the Teams manifest file, add the SSO application to link it with Teams application. +* In the Azure AD app manifest file, specify the URIs such as, the URI to identify the Azure AD authentication app and the redirect URI for returning token. +* In the app manifest file, add the SSO application to link it with Teams application. * Add SSO application information in Teams Toolkit configuration files in order to make sure the authentication app can be registered on backend service and start Teams Toolkit when you're debugging or previewing Teams application. ## Teams tab application 1. Update Azure AD app manifest:-`TeamsFx-Auth/aad.manifest.template.json` file is an Azure AD manifest template. You can copy and paste this file to any folder of your project, and rename as `aad.manifest.json` and take note of the path to this file. The following updates in the template to create/update an Azure AD app for SSO: +`TeamsFx-Auth/aad.manifest.template.json` file is an Azure AD app manifest template. You can copy and paste this file to any folder of your project, and rename as `aad.manifest.json` and take note of the path to this file. The following updates in the template to create/update an Azure AD app for SSO: * `identifierUris`: It's used to uniquely identify and access the resource. Set the correct redirect Uris into `identifierUris` to successfully identify this app. For more information, see [identifierUris attribute](/azure/active-directory/develop/reference-app-manifest). Teams Toolkit helps you generate the authentication files in **TeamsFx-Auth** fo * "name": It replaces the value with your expected Azure AD app name. -1. Open your Teams app manifest file, add `WebApplicationInfo` property with the value of your SSO app. For more information, see [webApplicationInfo](../../resources/schem#webapplicationinfo). +1. Open your app manifest file, add `WebApplicationInfo` property with the value of your SSO app. For more information, see [webApplicationInfo](../../resources/schem#webapplicationinfo). ```JSON "webApplicationInfo": { Teams Toolkit helps you generate the authentication files in **TeamsFx-Auth** fo * "name": Replace the value with your expected Azure AD app name. -1. Update Teams app manifest +1. Update app manifest. - * A `WebApplicationInfo` object needs to be added into your Teams app manifest to enable SSO in the Teams app. For more information, see [webApplicationInfo](../../resources/schem#webapplicationinfo). + * A `WebApplicationInfo` object needs to be added into your app manifest to enable SSO in the Teams app. For more information, see [webApplicationInfo](../../resources/schem#webapplicationinfo). - For example: open your Teams app manifest template, and append the following object in the manifest: + For example: open your app manifest template, and append the following object in app manifest: ``` "webApplicationInfo": { Teams Toolkit helps you generate the authentication files in **TeamsFx-Auth** fo Example for TeamsFx Bot template: - Open the `appPackage/manifest.json` file, and add the following property in the manifest file: + Open the `appPackage/manifest.json` file, and add the following property in the app manifest file: ``` "webApplicationInfo": { The following table lists the changes by Teams Toolkit: |**Type**|**File**|**Purpose**| |--|--|--| |Create|`aad.template.json` under `template\appPackage`|Azure AD application manifest represents your Azure AD app. `template\appPackage` helps you to register an Azure AD app during local debug or provision.|- |Modify|`manifest.template.json` under `template\appPackage`|`webApplicationInfo` object is added into your Teams app manifest template. Teams requires this field to enable SSO. When local debugging or provisioning is triggered, you can see the change.| + |Modify|`manifest.template.json` under `template\appPackage`|`webApplicationInfo` object is added into your app manifest (previously called Teams app manifest) template. Teams requires this field to enable SSO. When local debugging or provisioning is triggered, you can see the change.| |Modify|`appsettings.json` and `appsettings.Development.json`|Configs are added and used by TeamsFx SDK to your app settings. You can update and add the `TeamsFx` object if you have other `appsettings` files.| |Create|`Auth\tab`|Reference code, auth redirect pages and a `README.md` file are generated in the folder `Auth\tab` for a tab project.| |Create|`Auth\bot`|Reference code, auth redirect pages and a `README.md` file are generated in the folder `Auth\bot` for a bot project.| The following steps help you to enable SSO in your app: }); ``` -5. You can open `Templates\appPackage\manifest.template.json`, and add the following lines under `command` in `commandLists` of your bot to register your command in the Teams app manifest: +5. You can open `Templates\appPackage\manifest.template.json`, and add the following lines under `command` in `commandLists` of your bot to register your command in the app manifest: ```JSON { The following steps help to add a new command, after you've added SSO in your pr ((SsoDialog)_dialog).addCommand("getUserImageInfo", "photo", SsoOperations.GetUserImageInfo); ``` -1. Open the file `templates\appPackage\manifest.template.json`, and add the following lines under `command` in `commandLists` of your bot to register your command in the Teams app manifest: +1. Open the file `templates\appPackage\manifest.template.json`, and add the following lines under `command` in `commandLists` of your bot to register your command in the app manifest: ```JSON { The following steps help to add a new command, after you've added SSO in your pr <br> > [!NOTE]- > Teams Toolkit uses the Azure AD manifest file to register an Azure AD app for SSO. You need to press **F5** to debug your app and test your SSO configuration. + > Teams Toolkit uses the Azure AD application manifest file to register an Azure AD app for SSO. You need to press **F5** to debug your app and test your SSO configuration. ## Customize Azure AD app registration -The [Azure AD app manifest](/azure/active-directory/develop/reference-app-manifest) allows you to customize various aspects of app registration. You can update the manifest file as needed. If you need to include more API permissions to access your required APIs, see [API permissions to access your desired APIs](https://github.com/OfficeDev/TeamsFx/wiki/#customize-aad-manifest-template). +The [Azure AD app manifest](/azure/active-directory/develop/reference-app-manifest) allows you to customize various aspects of app registration. You can update the app manifest file as needed. If you need to include more API permissions to access your required APIs, see [API permissions to access your desired APIs](https://github.com/OfficeDev/TeamsFx/wiki/#customize-aad-manifest-template). For more information on viewing your Azure AD app in Azure portal, see [how to view Azure AD application in Azure portal](https://github.com/OfficeDev/TeamsFx/wiki/Manage-AAD-application-in-Teams-Toolkit#How-to-view-the-AAD-app-on-the-Azure-portal). ### Simplified SSO with TeamsFx |
platform | Debug Background Process V4 | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/debug-background-process-v4.md | You can view the project folders and files under **Explorer** in Visual Studio a * [Debug your Teams app locally using Visual Studio](debug-local-vs.md) * [Provision cloud resources in Visual Studio](provision-vs.md) * [Deploy Teams app to the cloud VS](deploy-vs.md)-* [Customize Teams app manifest in Teams Toolkit](TeamsFx-preview-and-customize-app-manifest-vs.md) +* [Customize app manifest in Teams Toolkit](TeamsFx-preview-and-customize-app-manifest-vs.md) ::: zone-end For tab app or message extension: ### Registers and configures Teams app -Registers a Teams app in [Developer Portal](https://dev.teams.microsoft.com/home) using the manifest template in `templates/appPackage/manifest.template.json`. +Registers a Teams app in [Developer Portal](https://dev.teams.microsoft.com/home) using the app manifest (previously called Teams app manifest) template in `templates/appPackage/manifest.template.json`. After registration and configuration of the app, local debug files generates. You can view the project folders and files under **Explorer** in Visual Studio C | Folder name| Contents| Debug configuration type | | | | | | `.fx/configs/config.local.json` | Local debug configuration file | The values of each configuration generate and saves during local debug. |-| `templates/appPackage/manifest.template.json` | Teams app manifest template file for local debug | The placeholders in the file during local debug. | +| `templates/appPackage/manifest.template.json` | The app manifest template file for local debug | The placeholders in the file during local debug. | | `tabs/.env.teams.local` | Environment variables file for tab | The values of each environment variable generate and saves during local debug. | | `bot/.env.teamsfx.local` | Environment variables file for bot and message extension| The values of each environment variable generate and saves during local debug. | | `api/.env.teamsfx.local` | Environment variables file for Azure Functions | The values of each environment variable generate and saves during local debug. | You can view the project folders and files under **Explorer** in Visual Studio C * [Debug your Teams app locally using Visual Studio](debug-local-vs.md) * [Provision cloud resources in Visual Studio](provision-vs.md) * [Deploy Teams app to the cloud VS](deploy-vs.md)-* [Customize Teams app manifest in Teams Toolkit](TeamsFx-preview-and-customize-app-manifest-vs.md) +* [Customize app manifest in Teams Toolkit](TeamsFx-preview-and-customize-app-manifest-vs.md) ::: zone-end |
platform | Debug Local Vs | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/debug-local-vs.md | To debug your app after you create a project, perform the following steps: > [!NOTE] > When you debug a notification bot app, ensure that you post HTTP request to `http://localhost:5130/api/notification` in order to trigger notification. If you've selected HTTP trigger when creating the project, you can use any API tools such as, cURL (Windows Command Prompt), Postman, or any other API tool. - Before you try to run the Teams app locally, if you make any changes to the Teams app manifest file `/appPackage/manifest.json`, ensure that you perform the **Prepare Teams App Dependencies** command. + Before you try to run the Teams app locally, if you make any changes to the app manifest (previously called Teams app manifest) file `/appPackage/manifest.json`, ensure that you perform the **Prepare Teams App Dependencies** command. ## Next step Perform the following steps using the Teams Toolkit to debug your app after you > Ensure to post HTTP request to `http://localhost:5130/api/notification` to trigger notification, when you're debugging Notification Bot app. If you've selected HTTP trigger when creating the project, you can use any API tools such as curl (Windows Command Prompt), Postman, or any other API tool. > [!TIP]- > If you make any changes to Teams app manifest file (/templates/appPackage/manifest.template.json), ensure that you perform the Prepare Teams App Dependencies command. Before you try to run the Teams app again locally. + > If you make any changes to the app manifest (previously called Teams app manifest) file (/templates/appPackage/manifest.template.json), ensure that you perform the Prepare Teams App Dependencies command. Before you try to run the Teams app again locally. ## Next step |
platform | Explore Teams Toolkit Vs | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/toolkit/toolkit-v4/explore-Teams-Toolkit-vs.md | After you've created your Teams app project, you can use the following options t |Function |Description | |||-|Prepare Teams App Dependencies |Before you debug locally, ensure that you prepare your app for dependencies. This option helps you to set up the local debug dependencies and register Teams app in the Teams platform. You must have a Microsoft 365 account. For more information, see [how to debug your Teams app locally using Visual Studio](debug-local-vs.md). | -|Open Manifest File | Helps you to open Teams app manifest file. Hover over the parameters to preview the values. For more information, see [how to edit Teams app manifest using Visual Studio](TeamsFx-preview-and-customize-app-manifest-vs.md). | -|Update Manifest in Teams Developer Portal | Helps you to update the manifest file. When you update the manifest file, only then you can redeploy the manifest file to Azure without deploying the whole project again. Use this command to update your changes to remote. For more information, see [how to edit Teams app manifest using Visual Studio](TeamsFx-preview-and-customize-app-manifest-vs.md). | -|Add Authentication Code | Helps you obtain signed-in Teams user token to access Microsoft Graph and other APIs. Teams Toolkit facilitates the interaction by abstracting from the Microsoft Azure Active Directory (Azure AD), which flows and integrates with simple APIs. For more information, see [how to add single sign-on to Teams app](add-single-sign-on-vs.md). | -|Provision in the Cloud | Helps you to create Azure resources that host your Teams app. For more information, see [how to provision cloud resources using Visual Studio](provision-vs.md). | +|**Prepare Teams App Dependencies** |Before you debug locally, ensure that you prepare your app for dependencies. This option helps you to set up the local debug dependencies and register Teams app in the Teams platform. You must have a Microsoft 365 account. For more information, see [how to debug your Teams app locally using Visual Studio](debug-local-vs.md). | +|**Open Manifest File** | Helps you to open the app manifest (previously called Teams app manifest) file. Hover over the parameters to preview the values. For more information, see [how to edit app manifest using Visual Studio](TeamsFx-preview-and-customize-app-manifest-vs.md). | +|**Update Manifest in Teams Developer Portal** | Helps you to update the app manifest file. When you update the app manifest file, only then you can redeploy the app manifest file to Azure without deploying the whole project again. Use this command to update your changes to remote. For more information, see [how to edit app manifest using Visual Studio](TeamsFx-preview-and-customize-app-manifest-vs.md). | +|**Add Authentication Code** | Helps you obtain signed-in Teams user token to access Microsoft Graph and other APIs. Teams Toolkit facilitates the interaction by abstracting from the Microsoft Azure Active Directory (Azure AD), which flows and integrates with simple APIs. For more information, see [how to add single sign-on to Teams app](add-single-sign-on-vs.md). | +|**Provision in the Cloud** | Helps you to create Azure resources that host your Teams app. For more information, see [how to provision cloud resources using Visual Studio](provision-vs.md). | |Deploy to the Cloud | Helps you to copy your code to the cloud resources that you provisioned in Azure AD. For more information, see [how to deploy Teams app to the cloud using Visual Studio](deploy-vs.md). |-|Preview in Teams | Launches the Teams web client and lets you preview the Teams app in your browser. | -|Zip App Package | Generates a Teams app package in the **Build** folder under the project. You can upload the app package to the Teams client and run the Teams app. | +|**Preview in Teams** | Launches the Teams web client and lets you preview the Teams app in your browser. | +|**Zip App Package** | Generates a Teams app package in the **Build** folder under the project. You can upload the app package to the Teams client and run the Teams app. | ## See also After you've created your Teams app project, you can use the following options t |Function |Description | |||-|Prepare Teams App Dependencies |Before you debug locally, ensure that you prepare your app for dependencies. This option helps you to set up the local debug dependencies and register Teams app in the Teams platform. You must have a Microsoft 365 account. For more information, see [how to debug your Teams app locally using Visual Studio](debug-local-vs.md). | -|Open Manifest File | This option helps you to open Teams app manifest file. Hover over the parameters to preview the values. For more information, see [how to edit Teams app manifest using Visual Studio](TeamsFx-preview-and-customize-app-manifest-vs.md). | -|Update Manifest in Teams Developer Portal | This option helps you to update the manifest file. When you update the manifest file, only then you can redeploy the manifest file to Azure without deploying the whole project again. Use this command to update your changes to remote. For more information, see [how to edit Teams app manifest using Visual Studio](TeamsFx-preview-and-customize-app-manifest-vs.md). | -|Add Authentication Code | This option helps you obtain signed-in Teams user token to access Microsoft Graph and other APIs. Teams Toolkit facilitates the interaction by abstracting from the Microsoft Azure Active Directory (Azure AD) which flows and integrates with simple APIs. For more information, see [how to add single sign-on to Teams app](add-single-sign-on-vs.md). | -|Provision to the Cloud | This option helps you to create Azure resources that host your Teams app. For more information, see [how to provision cloud resources using Visual Studio](provision-vs.md). | -|Deploy to the Cloud | This option helps you to copy your code to the cloud resources that you provisioned in Azure AD. For more information, see [how to deploy Teams app to the cloud using Visual Studio](deploy-vs.md#deploy-teams-app-to-the-cloud-using-visual-studio). | +|**Prepare Teams App Dependencies** |Before you debug locally, ensure that you prepare your app for dependencies. This option helps you to set up the local debug dependencies and register Teams app in the Teams platform. You must have a Microsoft 365 account. For more information, see [how to debug your Teams app locally using Visual Studio](debug-local-vs.md). | +|**Open Manifest File** | This option helps you to open the app manifest file. Hover over the parameters to preview the values. For more information, see [how to edit the app manifest using Visual Studio](TeamsFx-preview-and-customize-app-manifest-vs.md). | +|**Update Manifest in Teams Developer Portal** | This option helps you to update the app manifest file. When you update the app manifest file, only then you can redeploy the app manifest file to Azure without deploying the whole project again. Use this command to update your changes to remote. For more information, see [how to edit the app manifest using Visual Studio](TeamsFx-preview-and-customize-app-manifest-vs.md). | +|**Add Authentication Code** | This option helps you obtain signed-in Teams user token to access Microsoft Graph and other APIs. Teams Toolkit facilitates the interaction by abstracting from the Microsoft Azure Active Directory (Azure AD) which flows and integrates with simple APIs. For more information, see [how to add single sign-on to Teams app](add-single-sign-on-vs.md). | +|**Provision to the Cloud** | This option helps you to create Azure resources that host your Teams app. For more information, see [how to provision cloud resources using Visual Studio](provision-vs.md). | +|**Deploy to the Cloud** | This option helps you to copy your code to the cloud resources that you provisioned in Azure AD. For more information, see [how to deploy Teams app to the cloud using Visual Studio](deploy-vs.md#deploy-teams-app-to-the-cloud-using-visual-studio). | |Preview in Teams | This option launches the Teams web client and lets you preview the Teams app in your browser. |-|Zip App Package | This option generates a Teams app package in the `Build` folder under the project. You can upload the app package to the Teams client and run the Teams app. | +|**Zip App Package** | This option generates a Teams app package in the `Build` folder under the project. You can upload the app package to the Teams client and run the Teams app. | ## See also |
platform | Connectors Creating | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/webhooks-and-connectors/how-to/connectors-creating.md | This call is made as part of your save event handler. Then, when the `contentUrl You can execute an event handler when the user removes an existing connector configuration. You register this handler by calling `microsoftTeams.pages.config.registerOnRemoveHandler()`. This handler is used to perform cleanup operations, such as removing entries from a database. -### Include the connector in your manifest +### Include the connector in your app manifest -Download the auto-generated *Teams app manifest* from the Developer Portal (<https://dev.teams.microsoft.com>). Perform the following steps, before testing or publishing the app: +Download the auto-generated app manifest (previously called Teams app manifest) from the Developer Portal (<https://dev.teams.microsoft.com>). Perform the following steps, before testing or publishing the app: 1. [Include two icons](../../concepts/build-and-test/apps-package.md#app-icons).-1. Modify the `icons` portion of the manifest to include the file names of the icons instead of URLs. +1. Modify the `icons` portion in the app manifest file to include the file names of the icons instead of URLs. The following *manifest.json* example contains the elements needed to test and submit the app: The following *manifest.json* example contains the elements needed to test and s ## Test your connector -To test your connector, upload it to a team with any other app. You can create a .zip package using the manifest file from the two icon files and Connectors Developer Dashboard, modified as directed in [Include the connector in your Manifest](#include-the-connector-in-your-manifest). +To test your connector, upload it to a team with any other app. You can create a .zip package using the app manifest file from the two icon files and Connectors Developer Dashboard, modified as directed in [Include the connector in your app manifest](#include-the-connector-in-your-app-manifest). After you upload the app, open the connectors list from any channel. Scroll to the bottom to see your app in the **Uploaded** section. Follow the [step-by-step guide](../../sbs-teams-connectors.yml) to build and tes * [Create and send messages](connectors-using.md) * [How admins can enable or disable connectors](/microsoftteams/office-365-custom-connectors#enable-or-disable-connectors-in-teams) * [How admins can publish custom connectors within their org](/microsoftteams/office-365-custom-connectors)-* [App manifest schema for Teams](../../resources/schem) +* [App manifest schema](../../resources/schem) |
platform | Whats New | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/whats-new.md | Teams platform features that are available to all app developers. **2023 August** +* ***August 28, 2023***: [Teams app manifest is now referred to as app manifest](resources/schem). + * ***August 16, 2023***: [Use Teams Toolkit Visual Studio v17.7 extension with many new app development features to get started with app development for Teams.](toolkit/toolkit-v4/teams-toolkit-fundamentals-vs.md)+ * ***August 10, 2023***: [Send a proactive message using AAD ID](bots/how-to/conversations/send-proactive-messages.md). :::column-end::: Developer preview is a public program that provides early access to unreleased T **2023 August** +* ***August 28, 2023***: [Teams app manifest is now referred to as app manifest](resources/schem) + * ***August 22, 2023***: [Enable RSC permissions for a user using the Graph APIs](graph-api/rsc/grant-resource-specific-consent.md#configure-consent-settings). * ***August 21, 2023***: [Introduced the new Microsoft Teams client to provide better experience for your apps and users](resources/teams-updates.md). |