Schema Formats
ActionKit supports multiple formats for accessing Action definitions from the API, for different use cases:
- JSON Schema
format=json_schema
- For tool-calling agent use cases - in most cases, you can pass Action schemas directly in JSON Schema format to your LLM.
- To learn more about JSON Schema, reference the official specification. Paragon does not implement any of the non-standard fields in
draft-*
versions of JSON Schema at this time.
- Paragon
format=paragon
- For frontend configuration use cases - for example, if you are adding Actions to your product’s workflow builder.
- Learn more about the Paragon format below.
You can request a specific format in the List Actions API endpoint with the format
query parameter.
Paragon Format
Overview
The Paragon format is the same schema used internally to power our Workflow Editor. It is designed to render input fields to allow end users to configure Actions.
When using the Paragon format, you will need to support the following types of inputs in Paragon:
Input Type | Key(s) | Example |
---|---|---|
Enum input (dropdown) | ENUM | DYNAMIC_ENUM | |
Enum input with free text support | EDITABLE_ENUM | |
Enum input with text area | EnumTextAreaPairInput | |
Text input | TEXT | TEXT_NO_VARS | |
Textarea input Note that by default, lines = 1 (in this case, this input should look identical to a text input). | TEXTAREA | TEXTAREA_NO_VARS | |
Code input | CODE | |
Boolean input (switch / toggle) | BOOLEAN_INPUT | SWITCH | |
Filter / conditional input | CONDITIONAL | DYNAMIC_CONDITIONAL |
Action polymorphism
To best support tool calling, the json_schema
format automatically breaks down polymorphism in Actions as individual tools.
For example, SALESFORCE_CREATE_RECORD
splits into distinct Actions:
SALESFORCE_CREATE_OPPORTUNITY
SALESFORCE_CREATE_CONTACT
SALESFORCE_CREATE_ACCOUNT
SALESFORCE_CREATE_LEAD
SALESFORCE_CREATE_ANY
- For non-standard objects, whose fields can be discovered with
SALESFORCE_DESCRIBE_ACTION_SCHEMA
- For non-standard objects, whose fields can be discovered with
In the paragon
format, polymorphic schemas are not broken into individual Actions and instead will be represented as dependentInputs
within the API (see below example).
When calling Run Action, you can reference either the specific Action (e.g. SALESFORCE_CREATE_OPPORTUNITY
) or the generic Action (e.g. SALESFORCE_CREATE_RECORD
), as long as the required parameters are supplied.