API Reference
API Reference

Create Agent

Create a new agent

POST/api/v1/agents/

Authentication

Syllable-API-Keyrequired

Send Syllable-API-Key in the header.

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

Parameters

This endpoint has no declared parameters.

Request body

application/json

body AgentCreate required
19 fields
namestringrequired

The agent name

descriptionstring | nulloptional

The agent description

labelstring | nulloptional

The agent label (DEPRECATED - use labels instead.)

labelsstring[] | nulloptional

The agent labels

Item schema
itemsstringrequired
typestringrequired

The agent type. Must be "ca_v1" currently.

prompt_idintegerrequired

ID of the prompt associated with the agent

prompt_version_numberinteger | nulloptional

Optional 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 | nulloptional

Internal ID of the custom message that should be delivered at the beginning of a conversation with the agent

language_group_idinteger | nulloptional

Internal ID of the language group associated with the agent

bridge_phrases_idinteger | nulloptional

Internal ID of the bridge phrases config associated with the agent

timezonestringrequired

The time zone in which the agent operates

prompt_tool_defaultsAgentToolDefaults[]optional

Agent-level static parameter values for the agent's tools, overriding any tool-level defaults

Item schema
itemsAgentToolDefaultsrequired

Agent-level static parameter values for a tool, overriding any tool-level defaults.

2 fields
tool_namestringrequired

The name of the tool

default_valuesAgentToolFieldDefault[]required

The default values for fields used in the tool

Item schema
itemsAgentToolFieldDefaultrequired

Agent-level value for a static parameter on a tool, overriding the tool-level default if one exists.

2 fields
field_namestringrequired

The name of the field

default_valueunspecifiedrequired

The default value for the field

languagesstring[]optional

BCP 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
itemsstringrequired
variablesobjectrequired

Custom context variables for the conversation session. Keys should be prefixed with "vars.".

1 field
{key}stringoptional
tool_headersobject | nullrequired

Optional 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}stringoptional
agent_initiatedbooleanoptional

Whether the agent initiates conversation with a user after the custom message is delivered

Default false
stt_providerenum<string> | nulloptional

Speech-to-text provider for the agent.

Allowed values ["Google STT V2 (Chirp 2)","Deepgram Nova 3","Google STT V2","Google STT V1","Deepgram Nova 2"]
wait_soundenum<string> | nulloptional

Sound to play while waiting for a response from the LLM.

Allowed values ["No Sound","Keyboard 1","Keyboard 2","Call Center"]
enable_verbal_language_changebooleanoptional

Enables 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).

Default false
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
}

Responses

200Successful Response

application/json

response AgentResponse required
28 fields
namestringrequired

The agent name

descriptionstring | nulloptional

The agent description

labelstring | nulloptional

The agent label (DEPRECATED - use labels instead.)

labelsstring[] | nulloptional

The agent labels

Item schema
itemsstringrequired
typestringrequired

The agent type. Must be "ca_v1" currently.

prompt_idintegerrequired

ID of the prompt associated with the agent

prompt_version_numberinteger | nulloptional

Optional 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 | nulloptional

Internal ID of the custom message that should be delivered at the beginning of a conversation with the agent

language_group_idinteger | nulloptional

Internal ID of the language group associated with the agent

bridge_phrases_idinteger | nulloptional

Internal ID of the bridge phrases config associated with the agent

timezonestringrequired

The time zone in which the agent operates

prompt_tool_defaultsAgentToolDefaults[]optional

Agent-level static parameter values for the agent's tools, overriding any tool-level defaults

Item schema
itemsAgentToolDefaultsrequired

Agent-level static parameter values for a tool, overriding any tool-level defaults.

2 fields
tool_namestringrequired

The name of the tool

default_valuesAgentToolFieldDefault[]required

The default values for fields used in the tool

Item schema
itemsAgentToolFieldDefaultrequired

Agent-level value for a static parameter on a tool, overriding the tool-level default if one exists.

