Update Agent
Update an existing agent
/api/v1/agents/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
AgentUpdate
required
20 fields
namestringrequiredThe agent name
descriptionstring | nulloptionalThe agent description
labelstring | nulloptionalThe agent label (DEPRECATED - use labels instead.)
labelsstring[] | nulloptionalThe agent labels
Item schema
itemsstringrequiredtypestringrequiredThe agent type. Must be "ca_v1" currently.
prompt_idintegerrequiredID of the prompt associated with the agent
prompt_version_numberinteger | nulloptionalOptional pin to a specific version of the prompt (prompt history version number). When omitted or null, the agent tracks the latest/current version of the prompt. When set, the agent runs that specific prompt version. Must reference an existing version of the agent's prompt.
custom_message_idinteger | nulloptionalInternal ID of the custom message that should be delivered at the beginning of a conversation with the agent
language_group_idinteger | nulloptionalInternal ID of the language group associated with the agent
bridge_phrases_idinteger | nulloptionalInternal ID of the bridge phrases config associated with the agent
timezonestringrequiredThe time zone in which the agent operates
prompt_tool_defaultsAgentToolDefaults[]optionalAgent-level static parameter values for the agent's tools, overriding any tool-level defaults
Item schema
itemsAgentToolDefaultsrequiredAgent-level static parameter values for a tool, overriding any tool-level defaults.
2 fields
tool_namestringrequiredThe name of the tool
default_valuesAgentToolFieldDefault[]requiredThe default values for fields used in the tool
Item schema
itemsAgentToolFieldDefaultrequiredAgent-level value for a static parameter on a tool, overriding the tool-level default if one exists.
2 fields
field_namestringrequiredThe name of the field
default_valueunspecifiedrequiredThe default value for the field
languagesstring[]optionalBCP 47 codes of languages the agent supports. (DEPRECATED - pass an empty list here and use language group ID to link agent to a language group instead.)
Item schema
itemsstringrequiredvariablesobjectrequiredCustom context variables for the conversation session. Keys should be prefixed with "vars.".
1 field
{key}stringoptionaltool_headersobject | nullrequiredOptional headers to include in tool calls for agent. (It is discouraged to use this field for "Authorization" headers, as values here are not encrypted. Instead, set up a service with either basic, bearer, or custom header auth; attach the appropriate tools to that service, and the attached tools will automatically use the auth configured on the service.)
1 options
{key}stringoptionalagent_initiatedbooleanoptionalWhether the agent initiates conversation with a user after the custom message is delivered
falsestt_providerenum<string> | nulloptionalSpeech-to-text provider for the agent.
["Google STT V2 (Chirp 2)","Deepgram Nova 3","Google STT V2","Google STT V1","Deepgram Nova 2"]wait_soundenum<string> | nulloptionalSound to play while waiting for a response from the LLM.
["No Sound","Keyboard 1","Keyboard 2","Call Center"]enable_verbal_language_changebooleanoptionalEnables Dynamic Language Switching - when true and a voice group is configured, callers may switch among group languages by speaking at any point in the conversation (in addition to DTMF in response to the language menu).
falseidintegerrequiredInternal ID of the agent
Request example
{
"name": "string",
"description": "string",
"label": "string",
"labels": "string",
"type": "string",
"prompt_id": 0,
"prompt_version_number": "string",
"custom_message_id": "string",
"language_group_id": "string",
"bridge_phrases_id": "string",
"timezone": "string",
"prompt_tool_defaults": [
{
"tool_name": "string",
"default_values": [
{
"field_name": "string",
"default_value": "string"
}
]
}
],
"languages": [
"string"
],
"variables": "string",
"tool_headers": "string",
"agent_initiated": false,
"stt_provider": "string",
"wait_sound": "string",
"enable_verbal_language_change": false,
"id": 0
}Responses
200Successful Response
application/json
response
AgentResponse
required
28 fields
namestringrequiredThe agent name
descriptionstring | nulloptionalThe agent description
labelstring | nulloptionalThe agent label (DEPRECATED - use labels instead.)
labelsstring[] | nulloptionalThe agent labels
Item schema
itemsstringrequiredtypestringrequiredThe agent type. Must be "ca_v1" currently.
prompt_idintegerrequiredID of the prompt associated with the agent
prompt_version_numberinteger | nulloptionalOptional pin to a specific version of the prompt (prompt history version number). When omitted or null, the agent tracks the latest/current version of the prompt. When set, the agent runs that specific prompt version. Must reference an existing version of the agent's prompt.
custom_message_idinteger | nulloptionalInternal ID of the custom message that should be delivered at the beginning of a conversation with the agent
language_group_idinteger | nulloptionalInternal ID of the language group associated with the agent
bridge_phrases_idinteger | nulloptionalInternal ID of the bridge phrases config associated with the agent
timezonestringrequiredThe time zone in which the agent operates
prompt_tool_defaultsAgentToolDefaults[]optionalAgent-level static parameter values for the agent's tools, overriding any tool-level defaults
Item schema
itemsAgentToolDefaultsrequiredAgent-level static parameter values for a tool, overriding any tool-level defaults.
2 fields
tool_namestringrequiredThe name of the tool
default_valuesAgentToolFieldDefault[]requiredThe default values for fields used in the tool
Item schema
itemsAgentToolFieldDefaultrequiredAgent-level value for a static parameter on a tool, overriding the tool-level default if one exists.
2 fields
field_namestringrequiredThe name of the field
default_valueunspecifiedrequiredThe default value for the field
languagesstring[]optionalBCP 47 codes of languages the agent supports. (DEPRECATED - pass an empty list here and use language group ID to link agent to a language group instead.)
Item schema
itemsstringrequiredvariablesobjectrequiredCustom context variables for the conversation session. Keys should be prefixed with "vars.".
1 field
{key}stringoptionaltool_headersobject | nullrequiredOptional headers to include in tool calls for agent. (It is discouraged to use this field for "Authorization" headers, as values here are not encrypted. Instead, set up a service with either basic, bearer, or custom header auth; attach the appropriate tools to that service, and the attached tools will automatically use the auth configured on the service.)
1 options
{key}stringoptionalagent_initiatedbooleanoptionalWhether the agent initiates conversation with a user after the custom_message is delivered
falsestt_providerstring | nulloptionalSpeech-to-text provider for the agent.
wait_soundstring | nulloptionalSound to play while waiting for a response from the LLM.
enable_verbal_language_changebooleanoptionalEnables Dynamic Language Switching - when true and a voice group is configured, callers may switch among group languages by speaking at any point in the conversation (in addition to DTMF in response to the language menu).
falseidintegerrequiredInternal ID of the agent
updated_atstring (date-time)requiredTimestamp of most recent update
last_updated_bystring | nullrequiredEmail of the user who last updated the agent
promptPromptResponse | nulloptionalThe prompt associated with the agent.
17 options
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.
custom_messageCustomMessageResponse | nulloptionalThe message associated with the agent. Will be delivered as a greeting at the beginning of a conversation.
12 options
namestringrequiredThe name of the custom message
typeenum<string>optionalType of the custom message: greeting (voice) or email_template.
["greeting","email_template"]Default greetingpreamblestring | nulloptionalAn optional preamble that will be delivered before the main message, regardless of whether the current time and date match a rule or the system uses the default message. Cannot contain the "{{ language.mode }}" tag. In the case of a voice conversation, the user will not be able to interrupt the preamble. Can be used for e.g. legal disclaimers that the user must always see/hear.
textstringrequiredThe default message that the agent will deliver if no rules are set or no rules match the current timestamp. For email_template, this is the body.
subjectstring | nulloptionalEmail subject. Required for email_template (in type_config); ignored otherwise.
labelstring | nulloptionalThe label of the custom message
repeat_after_language_changebooleanrequiredIf true, if the caller changes language using the language menu in the custom message, the message will be repeated in the new language (not including the language menu).
rulesCustomMessageRule[]optionalRules for time-specific message variants
[]Item schema
itemsCustomMessageRulerequiredA rule used to determine whether a custom message should present a variant message based on the current timestamp.
7 fields
descriptionstringrequiredThe description of the rule
time_range_startstring | nulloptionalThe start of the time range for the rule in 24-hour format hh:mm (should be null for "all day" cases)
^([01]\d|2[0-3]):[0-5]\d$time_range_endstring | nulloptionalThe end of the time range for the rule in 24-hour format hh:mm (should be null for "all day" cases)
^([01]\d|2[0-3]):[0-5]\d$datestring | nulloptionalThe date for the rule in YYYY-MM-DD format
\b(19|20)\d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\bdays_of_weekenum<string>[] | nulloptionalThe days of the week for the rule
Item schema
itemsenum<string>requiredAvailable options for day of the week for use in message rules.
["mo","tu","we","th","fr","sa","su"]invertbooleanrequiredWhether the rule logic should be inverted (i.e. "not")
textstringrequiredMessage text associated with the rule
idintegerrequiredThe ID of the custom message
updated_atstring (date-time)requiredTimestamp of the most recent update to the custom message
agent_countinteger | nulloptionalThe number of agents using the custom message
last_updated_bystringrequiredThe email address of the user who most recently updated the custom message
channel_targetsChannelTargetResponse[] | nulloptionalChannel targets associated with the agent
Item schema
itemsChannelTargetResponserequiredResponse model for channel target operations. A channel target links a channel to an agent, allowing users to communicate with the agent through that channel. For more information, see Console docs.
12 fields
agent_idintegerrequiredThe internal ID of the agent associated with the channel target
channel_idintegerrequiredThe internal ID of the channel associated with the channel target
targetstringrequiredThe name of the channel target. Must correspond to an organization-level target (available targets can be fetched from /channels/available-targets).
target_modeenum<string>requiredThe mode of the channel target (must match one of the supported modes of the associated channel)
["voice","chat","sms","email","whatsapp"]fallback_targetstring | nulloptionalThe fallback for the channel target (currently only supported for "voice" mode)
is_testbooleanoptionalWhether the channel target is intended for testing. If true, any sessions created through this target will be labeled as a test session (i.e., will not be included in dashboard data and can easily be filtered out in the Sessions screen in the SyllableConsole).
falseidintegerrequiredThe internal ID of the channel target
channel_namestringrequiredThe name of the channel associated with the channel target
updated_atstring (date-time)requiredTimestamp of the most recent update to the channel target
last_updated_bystringrequiredEmail of the user who last updated the channel target
agentAgentResponse | nullrecursive referenceDefinition of the agent with which the channel target is associated.
a2p_verifiedboolean | nulloptionalTwilio US A2P messaging-path configuration snapshot from the last explicit verify; null if never checked.
toolsToolResponse[] | nulloptionalTools associated with the agent
Item schema
itemsToolResponsereference defined aboveResponse 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.
language_groupLanguageGroupResponse | nulloptionalThe language group associated with the agent
10 options
namestringrequiredThe name of the language group.
descriptionstring | nulloptionalDescription of the language group.
language_configsLanguageConfig[]requiredVoice and DTMF configurations for each language in the group.
Item schema
itemsLanguageConfigrequiredVoice and DTMF configurations for a language in a language group. List of available voices and their supported languages can be fetched from GET /agents/voices/available/.
6 fields
language_codeenum<string>requiredBCP 47 code of the language
["yue-HK","en-US","ko-KR","zh-CN","fa-IR","es-US","th-TH","vi-VN","bs-BA","sw-KE","ru-RU","hi-IN","gu-IN","ar-XA","fr-FR","ja-JP","ne-NP"]voice_providerenum<string>requiredTTS provider of the voice to use for the language
["OpenAI","ElevenLabs","Google","Cartesia"]voice_display_nameenum<string>requiredDisplay name of the voice to use for the language
["Achernar (English)","Achernar (Gujarati)","Achernar (Arabic)","Achernar (French)","Achernar (Japanese)","Achernar (Hindi)","Achernar (Korean)","Achernar (Mandarin)","Achernar (Spanish)","Achernar (Thai)","Achernar (Vietnamese)","Alice","Alloy","Aoede (English)","Aoede (Gujarati)","Aoede (Arabic)","Aoede (French)","Aoede (Japanese)","Aoede (Hindi)","Aoede (Korean)","Aoede (Mandarin)","Aoede (Russian)","Aoede (Spanish)","Aoede (Thai)","Aoede (Vietnamese)","Ash","Bill","Brian","Callirrhoe (English)","Callirrhoe (Gujarati)","Callirrhoe (Arabic)","Callirrhoe (French)","Callirrhoe (Japanese)","Callirrhoe (Hindi)","Callirrhoe (Korean)","Callirrhoe (Mandarin)","Callirrhoe (Spanish)","Callirrhoe (Thai)","Callirrhoe (Vietnamese)","Callum","Charlie","Charlotte","Charon (English)","Charon (Gujarati)","Charon (Arabic)","Charon (French)","Charon (Japanese)","Charon (Hindi)","Charon (Korean)","Charon (Mandarin)","Charon (Russian)","Charon (Spanish)","Charon (Thai)","Charon (Vietnamese)","Chris","cmn-TW-Wavenet-A","Coral","Daniel","Echo","en-US-Neural2-D","en-US-Neural2-F","en-US-Neural2-J","en-US-Studio-O","Eric","es-US-Neural2-A","es-US-Neural2-B","Fable","Fenrir (English)","Fenrir (Gujarati)","Fenrir (Arabic)","Fenrir (French)","Fenrir (Japanese)","Fenrir (Hindi)","Fenrir (Korean)","Fenrir (Mandarin)","Fenrir (Russian)","Fenrir (Spanish)","Fenrir (Thai)","Fenrir (Vietnamese)","George","Jessica","ko-KR-Neural2-A","Kore (English)","Kore (Gujarati)","Kore (Arabic)","Kore (French)","Kore (Japanese)","Kore (Hindi)","Kore (Korean)","Kore (Mandarin)","Kore (Russian)","Kore (Spanish)","Kore (Thai)","Kore (Vietnamese)","Laura","Leda (English)","Leda (Gujarati)","Leda (Arabic)","Leda (French)","Leda (Japanese)","Leda (Hindi)","Leda (Korean)","Leda (Mandarin)","Leda (Russian)","Leda (Spanish)","Leda (Thai)","Leda (Vietnamese)","Liam","Lily","Matilda","Nova","Onyx","Orus (English)","Orus (Gujarati)","Orus (Arabic)","Orus (French)","Orus (Japanese)","Orus (Hindi)","Orus (Korean)","Orus (Mandarin)","Orus (Russian)","Orus (Spanish)","Orus (Thai)","Orus (Vietnamese)","Puck (English)","Puck (Gujarati)","Puck (Arabic)","Puck (French)","Puck (Japanese)","Puck (Hindi)","Puck (Korean)","Puck (Mandarin)","Puck (Russian)","Puck (Spanish)","Puck (Thai)","Puck (Vietnamese)","River","Roger","Sarah","Sage","Shimmer","Umbriel (English)","Umbriel (Gujarati)","Umbriel (Arabic)","Umbriel (French)","Umbriel (Japanese)","Umbriel (Hindi)","Umbriel (Korean)","Umbriel (Mandarin)","Umbriel (Spanish)","Umbriel (Thai)","Umbriel (Vietnamese)","Vindemiatrix (English)","Vindemiatrix (Gujarati)","Vindemiatrix (Arabic)","Vindemiatrix (French)","Vindemiatrix (Japanese)","Vindemiatrix (Hindi)","Vindemiatrix (Korean)","Vindemiatrix (Mandarin)","Vindemiatrix (Spanish)","Vindemiatrix (Thai)","Vindemiatrix (Vietnamese)","vi-VN-Neural2-A","Will","yue-HK-Standard-C","Zephyr (English)","Zephyr (Gujarati)","Zephyr (Arabic)","Zephyr (French)","Zephyr (Japanese)","Zephyr (Hindi)","Zephyr (Korean)","Zephyr (Mandarin)","Zephyr (Russian)","Zephyr (Spanish)","Zephyr (Thai)","Zephyr (Vietnamese)","Skylar (US)","Daniel (US)","Linda (US)","Corey (US)","Emma (US)","Ximena (MX)","Fernanda (MX)","Emilio (MX)","Marta (ES)","Mateo (MX)","Minji (KR)","Haeun (KR)","Taehyun (KR)","Jaewon (KR)","Hua (CN)","Liu (CN)","Xia (VN)","Suda (TH)"]voice_speednumber | nulloptionalSpeed of the voice in the range of 0.25 to 4.0 (OpenAI and Google) or 0.7 to 1.2 (ElevenLabs). Standard speed is 1.0.
voice_pitchnumber | nulloptionalPitch of the voice in the range of -20.0 to 20.0. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. 0 means use the original pitch. Only supported for Google configs.
dtmf_codeintegerrequiredDTMF code that should be used for the language in the menu generated from the language group.
skip_current_language_in_messagebooleanrequiredWhether a custom message using the language group to generate a language DTMF menu should skip the agent's current language in the menu.
idintegerrequiredThe ID of the language group to update.
edit_commentsstring | nulloptionalComments for the most recent edit to the language group.
agents_infoLanguageGroupAgentInfo[] | nulloptionalIDs and names of the agents linked to the language group
Item schema
itemsLanguageGroupAgentInforequiredInformation about an agent linked to a language group.
2 fields
idintegerrequiredThe ID of the agent
namestringrequiredThe name of the agent
updated_atstring (date-time)requiredTimestamp of the last update to the language group.
last_updated_bystringrequiredEmail of the user who last updated the language group.
validation_issuesValidationIssue[] | nulloptionalNon-blocking findings for the saved voice group (e.g. a deprecated voice warning). Warnings and infos are informational; errors block the save.
Item schema
itemsValidationIssuereference defined aboveA single validation finding with severity, location, and description.
validation_issuesValidationIssue[] | nulloptionalNon-blocking findings for the saved agent (e.g. a deprecated STT provider 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",
"label": "string",
"labels": "string",
"type": "string",
"prompt_id": 0,
"prompt_version_number": "string",
"custom_message_id": "string",
"language_group_id": "string",
"bridge_phrases_id": "string",
"timezone": "string",
"prompt_tool_defaults": [
{
"tool_name": "string",
"default_values": [
{
"field_name": "string",
"default_value": "string"
}
]
}
],
"languages": [
"string"
],
"variables": "string",
"tool_headers": "string",
"agent_initiated": false,
"stt_provider": "string",
"wait_sound": "string",
"enable_verbal_language_change": false,
"id": 0,
"updated_at": "string",
"last_updated_by": "string",
"prompt": "string",
"custom_message": "string",
"channel_targets": "string",
"tools": "string",
"language_group": "string",
"validation_issues": "string"
}No response body is declared.
No response body is declared.
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"
}
]
}No response body is declared.

