{ "$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-input-structure.json", "name": "ActionDefinitionInput", "description": "Input for creating a new action definition", "type": "object", "properties": { "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 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 for the action", "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 to publish the action immediately", "example": true } }, "required": [ "actionUrl", "labels", "objectTypes" ] }