2 fields
field_namestringrequired

The name of the field

default_valueunspecifiedrequired

The default value for the field

languagesstring[]optional

BCP 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
itemsstringrequired
variablesobjectrequired

Custom context variables for the conversation session. Keys should be prefixed with "vars.".

1 field
{key}stringoptional
tool_headersobject | nullrequired

Optional 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}stringoptional
agent_initiatedbooleanoptional

Whether the agent initiates conversation with a user after the custom_message is delivered

Default false
stt_providerstring | nulloptional

Speech-to-text provider for the agent.

wait_soundstring | nulloptional

Sound to play while waiting for a response from the LLM.

enable_verbal_language_changebooleanoptional

Enables 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).

Default false
idintegerrequired

Internal ID of the agent

updated_atstring (date-time)required

Timestamp of most recent update

last_updated_bystring | nullrequired

Email of the user who last updated the agent

promptPromptResponse | nulloptional

The prompt associated with the agent.

17 options
namestringrequired

The prompt name

descriptionstring | nulloptional

The description of the prompt

typestringrequired

The type of the prompt

contextstring | nulloptional

The prompt text that will be sent to the LLM at the beginning of the conversation

toolsstring[]optional

Names of the tools to which the prompt has access (DEPRECATED - use information from full tools field instead)

Default []
Item schema
itemsstringrequired
llm_configPromptLlmConfigrequired

The configuration for the LLM that the prompt uses

6 fields
providerenum<string>optional

Provider of the LLM model.

Allowed values ["anthropic","azure_openai","google","openai"]Default azure_openai
modelstringoptional

Name of the model. Must match the deployment name in Azure AI Studio.

Default gpt-4o
versionstring | nulloptional

Deprecated model version. This value is ignored and resolved automatically.

api_versionstring | nulloptional

Version of the provider's API.

temperaturenumber | nulloptional

Temperature 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 | nulloptional

Controls 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_enabledbooleanoptional

Whether session end functionality is enabled for this prompt

Default false
session_end_tool_idinteger | nulloptional

ID of the optional session end tool associated with the prompt

edit_commentsstring | nulloptional

The comments for the most recent edit to the prompt

idintegerrequired

The internal ID of the prompt

last_updatedstring | nullrequired

The last updated date of the prompt

last_updated_bystring | nulloptional

Email address of the user who most recently updated the prompt

session_end_toolDaoToolResponse | nulloptional

The session end tool associated with the prompt

11 options
namestringrequired

The name of the tool

definitionToolDefinitionrequired

The definition of the tool

9 fields
typeenum<string> | nulloptional

The action to take when the LLM calls the tool.

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

The tool definition to be used by the OpenAI API.

2 fields
typestringoptional

Always function.

Constant functionDefault function
functionToolFunctionrequired

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

3 fields
namestringrequired

The name of the function/tool call.

descriptionstringrequired

The description of the tool.

parametersunspecifiedrequired

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

endpointToolHttpEndpoint | nulloptional

The configuration for an HTTP API call.

4 options
urlstringrequired

The endpoint URL of the external service to call.

methodenum<string>required

The HTTP method to use for the service call.

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

How to pass the arguments to the request.

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

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

Minimum 1Maximum 120
contextContext | nulloptional

The configuration for a context tool.

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

Task implementation details

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

A unique identifier for the task.

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

Initial value of the variable.

valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

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

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

Google CEL expression object.

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

2 fields
expressionstringrequired

CEL expression string.

typestringoptional

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

Constant celDefault cel
Option 2JMESPathExpressionoptional

JMESPath expression object.

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

2 fields
expressionstringrequired

JMESPath expression string.

typeenum<string>optional

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

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

Conditional branch expression.

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

1 field
caseConditionalValue[]required

Ordered conditional branches (reserved for future runtime support).

Item schema
itemsConditionalValuerequired
3 fields
valueJsonValue | nullreference defined above

Initial value of the variable.

valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionrecursive reference

