diff --git a/docs/actionable-messages/invoke-add-in.md b/docs/actionable-messages/invoke-add-in.md index c4bb84e7..dd1208b8 100644 --- a/docs/actionable-messages/invoke-add-in.md +++ b/docs/actionable-messages/invoke-add-in.md @@ -31,7 +31,90 @@ The following example shows the prompt users see if the add-in is not installed. Actionable messages invoke add-ins by specifying an [Action.InvokeAddInCommand action](adaptive-card.md#actioninvokeaddincommand) in the message. This action specifies the add-in to invoke, along with the identifier of the add-in button that opens the appropriate task pane. -The required information is found in the [add-in's manifest](/office/dev/add-ins/outlook/manifests). First, you'll need the add-in's identifier, which is specified in the [Id element](/office/dev/add-ins/reference/manifest/id). +The required information is found in the [add-in's manifest](/office/dev/add-ins/develop/add-in-manifests). Open the tab for the type of manifest that the add-in uses. + +# [Unified manifest for Microsoft 365](#tab/jsonmanifest) + +First, you'll need the add-in's identifier, which is specified in the [`"id"`](/microsoft-365/extensibility/schema/root#id) property. + +```json +{ + "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.24/MicrosoftTeams.schema.json", + "id": "527104a1-f1a5-475a-9199-7a968161c870", + "version": "1.0.0", + "manifestVersion": "1.24", + + -- other properties omitted -- +} +``` + +For this add-in, the add-in identifier is `527104a1-f1a5-475a-9199-7a968161c870`. + +Next, you'll need the [`"control.id"`](/microsoft-365/extensibility/schema/extension-common-custom-group-controls-item#id) value of the control object that defines the add-in button that opens the appropriate task pane. Keep in mind that the control object MUST: + +- Be defined inside a ribbon object that includes `mailRead` in its [`"ribbons.contexts"`](/microsoft-365/extensibility/schema/extension-ribbons-array#contexts) array. +- Have its `"type"` property set to `button`. +- Contain an `"actionId"` set to the same value as a the [`"actions.id"`](/microsoft-365/extensibility/schema/extension-runtimes-actions-item#id) of an action object defined in the [`"extensions.runtimes"`](/microsoft-365/extensibility/schema/extension-runtimes-array) array. + +The following shows the JSON for an extensions object that includes a control that opens a task pane. + +```json +{ + -- other properties omitted -- + + "extensions": [ + { + "runtimes": [ + { + -- other properties omitted -- + + "actions": [ + { + -- other properties omitted -- + + "id": "ShowTaskpane" + } + ] + } + ], + "ribbons": [ + { + "contexts": ["mailRead"], + "tabs" [ + { + "groups": [ + { + -- other properties omitted -- + + "controls" [ + { + "id": "msgReadOpenPaneButton", + "type": "button", + "label": "Show Task Pane", + "icons": [ -- icons markup omitted -- ], + "supertip": { + "title": "Show Contoso Task Pane", + "description": "Opens the Contoso task pane." + }, + "actionId": "ShowTaskPane" + } + ] + } + ] + } + ] + } + ] + } + ] +} +``` + +For this add-in button, the ID is `msgReadOpenPaneButton`. + +# [Add-in only manifest](#tab/xmlmanifest) + +First, you'll need the add-in's identifier, which is specified in the [Id element](/office/dev/add-ins/reference/manifest/id). ```xml @@ -82,6 +165,8 @@ Next, you'll need the `id` attribute of the [Control element](/office/dev/add-in For this add-in button, the ID is `showInitContext`. +--- + With these two pieces of information, we can create a basic `Action.InvokeAddInCommand` action as follows: ```json diff --git a/docs/actionable-messages/security-requirements.md b/docs/actionable-messages/security-requirements.md index f6b5b72c..424db670 100644 --- a/docs/actionable-messages/security-requirements.md +++ b/docs/actionable-messages/security-requirements.md @@ -110,6 +110,9 @@ Sample code generating signed card: ## Verifying that requests come from Microsoft +> [!IMPORTANT] +> Actionable Messages (AM) are moving from EAT (External Access Token) to Microsoft Entra ID token authentication. Partners using EAT tokens must update their integration to support AAD tokens for requests from the AM service. For more information, see [Enabling AAD token of Actionable Messages](enable-entra-token-for-actionable-messages.md). + All action requests from Microsoft have a bearer token in the HTTP `Authorization` header. This token is a [JSON Web Token](https://jwt.io/) (JWT) token signed by Microsoft, and it includes important claims that we strongly recommend should be verified by the service handling the associated request. | Claim name | Value |