HubSpot · JSON Structure
Custom Workflow Actions Api Action Definition Structure
A custom workflow action definition
Type: object
Properties: 10
Required: 5
AnalyticsCommerceContentCRMCustomer ServiceEmail MarketingMarketingMarketing AutomationOperationsSales
ActionDefinition is a JSON Structure definition published by HubSpot, describing 10 properties, of which 5 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
id
revisionId
actionUrl
labels
inputFields
outputFields
objectTypes
objectRequestOptions
published
functions
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/hubspot/refs/heads/main/json-structure/custom-workflow-actions-api-action-definition-structure.json",
"name": "ActionDefinition",
"description": "A custom workflow action definition",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the action definition",
"example": "500123"
},
"revisionId": {
"type": "string",
"description": "The current revision identifier",
"example": "500123"
},
"actionUrl": {
"type": "uri",
"description": "The URL that HubSpot will call when the action executes",
"example": "https://app.hubspot.com/contacts/12345"
},
"labels": {
"type": "object",
"description": "Human-readable labels for the action",
"required": [
"actionName"
],
"properties": {
"actionName": {
"type": "string",
"description": "The display name of the action",
"example": "Example Record"
},
"actionDescription": {
"type": "string",
"description": "A description of what the action does",
"example": "This is an example description."
},
"appDisplayName": {
"type": "string",
"description": "The name of the app providing this action",
"example": "Example Record"
},
"actionCardContent": {
"type": "string",
"description": "Content to display on the action card in the workflow editor",
"example": "example-value"
}
}
},
"inputFields": {
"type": "array",
"description": "Input fields that users can configure for the action",
"items": {
"type": "object",
"description": "An input field for the action",
"required": [
"typeDefinition",
"supportedValueTypes"
],
"properties": {
"typeDefinition": {
"$ref": "#/components/schemas/FieldTypeDefinition"
},
"supportedValueTypes": {
"type": "array",
"description": "The types of values that can be provided for this field",
"items": {
"type": "string",
"enum": [
"STATIC_VALUE",
"OBJECT_PROPERTY",
"OUTPUT_FROM_PREVIOUS_ACTION"
]
},
"example": [
"STATIC_VALUE"
]
},
"isRequired": {
"type": "boolean",
"description": "Whether this field is required",
"example": true
}
}
},
"example": [
{
"typeDefinition": {},
"supportedValueTypes": [
{}
],
"isRequired": true
}
]
},
"outputFields": {
"type": "array",
"description": "Output fields that the action returns",
"items": {
"type": "object",
"description": "An output field returned by the action",
"required": [
"typeDefinition"
],
"properties": {
"typeDefinition": {
"$ref": "#/components/schemas/FieldTypeDefinition"
}
}
},
"example": [
{
"typeDefinition": {}
}
]
},
"objectTypes": {
"type": "array",
"description": "CRM object types this action can operate on",
"items": {
"type": "string",
"enum": [
"CONTACT",
"COMPANY",
"DEAL",
"TICKET",
"QUOTE"
]
},
"example": [
"CONTACT"
]
},
"objectRequestOptions": {
"type": "object",
"description": "Options for requesting CRM object data",
"properties": {
"properties": {
"type": "array",
"description": "CRM properties to include in the action execution request",
"items": {
"type": "string"
},
"example": [
"example-value"
]
}
}
},
"published": {
"type": "boolean",
"description": "Whether the action is published and available for use",
"example": true
},
"functions": {
"type": "array",
"description": "Functions associated with this action",
"items": {
"type": "object",
"description": "A reference to a function associated with an action",
"required": [
"functionType",
"id"
],
"properties": {
"functionType": {
"type": "string",
"enum": [
"PRE_ACTION_EXECUTION",
"PRE_FETCH_OPTIONS",
"POST_FETCH_OPTIONS",
"POST_ACTION_EXECUTION"
],
"description": "The type of function",
"example": "PRE_ACTION_EXECUTION"
},
"id": {
"type": "string",
"description": "The unique identifier of the function",
"example": "500123"
}
}
},
"example": [
{
"functionType": "PRE_ACTION_EXECUTION",
"id": "500123"
}
]
}
},
"required": [
"id",
"revisionId",
"actionUrl",
"labels",
"objectTypes"
]
}