Conditional branch expression.

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

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

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionrecursive reference

Conditional branch expression.

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

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

The name of the property.

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

The name of the generated tool.

descriptionstring | nulloptional

The description of the tool.

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

The name of the property.

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

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

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

Actions to execute when the configured events occur.

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

Actions to execute on the first input from the user.

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

Initial value of the variable.

valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

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

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

Option 3stringoptional
Option 4nulloptional
actionstringoptional
Constant setDefault set
namestringrequired

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

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

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

Option 3stringoptional
Option 4nulloptional
actionstringoptional
Constant incDefault inc
namestringrequired

Numeric destination path to increment.

byintegeroptional

Increment amount (defaults to 1).

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

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

Option 3stringoptional
Option 4nulloptional
actionstringoptional
Constant callDefault call
namestringrequired

The name of the tool to call.

argumentsobject | nulloptional

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

1 options
{key}JsonValuereference defined above
resultCallResult | nulloptional

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

1 options
saveCallResultSaveMapping[]optional

Field mappings extracted from the tool response into workflow state.

Item schema
itemsCallResultSaveMappingrequired

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

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

2 fields
fromCelExpression | JMESPathExpression | CaseExpression | stringrequired

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

Option 3stringrequired
tostringrequired

Workflow variable name to store the extracted value under.

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

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

Option 3stringoptional
Option 4nulloptional
textstringrequired

Text to apply if the condition is true.

actionstringoptional
Constant sayDefault say
roleenum<string>optional

The role of the message.

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

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

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

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

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

Target name to save (defaults to global variable).

inputsstring[] | nulloptional

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

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

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

8 fields
idstring | nulloptional

A unique identifier for the task.

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

The local path of the tool definition JSON file.

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

A unique identifier for the task.

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

Actions to execute when the configured events occur.

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

Actions to execute on the first input from the user.

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

A unique identifier for the task.

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

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

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

The unique identifier of the step.

goalstringrequired

The goal of the step.

instructionsConditionalText | string[]optional

The instructions for the step.

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

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

Option 3stringoptional
Option 4nulloptional
textstringrequired

Text to apply if the condition is true.

Option 2stringrequired
toolsStepToolsoptional

The tools configuration for the step.

3 fields
callboolean | nulloptional

Whether to force immediate tool call without user interaction.

allowstring[] | nulloptional

List of allowed tool names for this step.

Item schema
itemsstringrequired
allowGoToStepboolean | nulloptional

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

inputsInputParameter[]optional

The inputs for the step.

Item schema
itemsInputParameterreference defined above
onStepEventActionsoptional

The events that trigger the actions to be executed.

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

Actions to execute on the first input from the user.

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

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

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

Initial value of the variable.

valueFromCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

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

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

Option 3stringoptional
Option 4nulloptional
actionenum<string>optional

Populate default input values.

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

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

Item schema
itemsstringrequired
overwritebooleanoptional

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

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

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

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

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

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

The next steps to execute.

Item schema
itemsNextStep | stringrequired
2 options
Option 1NextSteprequired

Represents a conditional transition to the next step.

3 fields
ifCelExpression | JMESPathExpression | CaseExpression | string | nulloptional

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

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

Google CEL expression object.

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

Option 2JMESPathExpressionreference defined above

JMESPath expression object.

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

Option 2CaseExpressionreference defined above

Conditional branch expression.

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

Option 3stringoptional
Option 4nulloptional
idstringrequired

The identifier of the next step.

requiresstring[] | nulloptional

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

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

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

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

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

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

The default value for a parameter of a tool call.

1 field
transformToolParameterTransformrequired

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

4 fields
actionenum<string>optional

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

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

Only apply the transform if the condition is met.

3 options
keystringrequired

The name of the parameter to check.

valuestringrequired

The value to check against the parameter.

operatorstring | nulloptional

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

Default eqConstant eq
valueunspecified | nulloptional

The default value to use for the parameter.

formatstring | nulloptional

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

