API Reference
API Reference

Tool Info

Get the details of a specific tool

GET/api/v1/tools/{tool_name}

Authentication

Syllable-API-Keyrequired

Send Syllable-API-Key in the header.

Need a credential? Create or manage an API token in the Syllable Console.

Parameters

Path parameters

tool_name string path required

Responses

200Successful Response

application/json

response ToolDetailResponse required
13 fields
namestringrequired

The name of the tool

definitionToolDefinitionrequired

The definition of the tool

9 fields
typeenum<string> | nulloptional

The action to take when the LLM calls the tool.

Allowed values ["action","endpoint","context","log"]
toolInternalToolrequired

The tool definition to be used by the OpenAI API.

2 fields
typestringoptional

Always function.

Constant functionDefault function
functionToolFunctionrequired

The tool function definition, including the JSON Schema of its parameters.

3 fields
namestringrequired

The name of the function/tool call.

descriptionstringrequired

The description of the tool.

parametersunspecifiedrequired

The JSON Schema of parameters of the function/tool call.

endpointToolHttpEndpoint | nulloptional

The configuration for an HTTP API call.

4 options
urlstringrequired

The endpoint URL of the external service to call.

methodenum<string>required

The HTTP method to use for the service call.

Allowed values ["get","post","put","delete"]
argument_locationenum<string>required

How to pass the arguments to the request.

Allowed values ["body","form","path","query"]
timeoutnumber | nulloptional

Timeout in seconds for the HTTP request. Default 20 seconds when not set.

Minimum 1Maximum 120
contextContext | nulloptional

The configuration for a context tool.

1 options
taskExpressionTask | LoadToolFromFileTask | EventTask | StepsTask | ExpressionTask | LoadToolFromFileTask | EventTask | StepsTask[] | nulloptional

Task implementation details

Item schema
Option 1ExpressionTask | LoadToolFromFileTask | EventTask | StepsTaskoptional
4 options
Option 1ExpressionTaskoptional
11 fields
idstring | nulloptional

A unique identifier for the task.

configobject | nulloptional
1 options
{key}JsonValueoptional
variablesVariable[] | nulloptional
Item schema
itemsVariablerequired
10 fields
valueJsonValue | nullreference defined above

Initial value of the variable.

valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Expression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Mutually exclusive with value.

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionoptional

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

2 fields
expressionstringrequired

CEL expression string.

typestringoptional

CEL expression language selector. Use with object form {"type":"cel","expression":"..."}.

Constant celDefault cel
Option 2JMESPathExpressionoptional

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

2 fields
expressionstringrequired

JMESPath expression string.

typeenum<string>optional

JMESPath expression language selector. Use with object form {"type":"jp"|"jmespath","expression":"..."}.

Allowed values ["jp","jmespath"]Default jp
Option 2CaseExpressionoptional

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

1 field
caseConditionalValue[]required

Ordered conditional branches (reserved for future runtime support).

Item schema
itemsConditionalValuerequired
3 fields
valueJsonValue | nullreference defined above

Initial value of the variable.

valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Expression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Mutually exclusive with value.

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionrecursive reference

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionrecursive reference

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
Option 3stringoptional
Option 4nulloptional
namestringrequired

The name of the property.

typeenum<string> | nulloptional
Allowed values ["string","number","integer","boolean","object","array","null"]
descriptionstring | nulloptional
titlestring | nulloptional
formatstring | nulloptional
patternstring | nulloptional
enumstring[] | nulloptional
Item schema
itemsstringrequired
examplesJsonValue[] | nulloptional
Item schema
itemsJsonValuereference defined above
metadataContextTaskMetadata | nulloptional
1 options
priorityinteger | nulloptional
toolContextToolInfo | nulloptional
2 options
namestring | nulloptional

The name of the generated tool.

descriptionstring | nulloptional

The description of the tool.

typestringoptional
Constant expressionDefault expression
versionstringoptional
Constant v1alphaDefault v1alpha
inputsInputParameter[]optional
Item schema
itemsInputParameterrequired
9 fields
namestringrequired

The name of the property.

