Learn how to define a custom workflow action on the latest version of the developer platform (BETA).
workflow-actions
directory in the project, along with a *-hsmeta.json
configuration file.
*-hsmeta.json
file.
Fields marked with * are required.
Field | Type | Description |
---|---|---|
uid * | String | An internal unique identifier for the workflow action. |
type * | String | The type of component, which should be workflow-action in this case. |
actionUrl * | String | The webhook URL of the API to deliver a workflow execution request. |
isPublished | Boolean | Determines whether the definition is visible in accounts that installed your app. By default, this is set to false . |
supportedClients * | Array of objects | Specifies the clients that the custom workflow action supports. Each object in the array should have a client key with a string value indicating the client type (e.g., WORKFLOWS ). |
inputFields | Array | The values for the inputs that the user has filled out. |
typeDefinition.name | String | The name or key of the input field. |
typeDefinition.type | String | The value type that the input field should expect. |
typeDefinition.fieldType | String | The type of field that appears to users creating the workflow. |
typeDefinition.options | Array | For enumeration types, this field provides a list of options. Each option must have a value , based on the input the user provides, and a label , which identifies the option in the workflows tool. |
inputFieldDependencies | Array | A list of rules that define the relationships between two or more inputs, based on their dependencyType . Learn more in the example here. |
labels.<locale> * | String | Locale key that maps to the locale definition. At a minimum, an english label (en ) and its definition must be defined. |
labels.<locale>.inputFieldDescriptions | Object | An object that defines the details for the inputs for your action. In the example above, this object includes message and priority fields. |
labels.<locale>.inputFieldOptionLabels | Object | An object that’s required if your input field(s) have options. Provides a map of input field option labels, keyed by the option’s value or label. |
labels.<locale>.outputFieldLabels | Object | An object that maps the definitions from outputFields to the corresponding labels that appear in the workflows tool. |
labels.<locale>.actionName * | String | The action’s name as shown in the Choose an action panel in the workflows editor. |
labels.<locale>.appDisplayName * | String | The name of the section in the Choose an action panel where all actions for the app appear. If appDisplayName is defined for multiple actions, the first one found will be used. |
labels.<locale>.actionCardContent | String | A summarized description shown in the action’s card. |
labels.<locale>.executionRules | Object | An object that maps the definitions from your executionRules to messages that will appear for execution results in the workflow’s history. |
objectTypes | Array | The available CRM object types that this action can be used with. If empty, the action will be available for all object types. |
outputFields | Array | The values that the action will output that can be used by later actions in the workflow. A custom action can have 0, 1, or many outputs. |
executionRules | Object | A list of definitions you can specify to surface errors from your service to the user creating the workflow. |