Option 3nulloptional
static_parametersStaticToolParameter[] | nulloptional

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

Item schema
itemsStaticToolParameterrequired

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

5 fields
namestringrequired

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

descriptionstring | nulloptional

The description of the parameter.

requiredbooleanrequired

Whether the parameter is required to have a value assigned.

typeenum<string>required

The expected type for the parameter.

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

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

resultunspecified | nulloptional

The optional result of the tool call.

optionsToolOptions | nulloptional

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

1 options
propagate_tool_resultbooleanoptional

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

Default false
response_displayResponseDisplayConfig | nulloptional

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Option 6nulloptional
service_idintegerrequired

Internal ID of the service to which the tool belongs

idintegerrequired

The internal ID of the tool

last_updated_commentsstring | nulloptional

Comments for the most recent edit to the tool.

service_namestring | nulloptional

The name of the service to which the tool belongs

prompts_infoToolPromptInfo[] | nulloptional

IDs and names of the prompts linked to the tool

Item schema
itemsToolPromptInforequired

Information about a prompt linked to a tool.

2 fields
idintegerrequired

The ID of the prompt

namestringrequired

The name of the prompt

agents_infoToolAgentInfo[] | nulloptional

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

Item schema
itemsToolAgentInforequired

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

2 fields
idintegerrequired

The internal ID of the agent

namestringrequired

The name of the agent

last_updatedstring (date-time)required

The timestamp of the most recent update to the tool

last_updated_bystringrequired

The email of the user who last updated the tool

version_numberintegerrequired

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

agent_countinteger | nulloptional

The number of agents using the prompt

version_numberinteger | nulloptional

The version number of the current version of the prompt

tools_fullToolResponse[] | nulloptional

Full definitions of tools to which the prompt has access

Item schema
itemsToolResponserequired

Response 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
namestringrequired

The name of the tool

definitionToolDefinitionreference defined above

The definition of the tool

service_idintegerrequired

Internal ID of the service to which the tool belongs

idintegerrequired

The internal ID of the tool

last_updated_commentsstring | nulloptional

Comments for the most recent edit to the tool.

service_namestring | nulloptional

The name of the service to which the tool belongs

prompts_infoToolPromptInfo[] | nulloptional

IDs and names of the prompts linked to the tool

Item schema
itemsToolPromptInforeference defined above

Information about a prompt linked to a tool.

agents_infoToolAgentInfo[] | nulloptional

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

Item schema
itemsToolAgentInforeference defined above

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

last_updatedstring (date-time)required

The timestamp of the most recent update to the tool

last_updated_bystringrequired

The email of the user who last updated the tool

version_numberintegerrequired

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

validation_issuesValidationIssue[] | nulloptional

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

Item schema
itemsValidationIssuerequired

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

5 fields
idstringrequired

Stable machine-readable identifier (kebab-case)

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

Human-readable description

pathstring | nulloptional

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

valuestring | nulloptional

The offending value, when it adds clarity

validation_issuesValidationIssue[] | nulloptional

Non-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 above

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

custom_messageCustomMessageResponse | nulloptional

The message associated with the agent. Will be delivered as a greeting at the beginning of a conversation.

12 options
namestringrequired

The name of the custom message

typeenum<string>optional

Type of the custom message: greeting (voice) or email_template.

Allowed values ["greeting","email_template"]Default greeting
preamblestring | nulloptional

An 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.

textstringrequired

The 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 | nulloptional

Email subject. Required for email_template (in type_config); ignored otherwise.

labelstring | nulloptional

The label of the custom message

repeat_after_language_changebooleanrequired

If 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[]optional

Rules for time-specific message variants

Default []
Item schema
itemsCustomMessageRulerequired

A rule used to determine whether a custom message should present a variant message based on the current timestamp.

7 fields
descriptionstringrequired

The description of the rule

time_range_startstring | nulloptional

The start of the time range for the rule in 24-hour format hh:mm (should be null for "all day" cases)

