InvocableActionExtension

Represents the configuration that defines how an action's inputs are presented in a user interface.

Parent Type

This type extends the Metadata metadata type and inherits its fullName field.

File Suffix and Directory Location

InvocableActionExtension components have the suffix .invocableactionextension and are stored in the invocableactionextensions folder.

Version

InvocableActionExtension components are available in API version 65.0 and later.

Fields

Field Name Description
targets
Field Type
InvocableActionExtensionTarget[]
Description
The target of this invocable action extension.

InvocableActionExtensionTarget

Represents an extension that can contain attributes for an action's definition, parameters, and types. Use InvocableActionExtensionTarget as the parent element for a given target, such as an ActionParameter. Each assigned attribute is a child of this element.

Field Name Description
attributes
Field Type
InvocableActionExtensionTargetAttribute[]
Description
The list of attributes.
targetName
Field Type
string
Description

Required.

The name of the target for the attributes.

targetType
Field Type
InvocableActionExtTargetType (enumeration of type string)
Description

Required.

Specifies the type of component within the invocable action.

Values are:

  • ActionDefinition—Targets the action class.
  • ActionParameter—Targets the specific input/output parameters.
  • TypeDefinition—Targets the custom Apex types used by the action.
  • TypeProperty—Targets the individual properties within those custom types.

InvocableActionExtensionTargetAttribute

Represents the individual configuration attributes within an extension target. Use InvocableActionExtensionTargetAttribute as the child element of InvocableActionExtensionTarget to define specific behaviors, dependencies, and properties. Each attribute consists of a key-value pair with an associated data type. This configuration determines how the target action parameter, type property, or action definition behaves.

Field Name Description
dataType
Field Type
InvocableActionExtAttributeDataType (enumeration of type string)
Description

Required.

The data type of the value stored in the value field.

Values are:

  • Boolean
  • Date
  • Double
  • Integer
  • Long
  • String
key
Field Type
string
Description

Required.

The key field that specifies which standard attribute to provide a value for, or provides a custom key. The available standard keys are:

  • CpeName—Assigns a Lightning web component as a partial custom property editor for a primary input parameter in the action's property panel in Flow Builder.
  • ConfiguredBy—Links an input parameter to be controlled by another parameter's custom property editor in the action's property panel in Flow Builder.
  • ControllingField—Controls the visibility of an input parameter based on another input parameter's existence in the action's property panel in Flow Builder.
  • CustomHeaderLwcName—Adds a custom header at the top of the action's property panel in Flow Builder.
  • GroupName—Organizes input parameters into collapsible sections in the action's property panel in Flow Builder.
  • Order—Controls the vertical display sequence of input parameters in the action's property panel in Flow Builder.
  • ProvidedValueList—Defines picklist values for an input parameter in the action's property panel in Flow Builder.

For a custom key, enter any value that contains letters, numbers, or single underscores, starts with a letter, and ends with __c.

This field is available in API version 67.0 and later.
value
Field Type
string
Description

Required.

The value of the associated key. An Invocable Action Extension can have multiple attributes, each with its own value.

Declarative Metadata Sample Definition

The following example shows an InvocableActionExtension component definition.

1<?xml version="1.0" encoding="UTF-8"?>
2<InvocableActionExt xmlns="http://soap.sforce.com/2006/04/metadata">
3    <targets>
4        <targetType>ActionParameter</targetType>
5        <targetName>Example.Request.inputOne</targetName>
6        <attributes>
7            <key>Order</key>
8            <dataType>Integer</dataType>
9            <value>1</value>
10        </attributes>
11        <attributes>
12            <key>Group</key>
13            <dataType>String</dataType>
14            <value>Group A</value>
15        </attributes>
16    </targets>
17    <targets>
18        <targetType>ActionParameter</targetType>
19        <targetName>Example.Request.inputTwo</targetName>
20        <attributes>
21            <key>Order</key>
22            <dataType>Integer</dataType>
23            <value>2</value>
24        </attributes>
25        <attributes>
26            <key>Group</key>
27            <dataType>String</dataType>
28            <value>Group A</value>
29        </attributes>
30    </targets>
31    <targets>
32        <targetType>ActionParameter</targetType>
33        <targetName>Example.Request.inputThree</targetName>
34        <attributes>
35            <key>Order</key>
36            <dataType>Integer</dataType>
37            <value>3</value>
38        </attributes>
39        <attributes>
40            <key>Group</key>
41            <dataType>String</dataType>
42            <value>Group B</value>
43        </attributes>
44    </targets>
45</InvocableActionExt>

The following example shows how to define static picklist values for an input parameter.

1<?xml version="1.0" encoding="UTF-8"?>
2<InvocableActionExtension xmlns="http://soap.sforce.com/2006/04/metadata">
3    <targets>
4        <targetType>ActionParameter</targetType>
5        <targetName>Example.Request.inputOne</targetName>
6        <attributes>
7            <key>ProvidedValueList</key>
8            <dataType>String</dataType>
9            <value>option1|Option 1, option2|Option 2, option3|Option 3</value>
10        </attributes>
11    </targets>
12</InvocableActionExtension>

The following example shows how to reference a dynamic picklist class for an input parameter.

1<?xml version="1.0" encoding="UTF-8"?>
2<InvocableActionExtension xmlns="http://soap.sforce.com/2006/04/metadata">
3    <targets>
4        <targetType>ActionParameter</targetType>
5        <targetName>Example.Request.inputOne</targetName>
6        <attributes>
7            <key>ProvidedValueList</key>
8            <dataType>String</dataType>
9            <value>apex://MyDynamicPicklistClass</value>
10        </attributes>
11    </targets>
12</InvocableActionExtension>

The following example shows how to assign a partial custom property editor to a primary parameter and link a related parameter.

1<?xml version="1.0" encoding="UTF-8"?>
2<InvocableActionExtension xmlns="http://soap.sforce.com/2006/04/metadata">
3    <targets>
4        <targetType>ActionParameter</targetType>
5        <targetName>Example.Request.inputOne</targetName>
6        <attributes>
7            <key>CpeName</key>
8            <dataType>String</dataType>
9            <value>c:myCustomEditor</value>
10        </attributes>
11    </targets>
12    <targets>
13        <targetType>ActionParameter</targetType>
14        <targetName>Example.Request.inputTwo</targetName>
15        <attributes>
16            <key>ConfiguredBy</key>
17            <dataType>String</dataType>
18            <value>inputOne</value>
19        </attributes>
20    </targets>
21</InvocableActionExtension>

The following example shows how to add a custom header to an action.

1<?xml version="1.0" encoding="UTF-8"?>
2<InvocableActionExtension xmlns="http://soap.sforce.com/2006/04/metadata">
3    <targets>
4        <targetType>ActionDefinition</targetType>
5        <targetName>Example</targetName>
6        <attributes>
7            <key>CustomHeaderLwcName</key>
8            <dataType>String</dataType>
9            <value>c:myCustomHeader</value>
10        </attributes>
11    </targets>
12</InvocableActionExtension>

The following example shows a package.xml file that references the previous definition.

1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3    <types>
4        <members>Example</members>
5        <name>InvocableActionExtension</name>
6    </types>
7    <version>65.0</version>
8</Package>

Wildcard Support in the Manifest File

This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the manifest file, see Deploying and Retrieving Metadata with the Zip File.