{
  "type": "object",
  "description": "A paginated collection of action definitions",
  "properties": {
    "results": {
      "type": "array",
      "description": "List of action definitions",
      "example": [
        {
          "id": "500123",
          "revisionId": "500123",
          "actionUrl": "https://app.hubspot.com/contacts/12345",
          "labels": {},
          "inputFields": [
            {
              "typeDefinition": {},
              "supportedValueTypes": [
                {}
              ],
              "isRequired": true
            }
          ],
          "outputFields": [
            {
              "typeDefinition": {}
            }
          ],
          "objectTypes": [
            "CONTACT"
          ],
          "objectRequestOptions": {},
          "published": true,
          "functions": [
            {
              "functionType": "PRE_ACTION_EXECUTION",
              "id": "500123"
            }
          ]
        }
      ],
      "items": {
        "type": "object",
        "description": "A custom workflow action definition",
        "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": "string",
            "description": "The URL that HubSpot will call when the action executes",
            "format": "uri",
            "example": "https://app.hubspot.com/contacts/12345"
          },
          "labels": {
            "type": "object",
            "description": "Human-readable labels for the action",
            "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"
              }
            },
            "required": [
              "actionName"
            ]
          },
          "inputFields": {
            "type": "array",
            "description": "Input fields that users can configure for the action",
            "example": [
              {
                "typeDefinition": {},
                "supportedValueTypes": [
                  {}
                ],
                "isRequired": true
              }
            ],
            "items": {
              "type": "object",
              "description": "An input field for the action",
              "properties": {
                "typeDefinition": {
                  "type": "object",
                  "description": "Definition of a field's type and configuration",
                  "properties": {
                    "name": {
                      "type": "object"
                    },
                    "type": {
                      "type": "object"
                    },
                    "fieldType": {
                      "type": "object"
                    },
                    "label": {
                      "type": "object"
                    },
                    "description": {
                      "type": "object"
                    },
                    "options": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "name",
                    "type"
                  ]
                },
                "supportedValueTypes": {
                  "type": "array",
                  "description": "The types of values that can be provided for this field",
                  "example": [
                    "STATIC_VALUE"
                  ],
                  "items": {
                    "type": "object"
                  }
                },
                "isRequired": {
                  "type": "boolean",
                  "description": "Whether this field is required",
                  "example": true
                }
              },
              "required": [
                "typeDefinition",
                "supportedValueTypes"
              ]
            }
          },
          "outputFields": {
            "type": "array",
            "description": "Output fields that the action returns",
            "example": [
              {
                "typeDefinition": {}
              }
            ],
            "items": {
              "type": "object",
              "description": "An output field returned by the action",
              "properties": {
                "typeDefinition": {
                  "type": "object",
                  "description": "Definition of a field's type and configuration",
                  "properties": {
                    "name": {
                      "type": "object"
                    },
                    "type": {
                      "type": "object"
                    },
                    "fieldType": {
                      "type": "object"
                    },
                    "label": {
                      "type": "object"
                    },
                    "description": {
                      "type": "object"
                    },
                    "options": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "name",
                    "type"
                  ]
                }
              },
              "required": [
                "typeDefinition"
              ]
            }
          },
          "objectTypes": {
            "type": "array",
            "description": "CRM object types this action can operate on",
            "example": [
              "CONTACT"
            ],
            "items": {
              "type": "string",
              "enum": [
                "CONTACT",
                "COMPANY",
                "DEAL",
                "TICKET",
                "QUOTE"
              ]
            }
          },
          "objectRequestOptions": {
            "type": "object",
            "description": "Options for requesting CRM object data",
            "properties": {
              "properties": {
                "type": "array",
                "description": "CRM properties to include in the action execution request",
                "example": [
                  "example-value"
                ],
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "published": {
            "type": "boolean",
            "description": "Whether the action is published and available for use",
            "example": true
          },
          "functions": {
            "type": "array",
            "description": "Functions associated with this action",
            "example": [
              {
                "functionType": "PRE_ACTION_EXECUTION",
                "id": "500123"
              }
            ],
            "items": {
              "type": "object",
              "description": "A reference to a function associated with an action",
              "properties": {
                "functionType": {
                  "type": "string",
                  "description": "The type of function",
                  "example": "PRE_ACTION_EXECUTION",
                  "enum": [
                    "PRE_ACTION_EXECUTION",
                    "PRE_FETCH_OPTIONS",
                    "POST_FETCH_OPTIONS",
                    "POST_ACTION_EXECUTION"
                  ]
                },
                "id": {
                  "type": "string",
                  "description": "The unique identifier of the function",
                  "example": "500123"
                }
              },
              "required": [
                "functionType",
                "id"
              ]
            }
          }
        },
        "required": [
          "id",
          "revisionId",
          "actionUrl",
          "labels",
          "objectTypes"
        ]
      }
    },
    "paging": {
      "type": "object",
      "description": "Pagination information",
      "properties": {
        "next": {
          "type": "object",
          "example": {
            "after": "example-value"
          },
          "properties": {
            "after": {
              "type": "string",
              "description": "Cursor for the next page"
            }
          }
        }
      }
    }
  },
  "required": [
    "results"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "ActionDefinitionCollection"
}