Pattern ^([01]\d|2[0-3]):[0-5]\d$
time_range_endstring | nulloptional

The end of the time range for the rule in 24-hour format hh:mm (should be null for "all day" cases)

Pattern ^([01]\d|2[0-3]):[0-5]\d$
datestring | nulloptional

The date for the rule in YYYY-MM-DD format

Pattern \b(19|20)\d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\b
days_of_weekenum<string>[] | nulloptional

The days of the week for the rule

Item schema
itemsenum<string>required

Available options for day of the week for use in message rules.

Allowed values ["mo","tu","we","th","fr","sa","su"]
invertbooleanrequired

Whether the rule logic should be inverted (i.e. "not")

textstringrequired

Message text associated with the rule

idintegerrequired

The ID of the custom message

updated_atstring (date-time)required

Timestamp of the most recent update to the custom message

agent_countinteger | nulloptional

The number of agents using the custom message

last_updated_bystringrequired

The email address of the user who most recently updated the custom message

channel_targetsChannelTargetResponse[] | nulloptional

Channel targets associated with the agent

Item schema
itemsChannelTargetResponserequired

Response 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_idintegerrequired

The internal ID of the agent associated with the channel target

channel_idintegerrequired

The internal ID of the channel associated with the channel target

targetstringrequired

The name of the channel target. Must correspond to an organization-level target (available targets can be fetched from /channels/available-targets).

target_modeenum<string>required

The mode of the channel target (must match one of the supported modes of the associated channel)

Allowed values ["voice","chat","sms","email","whatsapp"]
fallback_targetstring | nulloptional

The fallback for the channel target (currently only supported for "voice" mode)

is_testbooleanoptional

Whether 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).

Default false
idintegerrequired

The internal ID of the channel target

channel_namestringrequired

The name of the channel associated with the channel target

updated_atstring (date-time)required

Timestamp of the most recent update to the channel target

last_updated_bystringrequired

Email of the user who last updated the channel target

agentAgentResponse | nullrecursive reference

Definition of the agent with which the channel target is associated.

a2p_verifiedboolean | nulloptional

Twilio US A2P messaging-path configuration snapshot from the last explicit verify; null if never checked.

toolsToolResponse[] | nulloptional

Tools associated with the agent

Item schema
itemsToolResponsereference defined above

Response 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 | nulloptional

The language group associated with the agent

10 options
namestringrequired

The name of the language group.

descriptionstring | nulloptional

Description of the language group.

language_configsLanguageConfig[]required

Voice and DTMF configurations for each language in the group.

Item schema
itemsLanguageConfigrequired

Voice 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>required

BCP 47 code of the language

Allowed values ["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>required

TTS provider of the voice to use for the language

Allowed values ["OpenAI","ElevenLabs","Google","Cartesia"]
voice_display_nameenum<string>required

Display name of the voice to use for the language

Allowed values ["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 | nulloptional

Speed 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 | nulloptional

Pitch 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_codeintegerrequired

DTMF code that should be used for the language in the menu generated from the language group.

skip_current_language_in_messagebooleanrequired

Whether a custom message using the language group to generate a language DTMF menu should skip the agent's current language in the menu.

idintegerrequired

The ID of the language group to update.

edit_commentsstring | nulloptional

Comments for the most recent edit to the language group.

agents_infoLanguageGroupAgentInfo[] | nulloptional

IDs and names of the agents linked to the language group

Item schema
itemsLanguageGroupAgentInforequired

Information about an agent linked to a language group.

2 fields
idintegerrequired

The ID of the agent

namestringrequired

The name of the agent

updated_atstring (date-time)required

Timestamp of the last update to the language group.

last_updated_bystringrequired

Email of the user who last updated the language group.

validation_issuesValidationIssue[] | nulloptional

Non-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 above

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

validation_issuesValidationIssue[] | nulloptional

Non-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 above

A 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"
}
400Bad Request

No response body is declared.

422Validation Error

application/json

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

No response body is declared.