Create Prompt
Create a new prompt
/api/v1/prompts/Authentication
Syllable-API-KeyrequiredSend Syllable-API-Key in the header.
Need a credential? Create or manage an API token in the Syllable Console.
Parameters
This endpoint has no declared parameters.
Request body
application/json
body
PromptCreateRequest
required
10 fields
namestringrequiredThe prompt name
descriptionstring | nulloptionalThe description of the prompt
typestringrequiredThe type of the prompt
contextstring | nulloptionalThe prompt text that will be sent to the LLM at the beginning of the conversation
toolsstring[]optionalNames of tools to which the prompt has access
[]Item schema
itemsstringrequiredllm_configPromptLlmConfigrequiredThe configuration for the LLM that the prompt uses
6 fields
providerenum<string>optionalProvider of the LLM model.
["anthropic","azure_openai","google","openai"]Default azure_openaimodelstringoptionalName of the model. Must match the deployment name in Azure AI Studio.
gpt-4oversionstring | nulloptionalDeprecated model version. This value is ignored and resolved automatically.
api_versionstring | nulloptionalVersion of the provider's API.
temperaturenumber | nulloptionalTemperature parameter for the model. Determines randomness of responses - higher is more random, lower is more focused. Must be between 0.0 and 2.0, inclusive.
seedinteger | nulloptionalControls the reproducibility of the job. The LLM will give the same or similar responses given the same inputs in multiple conversations with the same seed.
session_end_enabledbooleanoptionalWhether session end functionality is enabled for this prompt
falsesession_end_tool_idinteger | nulloptionalID of the optional session end tool associated with the prompt
edit_commentsstring | nulloptionalThe comments for the most recent edit to the prompt
include_default_toolsbooleanoptionalWhether to include the default tools (hangup) in the list of tools for the prompt (also includes set_current_language if any of the agents assigned to the prompt have Dynamic Language Switching enabled). If you disable this during creation, you might want to disable it during updates as well; otherwise the default tools will be added when updating the prompt.
trueRequest example
{
"name": "string",
"description": "string",
"type": "string",
"context": "string",
"tools": [],
"llm_config": {
"provider": "azure_openai",
"model": "gpt-4o",
"version": "string",
"api_version": "string",
"temperature": "string",
"seed": "string"
},
"session_end_enabled": false,
"session_end_tool_id": "string",
"edit_comments": "string",
"include_default_tools": true
}Responses
200Successful Response
application/json
response
PromptResponse
required
17 fields
namestringrequiredThe prompt name
descriptionstring | nulloptionalThe description of the prompt
typestringrequiredThe type of the prompt
contextstring | nulloptionalThe prompt text that will be sent to the LLM at the beginning of the conversation
toolsstring[]optionalNames of the tools to which the prompt has access (DEPRECATED - use information from full tools field instead)
[]Item schema
itemsstringrequiredllm_configPromptLlmConfigrequiredThe configuration for the LLM that the prompt uses
6 fields
providerenum<string>optionalProvider of the LLM model.
["anthropic","azure_openai","google","openai"]Default azure_openaimodelstringoptionalName of the model. Must match the deployment name in Azure AI Studio.
gpt-4oversionstring | nulloptionalDeprecated model version. This value is ignored and resolved automatically.
api_versionstring | nulloptionalVersion of the provider's API.
temperaturenumber | nulloptionalTemperature parameter for the model. Determines randomness of responses - higher is more random, lower is more focused. Must be between 0.0 and 2.0, inclusive.
seedinteger | nulloptionalControls the reproducibility of the job. The LLM will give the same or similar responses given the same inputs in multiple conversations with the same seed.
session_end_enabledbooleanoptionalWhether session end functionality is enabled for this prompt
falsesession_end_tool_idinteger | nulloptionalID of the optional session end tool associated with the prompt
edit_commentsstring | nulloptionalThe comments for the most recent edit to the prompt
idintegerrequiredThe internal ID of the prompt
last_updatedstring | nullrequiredThe last updated date of the prompt
last_updated_bystring | nulloptionalEmail address of the user who most recently updated the prompt
session_end_toolDaoToolResponse | nulloptionalThe session end tool associated with the prompt
11 options
namestringrequiredThe name of the tool
definitionToolDefinitionrequiredThe definition of the tool
9 fields
typeenum<string> | nulloptionalThe action to take when the LLM calls the tool.
["action","endpoint","context","log"]toolInternalToolrequiredThe tool definition to be used by the OpenAI API.
2 fields
typestringoptionalAlways function.
functionDefault functionfunctionToolFunctionrequiredThe tool function definition, including the JSON Schema of its parameters.
3 fields
namestringrequiredThe name of the function/tool call.
descriptionstringrequiredThe description of the tool.
parametersunspecifiedrequiredThe JSON Schema of parameters of the function/tool call.
endpointToolHttpEndpoint | nulloptionalThe configuration for an HTTP API call.
4 options
urlstringrequiredThe endpoint URL of the external service to call.
methodenum<string>requiredThe HTTP method to use for the service call.
["get","post","put","delete"]argument_locationenum<string>requiredHow to pass the arguments to the request.
["body","form","path","query"]timeoutnumber | nulloptionalTimeout in seconds for the HTTP request. Default 20 seconds when not set.
1Maximum 120contextContext | nulloptionalThe configuration for a context tool.
1 options
taskExpressionTask | LoadToolFromFileTask | EventTask | StepsTask | ExpressionTask | LoadToolFromFileTask | EventTask | StepsTask[] | nulloptionalTask implementation details
Item schema
Option 1ExpressionTask | LoadToolFromFileTask | EventTask | StepsTaskoptional4 options
Option 1ExpressionTaskoptional11 fields
idstring | nulloptionalA unique identifier for the task.
configobject | nulloptional1 options
{key}JsonValueoptionalvariablesVariable[] | nulloptionalItem schema
itemsVariablerequired10 fields
valueJsonValue | nullreference defined aboveInitial value of the variable.
valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalExpression 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionoptionalGoogle 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
expressionstringrequiredCEL expression string.
typestringoptionalCEL expression language selector. Use with object form {"type":"cel","expression":"..."}.
celDefault celOption 2JMESPathExpressionoptionalJMESPath 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
expressionstringrequiredJMESPath expression string.
typeenum<string>optionalJMESPath expression language selector. Use with object form {"type":"jp"|"jmespath","expression":"..."}.
["jp","jmespath"]Default jpOption 2CaseExpressionoptionalConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
1 field
caseConditionalValue[]requiredOrdered conditional branches (reserved for future runtime support).
Item schema
itemsConditionalValuerequired3 fields
valueJsonValue | nullreference defined aboveInitial value of the variable.
valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalExpression 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 referenceConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 referenceConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalOption 3stringoptionalOption 4nulloptionalnamestringrequiredThe name of the property.
typeenum<string> | nulloptional["string","number","integer","boolean","object","array","null"]descriptionstring | nulloptionaltitlestring | nulloptionalformatstring | nulloptionalpatternstring | nulloptionalenumstring[] | nulloptionalItem schema
itemsstringrequiredexamplesJsonValue[] | nulloptionalItem schema
itemsJsonValuereference defined abovemetadataContextTaskMetadata | nulloptional1 options
priorityinteger | nulloptionaltoolContextToolInfo | nulloptional2 options
namestring | nulloptionalThe name of the generated tool.
descriptionstring | nulloptionalThe description of the tool.
typestringoptionalexpressionDefault expressionversionstringoptionalv1alphaDefault v1alphainputsInputParameter[]optionalItem schema
itemsInputParameterrequired9 fields
namestringrequiredThe name of the property.
typeenum<string> | nulloptional["string","number","integer","boolean","object","array","null"]descriptionstring | nulloptionaltitlestring | nulloptionalformatstring | nulloptionalpatternstring | nulloptionalenumstring[] | nulloptionalItem schema
itemsstringrequiredexamplesJsonValue[] | nulloptionalItem schema
itemsJsonValuereference defined aboverequiredbooleanoptionaltrueexpressionCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalExpression 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionaloutputJsonValue | nullreference defined aboveonExpressionTaskEventsoptionalActions to execute when the configured events occur.
2 fields
startSetValueAction | IncrementAction | CallAction | SayAction[] | nulloptionalActions to execute on the first input from the user.
Item schema
itemsSetValueAction | IncrementAction | CallAction | SayActionrequired4 options
Option 1SetValueActionrequired5 fields
valueJsonValue | nullreference defined aboveInitial value of the variable.
valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalExpression 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalactionstringoptionalsetDefault setnamestringrequiredDestination path to mutate (e.g. output.foo).
Option 2IncrementActionrequired4 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalactionstringoptionalincDefault incnamestringrequiredNumeric destination path to increment.
byintegeroptionalIncrement amount (defaults to 1).
1Option 3CallActionrequired5 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalactionstringoptionalcallDefault callnamestringrequiredThe name of the tool to call.
argumentsobject | nulloptionalOptional arguments to pass to the tool (supports template strings)
1 options
{key}JsonValuereference defined aboveresultCallResult | nulloptionalOptional 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[]optionalField mappings extracted from the tool response into workflow state.
Item schema
itemsCallResultSaveMappingrequiredOne 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 | stringrequiredExpression 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 | JMESPathExpressionrequired2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringrequiredtostringrequiredWorkflow variable name to store the extracted value under.
Option 4SayActionrequired4 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionaltextstringrequiredText to apply if the condition is true.
actionstringoptionalsayDefault sayroleenum<string>optionalThe role of the message.
["user","assistant"]Default assistantsubmitSetValueAction | IncrementAction | SaveAction | CallAction | SayAction[] | nulloptionalActions to execute when the tool/step is submitted by the LLM.
Item schema
itemsSetValueAction | IncrementAction | SaveAction | CallAction | SayActionrequired5 options
Option 1SetValueActionreference defined aboveOption 2IncrementActionreference defined aboveOption 3SaveActionrequired4 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalactionstringoptionalsaveDefault savenamestring | nulloptionalTarget name to save (defaults to global variable).
inputsstring[] | nulloptionalInput field names to persist; None saves all collected inputs.
Item schema
itemsstringrequiredOption 4CallActionreference defined aboveOption 5SayActionreference defined aboveOption 2LoadToolFromFileTaskoptionalBootstraps a tool from a file (for internal developer use only if ENV.local=True).
8 fields
idstring | nulloptionalA unique identifier for the task.
configobject | nulloptional1 options
{key}JsonValuereference defined abovevariablesVariable[] | nulloptionalItem schema
itemsVariablereference defined abovemetadataContextTaskMetadata | nullreference defined abovetoolContextToolInfo | nullreference defined abovetypestringoptionalimportDefault importversionstringoptionalv1alphaDefault v1alphafilestring | string[]requiredThe local path of the tool definition JSON file.
Item schema
Option 1stringrequiredOption 2string[]requiredItem schema
itemsstringrequiredOption 3EventTaskoptional8 fields
idstring | nulloptionalA unique identifier for the task.
configobject | nulloptional1 options
{key}JsonValuereference defined abovevariablesVariable[] | nulloptionalItem schema
itemsVariablereference defined abovemetadataContextTaskMetadata | nullreference defined abovetoolContextToolInfo | nullreference defined abovetypestringoptionaleventDefault eventversionstringoptionalv1alphaDefault v1alphaonEventTaskEventsoptionalActions to execute when the configured events occur.
1 field
startSetValueAction | IncrementAction | CallAction | SayAction[] | nulloptionalActions to execute on the first input from the user.
Item schema
itemsSetValueAction | IncrementAction | CallAction | SayActionrequired4 options
Option 1SetValueActionreference defined aboveOption 2IncrementActionreference defined aboveOption 3CallActionreference defined aboveOption 4SayActionreference defined aboveOption 4StepsTaskoptional9 fields
idstring | nulloptionalA unique identifier for the task.
configobject | nulloptional1 options
{key}JsonValuereference defined abovevariablesVariable[] | nulloptionalItem schema
itemsVariablereference defined abovemetadataContextTaskMetadata | nullreference defined abovetoolContextToolInfo | nullreference defined abovetypestringoptionalstepsDefault stepsversionstringoptionalv1alphaDefault v1alphastartenum<string>optionalControls when the workflow activation lifecycle runs. auto activates at session start; manual activates on first invocation.
["auto","manual"]Default autostepsStep[]optionalItem schema
itemsSteprequired7 fields
idstringrequiredThe unique identifier of the step.
goalstringrequiredThe goal of the step.
instructionsConditionalText | string[]optionalThe instructions for the step.
Item schema
itemsConditionalText | stringrequired2 options
Option 1ConditionalTextrequired2 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionaltextstringrequiredText to apply if the condition is true.
Option 2stringrequiredtoolsStepToolsoptionalThe tools configuration for the step.
3 fields
callboolean | nulloptionalWhether to force immediate tool call without user interaction.
allowstring[] | nulloptionalList of allowed tool names for this step.
Item schema
itemsstringrequiredallowGoToStepboolean | nulloptionalWhether to expose the go_to_step escape hatch to the LLM. Defaults to disabled.
inputsInputParameter[]optionalThe inputs for the step.
Item schema
itemsInputParameterreference defined aboveonStepEventActionsoptionalThe events that trigger the actions to be executed.
4 fields
startSetValueAction | IncrementAction | CallAction | SayAction[] | nulloptionalActions to execute on the first input from the user.
Item schema
itemsSetValueAction | IncrementAction | CallAction | SayActionrequired4 options
Option 1SetValueActionreference defined aboveOption 2IncrementActionreference defined aboveOption 3CallActionreference defined aboveOption 4SayActionreference defined aboveenterGetValueAction | SetValueAction | IncrementAction | CallAction | SayAction[] | nulloptionalActions to execute when entering a step (before collecting inputs).
Item schema
itemsGetValueAction | SetValueAction | IncrementAction | CallAction | SayActionrequired5 options
Option 1GetValueActionrequired6 fields
valueJsonValue | nullreference defined aboveInitial value of the variable.
valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalExpression 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalactionenum<string>optionalPopulate default input values.
["get","load"]Default getinputsstring[] | nulloptionalInput field names to populate; None populates all step inputs.
Item schema
itemsstringrequiredoverwritebooleanoptionalIf False (default), only populate empty inputs. If True, always overwrite.
falseOption 2SetValueActionreference defined aboveOption 3IncrementActionreference defined aboveOption 4CallActionreference defined aboveOption 5SayActionreference defined abovepresubmitGetValueAction | SetValueAction | IncrementAction | SaveAction[] | nulloptionalActions 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 | SaveActionrequired4 options
Option 1GetValueActionreference defined aboveOption 2SetValueActionreference defined aboveOption 3IncrementActionreference defined aboveOption 4SaveActionreference defined abovesubmitSetValueAction | IncrementAction | SaveAction | CallAction | SayAction[] | nulloptionalActions to execute when the tool/step is submitted by the LLM.
Item schema
itemsSetValueAction | IncrementAction | SaveAction | CallAction | SayActionrequired5 options
Option 1SetValueActionreference defined aboveOption 2IncrementActionreference defined aboveOption 3SaveActionreference defined aboveOption 4CallActionreference defined aboveOption 5SayActionreference defined abovenextNextStep | string[]optionalThe next steps to execute.
Item schema
itemsNextStep | stringrequired2 options
Option 1NextSteprequiredRepresents a conditional transition to the next step.
3 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptionalCondition 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 | JMESPathExpressionoptional2 options
Option 1CelExpressionreference defined aboveGoogle 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 aboveJMESPath 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 aboveConditional branch expression.
Note: CaseExpression is currently reserved and not yet executed at runtime.
Option 3stringoptionalOption 4nulloptionalidstringrequiredThe identifier of the next step.
requiresstring[] | nulloptionalList of input field names required for this transition. Validates that specified inputs are collected before allowing transition.
Item schema
itemsstringrequiredOption 2stringrequiredOption 2ExpressionTask | LoadToolFromFileTask | EventTask | StepsTask[]optionalItem schema
itemsExpressionTask | LoadToolFromFileTask | EventTask | StepsTaskrequired4 options
Option 1ExpressionTaskreference defined aboveOption 2LoadToolFromFileTaskreference defined aboveBootstraps a tool from a file (for internal developer use only if ENV.local=True).
Option 3EventTaskreference defined aboveOption 4StepsTaskreference defined aboveOption 3nulloptionaldefaultsunspecified | object | nulloptionalThe default values for the parameters of the function/tool call.
3 options
Option 1unspecifiedoptionalOption 2objectoptional1 field
{key}ToolParameterDefaultoptionalThe default value for a parameter of a tool call.
1 field
transformToolParameterTransformrequiredThe transform to apply to the value before using it as the default.
4 fields
actionenum<string>optionalThe 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."
["default","override","remove"]Default defaultwhenToolParameterTransformCondition | nulloptionalOnly apply the transform if the condition is met.
3 options
keystringrequiredThe name of the parameter to check.
valuestringrequiredThe value to check against the parameter.
operatorstring | nulloptionalThe operator to use for the comparison. Currently only supports "eq"
eqConstant eqvalueunspecified | nulloptionalThe default value to use for the parameter.
formatstring | nulloptionalThe string value to use for the parameter. The value will be evaluated with the Python str.format method, for example, Hello, {name}!
Option 3nulloptionalstatic_parametersStaticToolParameter[] | nulloptionalParameters for the tool whose values should be set at config time (i.e., not provided by the LLM).
Item schema
itemsStaticToolParameterrequiredA parameter for the tool whose value should be set at config time.
5 fields
namestringrequiredThe name of the parameter - must be unique within the tool.
descriptionstring | nulloptionalThe description of the parameter.
requiredbooleanrequiredWhether the parameter is required to have a value assigned.
typeenum<string>requiredThe expected type for the parameter.
["string","int","boolean","data_source_list"]defaultunspecified | nulloptionalThe 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 | nulloptionalThe optional result of the tool call.
optionsToolOptions | nulloptionalThe options for the tool. Ie allows to propagate the tool result to the caller via propagate_tool_result flag.
1 options
propagate_tool_resultbooleanoptionalWhether the tool call result should be propagated to the caller.
falseresponse_displayResponseDisplayConfig | nulloptionalOptional mapping used to format propagated results in live chat responses.
4 options
versionintegeroptional1Default 1typestringrequiredcard-listitems_pathstringrequiredmappingDisplayCardMappingrequiredSupported mappings from one result item to the existing card shape.
11 fields
media.imageUrlstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourceoptionalSelect or interpolate a value from one item in a tool result.
3 fields
pathstring | nulloptionaltemplatestring | nulloptionaldefaultunspecified | nulloptionalOption 6nulloptionalmedia.originalImageWidthstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalmedia.originalImageHeightstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalmedia.maxHeightstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalcontent.headerstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalcontent.subheaderstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalcontent.descriptionstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalcontent.avatarImageUrlstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalcontent.contentAlwaysLeftstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalactionsDisplayActionMapping[]optionalItem schema
itemsDisplayActionMappingrequired6 fields
typeenum<string>required["text","link","button","message"]textstring | integer | number | boolean | DisplayValueSourceoptional5 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
iconenum<string>optional["phone","email","chat","calendar","arrow"]Default arrowlinkstring | integer | number | boolean | DisplayValueSourceoptional5 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
actionIdstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalmessagestring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalctaDisplayCtaMapping | nulloptional5 options
textstring | integer | number | boolean | DisplayValueSourceoptional5 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
iconenum<string>optional["phone","email","chat","calendar","arrow"]Default arrowlinkstring | integer | number | boolean | DisplayValueSourceoptional5 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
actionIdstring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalmessagestring | integer | number | boolean | DisplayValueSource | nulloptional6 options
Option 1stringoptionalOption 2integeroptionalOption 3numberoptionalOption 4booleanoptionalOption 5DisplayValueSourcereference defined aboveSelect or interpolate a value from one item in a tool result.
Option 6nulloptionalservice_idintegerrequiredInternal ID of the service to which the tool belongs
idintegerrequiredThe internal ID of the tool
last_updated_commentsstring | nulloptionalComments for the most recent edit to the tool.
service_namestring | nulloptionalThe name of the service to which the tool belongs
prompts_infoToolPromptInfo[] | nulloptionalIDs and names of the prompts linked to the tool
Item schema
itemsToolPromptInforequiredInformation about a prompt linked to a tool.
2 fields
idintegerrequiredThe ID of the prompt
namestringrequiredThe name of the prompt
agents_infoToolAgentInfo[] | nulloptionalIDs and names of the agents linked to the tool via a prompt
Item schema
itemsToolAgentInforequiredInformation about an agent linked to a tool via a prompt.
2 fields
idintegerrequiredThe internal ID of the agent
namestringrequiredThe name of the agent
last_updatedstring (date-time)requiredThe timestamp of the most recent update to the tool
last_updated_bystringrequiredThe email of the user who last updated the tool
version_numberintegerrequiredHighest tools_history snapshot version for this tool; the tools row defaults to 1.
agent_countinteger | nulloptionalThe number of agents using the prompt
version_numberinteger | nulloptionalThe version number of the current version of the prompt
tools_fullToolResponse[] | nulloptionalFull definitions of tools to which the prompt has access
Item schema
itemsToolResponserequiredResponse model for tool operations. A tool is a function that an agent can call to perform actions like accessing databases, making API calls, or processing data. For an agent to have access to a tool, the prompt associated with that agent should be linked to the tool and include instructions to use it. For more information, see Console docs.
12 fields
namestringrequiredThe name of the tool
definitionToolDefinitionreference defined aboveThe definition of the tool
service_idintegerrequiredInternal ID of the service to which the tool belongs
idintegerrequiredThe internal ID of the tool
last_updated_commentsstring | nulloptionalComments for the most recent edit to the tool.
service_namestring | nulloptionalThe name of the service to which the tool belongs
prompts_infoToolPromptInfo[] | nulloptionalIDs and names of the prompts linked to the tool
Item schema
itemsToolPromptInforeference defined aboveInformation about a prompt linked to a tool.
agents_infoToolAgentInfo[] | nulloptionalIDs and names of the agents linked to the tool via a prompt
Item schema
itemsToolAgentInforeference defined aboveInformation about an agent linked to a tool via a prompt.
last_updatedstring (date-time)requiredThe timestamp of the most recent update to the tool
last_updated_bystringrequiredThe email of the user who last updated the tool
version_numberintegerrequiredHighest tools_history snapshot version for this tool; the tools row defaults to 1.
validation_issuesValidationIssue[] | nulloptionalValidation issues found in the tool definition. Warnings and infos are informational; errors block the save.
Item schema
itemsValidationIssuerequiredA single validation finding with severity, location, and description.
5 fields
idstringrequiredStable machine-readable identifier (kebab-case)
severityenum<string>optional["info","warning","error"]Default errormessagestringrequiredHuman-readable description
pathstring | nulloptionalJSONPath-style location (e.g. $.context.task.steps[2])
valuestring | nulloptionalThe offending value, when it adds clarity
validation_issuesValidationIssue[] | nulloptionalNon-blocking findings for the saved prompt (e.g. a deprecated model warning). Warnings and infos are informational; errors block the save.
Item schema
itemsValidationIssuereference defined aboveA single validation finding with severity, location, and description.
Response example
{
"name": "string",
"description": "string",
"type": "string",
"context": "string",
"tools": [],
"llm_config": {
"provider": "azure_openai",
"model": "gpt-4o",
"version": "string",
"api_version": "string",
"temperature": "string",
"seed": "string"
},
"session_end_enabled": false,
"session_end_tool_id": "string",
"edit_comments": "string",
"id": 0,
"last_updated": "string",
"last_updated_by": "string",
"session_end_tool": "string",
"agent_count": "string",
"version_number": "string",
"tools_full": "string",
"validation_issues": "string"
}422Validation Error
application/json
response
HTTPValidationError
required
1 field
detailValidationError[]optionalItem schema
itemsValidationErrorrequired3 fields
locstring | integer[]requiredItem schema
itemsstring | integerrequired2 options
Option 1stringrequiredOption 2integerrequiredmsgstringrequiredtypestringrequiredResponse example
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