typeenum<string> | nulloptional
Allowed values ["string","number","integer","boolean","object","array","null"]
descriptionstring | nulloptional
titlestring | nulloptional
formatstring | nulloptional
patternstring | nulloptional
enumstring[] | nulloptional
Item schema
itemsstringrequired
examplesJsonValue[] | nulloptional
Item schema
itemsJsonValuereference defined above
requiredbooleanoptional
Default true
expressionCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Expression for task output/logic. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}.

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
outputJsonValue | nullreference defined above
onExpressionTaskEventsoptional

Actions to execute when the configured events occur.

2 fields
startSetValueAction | IncrementAction | CallAction | SayAction[] | nulloptional

Actions to execute on the first input from the user.

Item schema
itemsSetValueAction | IncrementAction | CallAction | SayActionrequired
4 options
Option 1SetValueActionrequired
5 fields
valueJsonValue | nullreference defined above

Initial value of the variable.

valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Expression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Mutually exclusive with value.

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
actionstringoptional
Constant setDefault set
namestringrequired

Destination path to mutate (e.g. output.foo).

Option 2IncrementActionrequired
4 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
actionstringoptional
Constant incDefault inc
namestringrequired

Numeric destination path to increment.

byintegeroptional

Increment amount (defaults to 1).

Default 1
Option 3CallActionrequired
5 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
actionstringoptional
Constant callDefault call
namestringrequired

The name of the tool to call.

argumentsobject | nulloptional

Optional arguments to pass to the tool (supports template strings)

1 options
{key}JsonValuereference defined above
resultCallResult | nulloptional

Optional deterministic result-capture configuration. When present, selected fields from the tool response are saved into workflow state, so later transitions/conditions/validations can branch on them without the model re-deriving them from tool call history. Currently applied only when the call is routed in inject mode (arguments already complete); hinted/routed calls are not yet supported.

1 options
saveCallResultSaveMapping[]optional

Field mappings extracted from the tool response into workflow state.

Item schema
itemsCallResultSaveMappingrequired

One field-extraction mapping applied to a call action's tool response.

Example: {"from": "is_valid", "to": "is_valid"} Example (derived value): {"from": "status == 'valid'", "to": "is_valid"}

2 fields
fromCelExpression | JMESPathExpression | CaseExpression | stringrequired

Expression evaluated against the parsed tool response body (the JSON the external tool returned). Supported forms: (1) JMESPath string (default for plain strings) — a bare field name for raw passthrough, or a boolean/computed expression for derived values, (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}.

3 options
Option 1CelExpression | JMESPathExpressionrequired
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringrequired
tostringrequired

Workflow variable name to store the extracted value under.

Option 4SayActionrequired
4 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
textstringrequired

Text to apply if the condition is true.

actionstringoptional
Constant sayDefault say
roleenum<string>optional

The role of the message.

Allowed values ["user","assistant"]Default assistant
submitSetValueAction | IncrementAction | SaveAction | CallAction | SayAction[] | nulloptional

Actions to execute when the tool/step is submitted by the LLM.

Item schema
itemsSetValueAction | IncrementAction | SaveAction | CallAction | SayActionrequired
5 options
Option 1SetValueActionreference defined above
Option 2IncrementActionreference defined above
Option 3SaveActionrequired
4 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
actionstringoptional
Constant saveDefault save
namestring | nulloptional

Target name to save (defaults to global variable).

inputsstring[] | nulloptional

Input field names to persist; None saves all collected inputs.

Item schema
itemsstringrequired
Option 4CallActionreference defined above
Option 5SayActionreference defined above
Option 2LoadToolFromFileTaskoptional

Bootstraps a tool from a file (for internal developer use only if ENV.local=True).

8 fields
idstring | nulloptional

A unique identifier for the task.

configobject | nulloptional
1 options
{key}JsonValuereference defined above
variablesVariable[] | nulloptional
Item schema
itemsVariablereference defined above
metadataContextTaskMetadata | nullreference defined above
toolContextToolInfo | nullreference defined above
typestringoptional
Constant importDefault import
versionstringoptional
Constant v1alphaDefault v1alpha
filestring | string[]required

The local path of the tool definition JSON file.

Item schema
Option 1stringrequired
Option 2string[]required
Item schema
itemsstringrequired
Option 3EventTaskoptional
8 fields
idstring | nulloptional

A unique identifier for the task.

