Service | Microsoft Docs article | Related commit history on GitHub | Change details |
---|---|---|---|
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. [Review your application permissions in the Azure AD portal](#review-your-application-permissions-in-the-azure-ad-portal). 1. [Update your Teams app manifest](#update-your-teams-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. Attempts to install multiple Teams apps which are associated with the same Azure AD app ID will cause installation or runtime failures. -### Review your application permissions in the Azure AD portal --1. Open the [Azure AD portal](https://ms.portal.azure.com/) on your web browser. -- The Azure AD portal page opens. -1. Select **App registrations** and select your app. -1. Select **API permissions** from the left pane. -1. Review permissions from the list of **Configured permissions** for your app: - * If your app makes only RSC Graph API calls, delete all the permissions from the list of configured permissions. - * If your app makes non-RSC calls also, keep those permissions as required. --> [!IMPORTANT] -> The Azure AD portal can't be used to request RSC permissions, as they're exclusive to Teams apps installed in Teams client and are declared in the Teams app manifest (JSON) file. - ### Update your Teams 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. |
platform | Overview | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/m365-apps/overview.md | 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)| | [**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).| -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. For more information, see [Manage access to Teams apps across Microsoft 365](/microsoftteams/manage-third-party-teams-apps). Update channels are device specific and apply only to installations of Microsoft 365 running on Windows. +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). |
platform | Manifest Schema Dev Preview | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema-dev-preview.md | The `https://` URL referencing the JSON Schema for the manifest. ## manifestVersion -**Required** – String +**Required**ΓÇöString The version of the manifest schema this manifest is using. ## version -**Required** – String +**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 will overwrite the existing one and the user will get the new functionality. If this app was submitted to the store, the new manifest will have 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 manifest, the version must be incremented as well. This way, when the new manifest is installed, it overwrites the existing one and the user will get 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. -If the app requested permissions change, users will be prompted to upgrade and re-consent to the app. +If the app requested permissions change, users are prompted to upgrade and re-consent to the app. This version string must follow the [semver](http://semver.org/) standard (MAJOR.MINOR.PATCH). Icons used within the Teams app. The icon files must be included as part of the ## accentColor -**Required** – String +**Required**ΓÇöString A color to use with and as a background for your outline icons. The object is an array with all elements of the type `object`. This block is req |`scopes`|Array of enum|1|Γ£ö∩╕Å|Currently, configurable tabs support only the `team` and `groupchat` scopes. | |`context` |array of enums|6||The set of `contextItem` scopes where a [tab is supported](../../tabs/how-to/access-teams-context.md). Default: `channelTab`, `privateChatTab`, `meetingChatTab`, `meetingDetailsTab`, `meetingSidePanel`, and `meetingStage`.| |`sharePointPreviewImage`|String|2048||A relative file path to a tab preview image for use in SharePoint. Size 1024x768. |-|`supportedSharePointHosts`|Array of enum|1||Defines how your tab will be made available in SharePoint. Options are `sharePointFullPage` and `sharePointWebPart` | +|`supportedSharePointHosts`|Array of enum|1||Defines how your tab is made available in SharePoint. Options are `sharePointFullPage` and `sharePointWebPart` | ## staticTabs Each command item is an object with the following structure: Optional: -An array of `string`, which specifies which permissions the app requests, which let end users know how the extension will perform. The following options are non-exclusive: +An array of `string`, which specifies which permissions the app requests, which let end users know how the extension performs. The following options are non-exclusive: * `identity`   Requires user identity information. * `messageTeamMembers`   Requires permission to send direct messages to team members. -Changing these permissions when updating your app will cause your users to repeat the consent process the first time they run the updated app. +Changing these permissions when updating your app causes your users to repeat the consent process the first time they run the updated app. ## devicePermissions Define the properties your app uses to post a user activity feed. ## configurableProperties -**Optional** - array +**Optional**ΓÇöarray The `configurableProperties` block defines the app properties that Teams admins can customize. For more information, see [enable app customization](~/concepts/design/enable-app-customization.md). You can define any of the following properties: ## supportedChannelTypes -**Optional** - array +**Optional**ΓÇöarray Enables your app in non-standard channels. If your app supports a team scope and this property is defined, Teams enables your app in each channel type accordingly. Currently, the private and shared channel types are supported. Enables your app in non-standard channels. If your app supports a team scope and ## defaultInstallScope -**Optional** - string +**Optional**ΓÇöstring -Specifies the install scope defined for this app by default. The defined scope will be the option displayed on the button when a user tries to add the app. Options are: +Specifies the install scope defined for this app by default. The defined scope is the option displayed on the button when a user tries to add the app. Options are: * `personal` * `team` Specifies the install scope defined for this app by default. The defined scope w ## defaultGroupCapability -**Optional** - object +**Optional**ΓÇöobject -When a group install scope is selected, it will define the default capability when the user installs the app. Options are: +When a group install scope is selected, it defines the default capability when the user installs the app. Options are: * `team` * `groupchat` When a group install scope is selected, it will define the default capability wh ## subscriptionOffer -**Optional** - object +**Optional**ΓÇöobject Specifies the SaaS offer associated with your app. Specifies the SaaS offer associated with your app. ## meetingExtensionDefinition -**Optional** - object +**Optional**ΓÇöobject Specify meeting extension definition. For more information, see [custom Together Mode scenes in Teams](../../apps-in-teams-meetings/teams-together-mode.md). Specify meeting extension definition. For more information, see [custom Together ## authorization -**Optional** ΓÇö object +**Optional**ΓÇöobject > [!NOTE] > `authorization` is only supported for manifest version 1.12 or later. 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.| +## extensions ++**Optional**ΓÇöarray ++Contains objects that define the set of extensions for the app. Used to specify Outlook Add-ins within an app manifest for simplified distribution and acquisition within the Microsoft 365 ecosystem. ++> [!NOTE] +> Only one extension per app is supported. ++|Name| Type| Maximum size | Required | Description| +|||||| +|`requirements.capabilities`| array | | | Identifies the requirement sets that the add-in needs to be installable. Each object in the array is made up of three strings `name` (required), `minVersion`, and `maxVersion`. | +|`requirements.scopes`| array | 1 | | Identifies the Office applications, by enum, in which the add-in can be installed. The only supported enum value is `mail`. | +|`requirements.formFactors`| array | | | Identifies the form factors, by enum `mobile` and `desktop`, in which the add-in can be installed. | +|`runtimes`| array | | | Configures various kinds of add-ins that have little or no UI, such as custom function-only add-ins and [function commands](/office/dev/add-ins/design/add-in-commands). | +|`ribbons`| array | | | The ribbons that the add-in customizes. This property is an array of objects that combine the child properties `requirements`, `contexts`, and `tabs`. `Contexts` specify the command surfaces that the add-in customizes, while the `tabs` property configures custom ribbon tabs. | +|`autoRunEvents`| array | | | Configures an event handler for a specified event. | +|`alternates`| array | | | Specifies backwards compatibility with an equivalent COM add-in, XLL, or both. For more information on background, see [EquivalentAddins](/javascript/api/manifest/equivalentaddins). | +|`audienceClaimUrl`| string | 2048 | | The url for your extension, used to validate Exchange user identity tokens. | ++For more information, see [extension property](/office/dev/add-ins/develop/json-manifest-overview) in the Office Add-ins manifest documentation. + ## See also * [Understand the Microsoft Teams app structure](~/concepts/design/app-structure.md) |
platform | Manifest Schema | https://github.com/MicrosoftDocs/msteams-docs/commits/main/msteams-platform/resources/schema/manifest-schema.md | Define the properties your app uses to post a user activity feed. ## defaultInstallScope -**Optional** - string +**Optional**ΓÇöstring Specifies the install scope defined for this app by default. The defined scope is the option displayed on the button when a user tries to add the app. Options are: Specifies the install scope defined for this app by default. The defined scope i ## defaultGroupCapability -**Optional** - object +**Optional**ΓÇöobject When a group install scope is selected, it defines the default capability when the user installs the app. Options are: When a group install scope is selected, it defines the default capability when t ## configurableProperties -**Optional** - array +**Optional**ΓÇöarray The `configurableProperties` block defines the app properties that Teams admins can customize. For more information, see [enable app customization](~/concepts/design/enable-app-customization.md). The app customization feature isn't supported in custom or LOB apps. You can define any of the following properties: ## supportedChannelTypes -**Optional** - array +**Optional**ΓÇöarray Enables your app in non-standard channels. If your app supports a team scope and this property is defined, Teams enables your app in each channel type accordingly. Currently, the private and shared channel types are supported. Enables your app in non-standard channels. If your app supports a team scope and ## defaultBlockUntilAdminAction -**Optional** - Boolean +**Optional**ΓÇöBoolean When `defaultBlockUntilAdminAction` property is set to **true**, the app is hidden from users by default until admin allows it. If set to **true**, the app is hidden for all tenants and end users. The tenant admins can see the app in the Teams admin center and take action to allow or block the app. The default value is **false**. For more information on default app block, see [Block apps by default for users until an admin approves](../../concepts/deploy-and-publish/add-default-install-scope.md#block-apps-by-default-for-users-until-an-admin-approves). ## publisherDocsUrl -**Optional** - string +**Optional**ΓÇöstring **Maximum size** - 128 characters The `publisherDocsUrl` is an HTTPS URL to an information page for admins to get ## subscriptionOffer -**Optional** - object +**Optional**ΓÇöobject Specifies the SaaS offer associated with your app. Specifies the SaaS offer associated with your app. ## meetingExtensionDefinition -**Optional** - object +**Optional**ΓÇöobject Specify meeting extension definition. For more information, see [custom Together Mode scenes in Teams](../../apps-in-teams-meetings/teams-together-mode.md). Specify meeting extension definition. For more information, see [custom Together ## authorization -**Optional** ΓÇö object +**Optional**ΓÇöobject > [!NOTE] > `authorization` is only supported for manifest version 1.12 or later. |