Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Note
Are you building Copilot, Teams or Outlook scenarios powered by Adaptive Cards? Visit Adaptive Card Documentation Hub, the new one-stop-shop for all your Adaptive Card needs! It has all the resources you're looking for, including complete documentation for many new features, such as Responsive layout, Icon, Badge, Carousel, Charts, and much more!
Gathers input fields, merges with optional data field, and sends an event to the client. Clients process the event by sending an Invoke activity of type adaptiveCard/action to the target Bot. The inputs that are gathered are those on the current card, and in the case of a show card those on any parent cards. See Universal Action Model documentation for more details.
Important note about accessibility: In version 1.3 of the schema we introduced a label property on Inputs to improve accessibility. If the Host app you are targeting supports v1.3 you should use label instead of a TextBlock as seen in some samples below. Once most Host apps have updated to the latest version we will update the samples accordingly.
Action.Execute
Introduced in version 1.4
Action.Execute Properties
| Property | Type | Required | Description | Version |
|---|---|---|---|---|
| type | "Action.Execute" |
Yes | Must be "Action.Execute". |
1.4 |
| verb | string |
No | The card author-defined verb associated with this action. | 1.4 |
| data | string, object |
No | Initial data that input fields will be combined with. These are essentially ‘hidden’ properties. | 1.4 |
| associatedInputs | AssociatedInputs |
No, default: "auto" |
Controls which inputs are associated with the action. | 1.4 |
Inherited properties
| Property | Type | Required | Description | Version |
|---|---|---|---|---|
| title | string |
No | Label for button or link that represents this action. | 1.4 |
| iconUrl | uri |
No | Optional icon to be shown on the action in conjunction with the title. Supports data URI in version 1.2+ | 1.1 |
| id | string |
No | A unique identifier associated with this Action. | 1.4 |
| style | ActionStyle |
No | Controls the style of an Action, which influences how the action is displayed, spoken, etc. | 1.2 |
| fallback | Action, FallbackOption |
No | Describes what to do when an unknown element is encountered or the requires of this or any children can’t be met. | 1.2 |
| tooltip | string |
No | Defines text that should be displayed to the end user as they hover the mouse over the action, and read when using narration software. | 1.5 |
| isEnabled | boolean |
No, default: true |
Determines whether the action should be enabled. | 1.5 |
| mode | ActionMode |
No, default: "primary" |
Determines whether the action should be displayed as a button or in the overflow menu. | 1.5 |
| requires | Dictionary<string> |
No | A series of key/value pairs indicating features that the item requires with corresponding minimum version. When a feature is missing or of insufficient version, fallback is triggered. | 1.2 |
Example
Example 1: Basic Action.Execute
| JSON | Adaptive Card |
|---|---|
json { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.4", "body": [ { "type": "TextBlock", "text": "Present a form and submit it back to the originator" }, { "type": "Input.Text", "id": "firstName", "label": "What is your first name?" }, { "type": "Input.Text", "id": "lastName", "label": "What is your last name?" } ], "actions": [ { "type": "Action.Execute", "title": "Action.Execute", "verb": "doStuff", "data": { "x": 13 } } ] } |
[Adaptive Card Try it Yourself >] |
Properties
verb (Version 1.4)
The card author-defined verb associated with this action.
- Type:
string - Required: No
data (Version 1.4)
Initial data that input fields will be combined with. These are essentially ‘hidden’ properties.
- Type:
string,object - Required: No
associatedInputs (Version 1.4)
Controls which inputs are associated with the action.
- Type:
AssociatedInputs - Required: No, default:
"auto" - Allowed values:
"Auto": Inputs on the current card and any parent cards will be validated and submitted for this Action."None": None of the inputs will be validated or submitted for this Action.
title (Version 1.4)
Label for button or link that represents this action.
- Type:
string - Required: No
iconUrl (Version 1.1)
Optional icon to be shown on the action in conjunction with the title. Supports data URI in version 1.2+
- Type:
uri - Version : 1.1
- Required: No
id (Version 1.4)
A unique identifier associated with this Action.
- Type:
string - Required: No
style (Version 1.2)
Controls the style of an Action, which influences how the action is displayed, spoken, etc.
- Type:
ActionStyle - Version : 1.2
- Required: No
- Allowed values:
"default": Action is displayed as normal"positive": Action is displayed with a positive style (typically the button becomes accent color)"destructive": Action is displayed with a destructive style (typically the button becomes red)
fallback (Version 1.2)
Describes what to do when an unknown element is encountered or the requires of this or any children can't be met.
- Type:
Action,FallbackOption - Version : 1.2
- Required: No
- Allowed values:
Action.ExecuteAction.OpenUrlAction.ShowCardAction.SubmitAction.ToggleVisibility"drop": Causes this element to be dropped immediately when unknown elements are encountered. The unknown element doesn't bubble up any higher.
tooltip (Version 1.5)
Defines text that should be displayed to the end user as they hover the mouse over the action, and read when using narration software.
| JSON | Adaptive Card |
|---|---|
json { "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.5", "body": [ { "label": "Please enter your name below:", "type": "Input.Text", "id": "name" } ], "actions": [ { "type": "Action.Execute", "title": "Submit", "tooltip": "Click here to add your name to the waiting list." } ] } |
[Adaptive Card Try it Yourself >] |
- Type:
string - Version : 1.5
- Required: No
isEnabled (Version 1.5)
Determines whether the action should be enabled.
| JSON | Adaptive Card |
|---|---|
json { "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.5", "body": [ { "type": "TextBlock", "text": "Disabled Execute Button", "wrap": true } ], "actions": [ { "type": "Action.Execute", "title": "Enabled" }, { "type": "Action.Execute", "title": "Disabled", "isEnabled": false } ] } |
[Adaptive Card Try it Yourself >] |
- Type:
boolean - Version : 1.5
- Required: No, default:
true
mode (Version 1.5)
Determines whether the action should be displayed as a button or in the overflow menu.
| JSON | Adaptive Card |
|---|---|
json { "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.5", "body": [ { "type": "TextBlock", "text": "Please confirm your data:", "wrap": true, "style": "heading" }, { "type": "FactSet", "facts": [ { "title": "First Name", "value": "John" }, { "title": "Last Name", "value": "Smith" }, { "title": "Phone number ", "value": "(555) 555-5555" } ] } ], "actions": [ { "type": "Action.Execute", "title": "Confirm data" }, { "type": "Action.Execute", "title": "Edit data", "data": "edit", "mode": "secondary" }, { "type": "Action.Execute", "title": "Delete data", "data": "delete", "mode": "secondary" } ] } |
[Adaptive Card Try it Yourself >] |
- Type:
ActionMode - Version : 1.5
- Required: No, default:
"primary" - Allowed values:
"primary": Action is displayed as a button."secondary": Action is placed in an overflow menu (typically a popup menu under a...button).
requires (Version 1.2)
A series of key/value pairs indicating features that the item requires with corresponding minimum version. When a feature is missing or of insufficient version, fallback is triggered.
- Type:
Dictionary<string> - Version : 1.2
- Required: No