configobject | nulloptional
1 options
{key}JsonValuereference defined above
variablesVariable[] | nulloptional
Item schema
itemsVariablereference defined above
metadataContextTaskMetadata | nullreference defined above
toolContextToolInfo | nullreference defined above
typestringoptional
Constant eventDefault event
versionstringoptional
Constant v1alphaDefault v1alpha
onEventTaskEventsoptional

Actions to execute when the configured events occur.

1 field
startSetValueAction | IncrementAction | CallAction | SayAction[] | nulloptional

Actions to execute on the first input from the user.

Item schema
itemsSetValueAction | IncrementAction | CallAction | SayActionrequired
4 options
Option 1SetValueActionreference defined above
Option 2IncrementActionreference defined above
Option 3CallActionreference defined above
Option 4SayActionreference defined above
Option 4StepsTaskoptional
9 fields
idstring | nulloptional

A unique identifier for the task.

configobject | nulloptional
1 options
{key}JsonValuereference defined above
variablesVariable[] | nulloptional
Item schema
itemsVariablereference defined above
metadataContextTaskMetadata | nullreference defined above
toolContextToolInfo | nullreference defined above
typestringoptional
Constant stepsDefault steps
versionstringoptional
Constant v1alphaDefault v1alpha
startenum<string>optional

Controls when the workflow activation lifecycle runs. auto activates at session start; manual activates on first invocation.

Allowed values ["auto","manual"]Default auto
stepsStep[]optional
Item schema
itemsSteprequired
7 fields
idstringrequired

The unique identifier of the step.

goalstringrequired

The goal of the step.

instructionsConditionalText | string[]optional

The instructions for the step.

Item schema
itemsConditionalText | stringrequired
2 options
Option 1ConditionalTextrequired
2 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
textstringrequired

Text to apply if the condition is true.

Option 2stringrequired
toolsStepToolsoptional

The tools configuration for the step.

3 fields
callboolean | nulloptional

Whether to force immediate tool call without user interaction.

allowstring[] | nulloptional

List of allowed tool names for this step.

Item schema
itemsstringrequired
allowGoToStepboolean | nulloptional

Whether to expose the go_to_step escape hatch to the LLM. Defaults to disabled.

inputsInputParameter[]optional

The inputs for the step.

Item schema
itemsInputParameterreference defined above
onStepEventActionsoptional

The events that trigger the actions to be executed.

4 fields
startSetValueAction | IncrementAction | CallAction | SayAction[] | nulloptional

Actions to execute on the first input from the user.

Item schema
itemsSetValueAction | IncrementAction | CallAction | SayActionrequired
4 options
Option 1SetValueActionreference defined above
Option 2IncrementActionreference defined above
Option 3CallActionreference defined above
Option 4SayActionreference defined above
enterGetValueAction | SetValueAction | IncrementAction | CallAction | SayAction[] | nulloptional

Actions to execute when entering a step (before collecting inputs).

Item schema
itemsGetValueAction | SetValueAction | IncrementAction | CallAction | SayActionrequired
5 options
Option 1GetValueActionrequired
6 fields
valueJsonValue | nullreference defined above

Initial value of the variable.

valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Expression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Mutually exclusive with value.

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
actionenum<string>optional

Populate default input values.

Allowed values ["get","load"]Default get
inputsstring[] | nulloptional

Input field names to populate; None populates all step inputs.

Item schema
itemsstringrequired
overwritebooleanoptional

If False (default), only populate empty inputs. If True, always overwrite.

Default false
Option 2SetValueActionreference defined above
Option 3IncrementActionreference defined above
Option 4CallActionreference defined above
Option 5SayActionreference defined above
presubmitGetValueAction | SetValueAction | IncrementAction | SaveAction[] | nulloptional

Actions to execute before validation (data-mutation only: set, inc, save). Use this to set default values for required fields that would otherwise fail validation.

Item schema
itemsGetValueAction | SetValueAction | IncrementAction | SaveActionrequired
4 options
Option 1GetValueActionreference defined above
Option 2SetValueActionreference defined above
Option 3IncrementActionreference defined above
Option 4SaveActionreference defined above
submitSetValueAction | IncrementAction | SaveAction | CallAction | SayAction[] | nulloptional

Actions to execute when the tool/step is submitted by the LLM.

