HubSpot · JSON Structure

Custom Workflow Actions Api Action Definition Input Structure

Input for creating a new action definition

Type: object Properties: 7 Required: 3
AnalyticsCommerceContentCRMCustomer ServiceEmail MarketingMarketingMarketing AutomationOperationsSales

ActionDefinitionInput is a JSON Structure definition published by HubSpot, describing 7 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

actionUrl labels inputFields outputFields objectTypes objectRequestOptions published

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$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"
  ]
}