Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.useparagon.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

ActionKit supports multiple formats for accessing Tool definitions from the API, for different use cases:
  • JSON Schema format=json_schema
    • For AI agent use cases: in most cases, you can pass Tool 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 Tools to your product’s workflow builder.
    • Learn more about the Paragon format below.
You can request a specific format in the List Tools API endpoint with the format query parameter.

Paragon Format

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 Tools. When using the Paragon format, you will need to support the following types of inputs in Paragon:
Input TypeKey(s)Example
Enum input (dropdown)ENUM | DYNAMIC_ENUM
Enum input with free text support
The user should be able to add their own option, if unavailable in the list
EDITABLE_ENUM
Enum input with text area
A text input should appear to the right of the dropdown.
EnumTextAreaPairInput
Text inputTEXT | 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 inputCODE
Boolean input (switch / toggle)BOOLEAN_INPUT | SWITCH
Filter / conditional inputCONDITIONAL | DYNAMIC_CONDITIONAL

Tool polymorphism

To work around limitations of JSON Schema, the json_schema (default) format automatically breaks down polymorphic parameters into individual Tools. For example, SALESFORCE_CREATE_RECORD splits into 6 distinct Tools:
  • 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
In the paragon format, polymorphic schemas are not broken into individual Tools and instead will be represented as dependentInputs within the API (see below example). When calling Run Tool, you can reference either the specific Tool (e.g. SALESFORCE_CREATE_OPPORTUNITY) or the generic Tool (e.g. SALESFORCE_CREATE_RECORD), as long as the required parameters are supplied.
// Example format=paragon Tool Schema:
{
    "name": "SALESFORCE_CREATE_RECORD",
    "title": "Create record",
    "inputs": [
        {
            "id": "recordType",
            "title": "Record type",
            "type": "ENUM",
            "required": true,
            "values": [
                {
                    "value": "Opportunity",
                    // When recordType = "Opportunity", show inputs:
                    "dependentInputs": [...]
                },
                {
                    "value": "Contact",
                    // When recordType = "Contact", show inputs:
                    "dependentInputs": [...]
                },
                ...
            ]
        }
    ]
}