Item schema
itemsSetValueAction | IncrementAction | SaveAction | CallAction | SayActionrequired
5 options
Option 1SetValueActionreference defined above
Option 2IncrementActionreference defined above
Option 3SaveActionreference defined above
Option 4CallActionreference defined above
Option 5SayActionreference defined above
nextNextStep | string[]optional

The next steps to execute.

Item schema
itemsNextStep | stringrequired
2 options
Option 1NextSteprequired

Represents a conditional transition to the next step.

3 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == true".

4 options
Option 1CelExpression | JMESPathExpressionoptional
2 options
Option 1CelExpressionreference defined above

Google CEL expression object.

Use this object form when you want CEL syntax: {"type": "cel", "expression": "inputs.count + 1"} See https://github.com/google/cel-spec/blob/master/doc/langdef.md

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

Use this object form to explicitly mark JMESPath syntax: {"type": "jp", "expression": "inputs.can_sign_consent == true"} See https://jmespath.org/specification.html#grammar

Option 2CaseExpressionreference defined above

Conditional branch expression.

Note: CaseExpression is currently reserved and not yet executed at runtime.

Option 3stringoptional
Option 4nulloptional
idstringrequired

The identifier of the next step.

requiresstring[] | nulloptional

List of input field names required for this transition. Validates that specified inputs are collected before allowing transition.

Item schema
itemsstringrequired
Option 2stringrequired
Option 2ExpressionTask | LoadToolFromFileTask | EventTask | StepsTask[]optional
Item schema
itemsExpressionTask | LoadToolFromFileTask | EventTask | StepsTaskrequired
4 options
Option 1ExpressionTaskreference defined above
Option 2LoadToolFromFileTaskreference defined above

Bootstraps a tool from a file (for internal developer use only if ENV.local=True).

Option 3EventTaskreference defined above
Option 4StepsTaskreference defined above
Option 3nulloptional
defaultsunspecified | object | nulloptional

The default values for the parameters of the function/tool call.

3 options
Option 1unspecifiedoptional
Option 2objectoptional
1 field
{key}ToolParameterDefaultoptional

The default value for a parameter of a tool call.

1 field
transformToolParameterTransformrequired

The transform to apply to the value before using it as the default.

4 fields
actionenum<string>optional

The action to perform on the tool parameter value: default means only set the value (using the format field) if the parameter doesn't exist or is empty, override means always set the value," and remove means "remove the parameter value."

Allowed values ["default","override","remove"]Default default
whenToolParameterTransformCondition | nulloptional

Only apply the transform if the condition is met.

3 options
keystringrequired

The name of the parameter to check.

valuestringrequired

The value to check against the parameter.

operatorstring | nulloptional

The operator to use for the comparison. Currently only supports "eq"

Default eqConstant eq
valueunspecified | nulloptional

The default value to use for the parameter.

formatstring | nulloptional

The string value to use for the parameter. The value will be evaluated with the Python str.format method, for example, Hello, {name}!

Option 3nulloptional
static_parametersStaticToolParameter[] | nulloptional

Parameters for the tool whose values should be set at config time (i.e., not provided by the LLM).

Item schema
itemsStaticToolParameterrequired

A parameter for the tool whose value should be set at config time.

5 fields
namestringrequired

The name of the parameter - must be unique within the tool.

descriptionstring | nulloptional

The description of the parameter.

requiredbooleanrequired

Whether the parameter is required to have a value assigned.

typeenum<string>required

The expected type for the parameter.

Allowed values ["string","int","boolean","data_source_list"]
defaultunspecified | nulloptional

The default value for the parameter. If type is string, must be a string. If type is int, must be an int. If type is boolean, must be a boolean. If type is data_source_list, must be a list of strings (data source names).

resultunspecified | nulloptional

The optional result of the tool call.

optionsToolOptions | nulloptional

The options for the tool. Ie allows to propagate the tool result to the caller via propagate_tool_result flag.

1 options
propagate_tool_resultbooleanoptional

Whether the tool call result should be propagated to the caller.

Default false
response_displayResponseDisplayConfig | nulloptional

Optional mapping used to format propagated results in live chat responses.

4 options
versionintegeroptional
Constant 1Default 1
typestringrequired
Constant card-list
items_pathstringrequired
mappingDisplayCardMappingrequired

Supported mappings from one result item to the existing card shape.

11 fields
media.imageUrlstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourceoptional

Select or interpolate a value from one item in a tool result.

3 fields
pathstring | nulloptional
templatestring | nulloptional
defaultunspecified | nulloptional
Option 6nulloptional
media.originalImageWidthstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
media.originalImageHeightstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
media.maxHeightstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
content.headerstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
content.subheaderstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
content.descriptionstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
content.avatarImageUrlstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
content.contentAlwaysLeftstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
actionsDisplayActionMapping[]optional
Item schema
itemsDisplayActionMappingrequired
6 fields
typeenum<string>required
Allowed values ["text","link","button","message"]
textstring | integer | number | boolean | DisplayValueSourceoptional
Default
5 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

iconenum<string>optional
Allowed values ["phone","email","chat","calendar","arrow"]Default arrow
linkstring | integer | number | boolean | DisplayValueSourceoptional
Default
5 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

actionIdstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
messagestring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
ctaDisplayCtaMapping | nulloptional
5 options
textstring | integer | number | boolean | DisplayValueSourceoptional
Default
5 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

iconenum<string>optional
Allowed values ["phone","email","chat","calendar","arrow"]Default arrow
linkstring | integer | number | boolean | DisplayValueSourceoptional
Default
5 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

actionIdstring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
messagestring | integer | number | boolean | DisplayValueSource | nulloptional
6 options
Option 1stringoptional
Option 2integeroptional
Option 3numberoptional
Option 4booleanoptional
Option 5DisplayValueSourcereference defined above

Select or interpolate a value from one item in a tool result.

Option 6nulloptional
service_idintegerrequired

Internal ID of the service to which the tool belongs

idintegerrequired

The internal ID of the tool

last_updated_commentsstring | nulloptional

Comments for the most recent edit to the tool.

service_namestring | nulloptional

The name of the service to which the tool belongs

prompts_infoToolPromptInfo[] | nulloptional

IDs and names of the prompts linked to the tool

Item schema
itemsToolPromptInforequired

Information about a prompt linked to a tool.

2 fields
idintegerrequired

The ID of the prompt

namestringrequired

The name of the prompt

agents_infoToolAgentInfo[] | nulloptional

IDs and names of the agents linked to the tool via a prompt

Item schema
itemsToolAgentInforequired

Information about an agent linked to a tool via a prompt.

2 fields
idintegerrequired

The internal ID of the agent

namestringrequired

The name of the agent

last_updatedstring (date-time)required

The timestamp of the most recent update to the tool

last_updated_bystringrequired

The email of the user who last updated the tool

version_numberintegerrequired

Highest tools_history snapshot version for this tool; the tools row defaults to 1.

validation_issuesValidationIssue[] | nulloptional

Validation issues found in the tool definition. Warnings and infos are informational; errors block the save.

Item schema
itemsValidationIssuerequired

A single validation finding with severity, location, and description.

5 fields
idstringrequired

Stable machine-readable identifier (kebab-case)

severityenum<string>optional
Allowed values ["info","warning","error"]Default error
messagestringrequired

Human-readable description

pathstring | nulloptional

JSONPath-style location (e.g. $.context.task.steps[2])

valuestring | nulloptional

The offending value, when it adds clarity

fieldsstring[]required

Fields that the tool accepts as input

Item schema
itemsstringrequired
Response example
{
  "name": "string",
  "definition": {
    "type": "string",
    "tool": {
      "type": "function",
      "function": {
        "name": "string",
        "description": "string",
        "parameters": "string"
      }
    },
    "endpoint": "string",
    "context": "string",
    "defaults": "string",
    "static_parameters": "string",
    "result": "string",
    "options": "string",
    "response_display": "string"
  },
  "service_id": 0,
  "id": 0,
  "last_updated_comments": "string",
  "service_name": "string",
  "prompts_info": "string",
  "agents_info": "string",
  "last_updated": "string",
  "last_updated_by": "string",
  "version_number": 0,
  "validation_issues": "string",
  "fields": [
    "string"
  ]
}
422Validation Error

application/json

response HTTPValidationError required
1 field
detailValidationError[]optional
Item schema
itemsValidationErrorrequired
3 fields
locstring | integer[]required
Item schema
itemsstring | integerrequired
2 options
Option 1stringrequired
Option 2integerrequired
msgstringrequired
typestringrequired
Response example
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}