Skip to main content
POST
/
api
/
v1
/
agents
/
Typescript (SDK)
import { SyllableSDK } from "syllable-sdk";

const syllableSDK = new SyllableSDK({
  apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "",
});

async function run() {
  const result = await syllableSDK.agents.create({
    name: "Weather agent",
    description: "Agent for answering questions about weather.",
    labels: [
      "Information",
      "Weather",
    ],
    type: "ca_v1",
    promptId: 1,
    customMessageId: 1,
    languageGroupId: 1,
    timezone: "America/New_York",
    promptToolDefaults: [
      {
        toolName: "get_weather",
        defaultValues: [
          {
            fieldName: "temperature_unit",
            defaultValue: "fahrenheit",
          },
        ],
      },
    ],
    variables: {
      "vars.location_name": "Main Street Pizza",
    },
    toolHeaders: {
      "some-header": "some-value",
    },
    sttProvider: "Google STT V2 (Chirp 2)",
    waitSound: "No Sound",
  });

  console.log(result);
}

run();
import os
from syllable_sdk import SyllableSDK, models


with SyllableSDK(
api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:

res = ss_client.agents.create(request={
"name": "Weather agent",
"description": "Agent for answering questions about weather.",
"labels": [
"Information",
"Weather",
],
"type": "ca_v1",
"prompt_id": 1,
"custom_message_id": 1,
"language_group_id": 1,
"timezone": "America/New_York",
"prompt_tool_defaults": [
{
"tool_name": "get_weather",
"default_values": [
{
"field_name": "temperature_unit",
"default_value": "fahrenheit",
},
],
},
],
"variables": {
"vars.location_name": "Main Street Pizza",
},
"tool_headers": {
"some-header": "some-value",
},
"stt_provider": models.AgentSttProvider.GOOGLE_STT_V2_CHIRP_2_,
"wait_sound": models.AgentWaitSound.NO_SOUND,
})

# Handle response
print(res)
curl --request POST \
--url https://api.syllable.cloud/api/v1/agents/ \
--header 'Content-Type: application/json' \
--header 'Syllable-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"type": "<string>",
"prompt_id": 123,
"timezone": "<string>",
"variables": {},
"tool_headers": {
"some-header": "some-value"
},
"description": "Agent for answering questions about weather.",
"label": "Information",
"labels": [
"Information",
"Weather"
],
"custom_message_id": 1,
"language_group_id": 1,
"prompt_tool_defaults": [
{
"tool_name": "<string>",
"default_values": [
{
"field_name": "<string>",
"default_value": "<unknown>"
}
]
}
],
"languages": [
"<string>"
],
"agent_initiated": false,
"stt_provider": "Google STT V2 (Chirp 2)",
"wait_sound": "No Sound",
"enable_verbal_language_change": false
}
'
const options = {
method: 'POST',
headers: {'Syllable-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
type: '<string>',
prompt_id: 123,
timezone: '<string>',
variables: {},
tool_headers: {'some-header': 'some-value'},
description: 'Agent for answering questions about weather.',
label: 'Information',
labels: ['Information', 'Weather'],
custom_message_id: 1,
language_group_id: 1,
prompt_tool_defaults: [
{
tool_name: '<string>',
default_values: [{field_name: '<string>', default_value: '<unknown>'}]
}
],
languages: ['<string>'],
agent_initiated: false,
stt_provider: 'Google STT V2 (Chirp 2)',
wait_sound: 'No Sound',
enable_verbal_language_change: false
})
};

fetch('https://api.syllable.cloud/api/v1/agents/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.syllable.cloud/api/v1/agents/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'type' => '<string>',
'prompt_id' => 123,
'timezone' => '<string>',
'variables' => [

],
'tool_headers' => [
'some-header' => 'some-value'
],
'description' => 'Agent for answering questions about weather.',
'label' => 'Information',
'labels' => [
'Information',
'Weather'
],
'custom_message_id' => 1,
'language_group_id' => 1,
'prompt_tool_defaults' => [
[
'tool_name' => '<string>',
'default_values' => [
[
'field_name' => '<string>',
'default_value' => '<unknown>'
]
]
]
],
'languages' => [
'<string>'
],
'agent_initiated' => false,
'stt_provider' => 'Google STT V2 (Chirp 2)',
'wait_sound' => 'No Sound',
'enable_verbal_language_change' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Syllable-API-Key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.syllable.cloud/api/v1/agents/"

payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"prompt_id\": 123,\n \"timezone\": \"<string>\",\n \"variables\": {},\n \"tool_headers\": {\n \"some-header\": \"some-value\"\n },\n \"description\": \"Agent for answering questions about weather.\",\n \"label\": \"Information\",\n \"labels\": [\n \"Information\",\n \"Weather\"\n ],\n \"custom_message_id\": 1,\n \"language_group_id\": 1,\n \"prompt_tool_defaults\": [\n {\n \"tool_name\": \"<string>\",\n \"default_values\": [\n {\n \"field_name\": \"<string>\",\n \"default_value\": \"<unknown>\"\n }\n ]\n }\n ],\n \"languages\": [\n \"<string>\"\n ],\n \"agent_initiated\": false,\n \"stt_provider\": \"Google STT V2 (Chirp 2)\",\n \"wait_sound\": \"No Sound\",\n \"enable_verbal_language_change\": false\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Syllable-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.syllable.cloud/api/v1/agents/")
.header("Syllable-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"prompt_id\": 123,\n \"timezone\": \"<string>\",\n \"variables\": {},\n \"tool_headers\": {\n \"some-header\": \"some-value\"\n },\n \"description\": \"Agent for answering questions about weather.\",\n \"label\": \"Information\",\n \"labels\": [\n \"Information\",\n \"Weather\"\n ],\n \"custom_message_id\": 1,\n \"language_group_id\": 1,\n \"prompt_tool_defaults\": [\n {\n \"tool_name\": \"<string>\",\n \"default_values\": [\n {\n \"field_name\": \"<string>\",\n \"default_value\": \"<unknown>\"\n }\n ]\n }\n ],\n \"languages\": [\n \"<string>\"\n ],\n \"agent_initiated\": false,\n \"stt_provider\": \"Google STT V2 (Chirp 2)\",\n \"wait_sound\": \"No Sound\",\n \"enable_verbal_language_change\": false\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.syllable.cloud/api/v1/agents/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Syllable-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"prompt_id\": 123,\n \"timezone\": \"<string>\",\n \"variables\": {},\n \"tool_headers\": {\n \"some-header\": \"some-value\"\n },\n \"description\": \"Agent for answering questions about weather.\",\n \"label\": \"Information\",\n \"labels\": [\n \"Information\",\n \"Weather\"\n ],\n \"custom_message_id\": 1,\n \"language_group_id\": 1,\n \"prompt_tool_defaults\": [\n {\n \"tool_name\": \"<string>\",\n \"default_values\": [\n {\n \"field_name\": \"<string>\",\n \"default_value\": \"<unknown>\"\n }\n ]\n }\n ],\n \"languages\": [\n \"<string>\"\n ],\n \"agent_initiated\": false,\n \"stt_provider\": \"Google STT V2 (Chirp 2)\",\n \"wait_sound\": \"No Sound\",\n \"enable_verbal_language_change\": false\n}"

response = http.request(request)
puts response.read_body
{
  "name": "<string>",
  "type": "<string>",
  "prompt_id": 123,
  "timezone": "<string>",
  "variables": {},
  "tool_headers": {
    "some-header": "some-value"
  },
  "id": 123,
  "updated_at": "2023-11-07T05:31:56Z",
  "last_updated_by": "user@email.com",
  "description": "Agent for answering questions about weather.",
  "label": "Information",
  "labels": [
    "Information",
    "Weather"
  ],
  "custom_message_id": 1,
  "language_group_id": 1,
  "prompt_tool_defaults": [
    {
      "tool_name": "<string>",
      "default_values": [
        {
          "field_name": "<string>",
          "default_value": "<unknown>"
        }
      ]
    }
  ],
  "languages": [
    "<string>"
  ],
  "agent_initiated": false,
  "stt_provider": "Google STT V2 (Chirp 2)",
  "wait_sound": "No Sound",
  "enable_verbal_language_change": false,
  "prompt": {
    "name": "<string>",
    "type": "<string>",
    "llm_config": {
      "provider": "azure_openai",
      "model": "gpt-4o",
      "version": "2024-05-13",
      "api_version": "2024-06-01",
      "temperature": 1,
      "seed": 123
    },
    "id": 123,
    "last_updated": "2024-01-01T12:00:00Z",
    "description": "Prompt for a weather agent.",
    "context": "You are a weather agent. Answer the user's questions about weather and nothing else.",
    "tools": [],
    "session_end_enabled": false,
    "session_end_tool_id": 1,
    "edit_comments": "Updated prompt text to include requirement to not answer questions that aren't about weather.",
    "last_updated_by": "user@email.com",
    "session_end_tool": {
      "name": "<string>",
      "definition": {
        "tool": {
          "function": {
            "name": "<string>",
            "description": "<string>",
            "parameters": "<unknown>"
          },
          "type": "function"
        },
        "type": "endpoint",
        "endpoint": {
          "url": "<string>",
          "timeout": 45
        },
        "context": {
          "task": {
            "id": "<string>",
            "config": {},
            "variables": [
              {
                "name": "<string>",
                "value": "<unknown>",
                "valueFrom": "inputs.provided_dob == patient_dob",
                "description": "<string>",
                "title": "<string>",
                "format": "<string>",
                "pattern": "<string>",
                "enum": [
                  "<string>"
                ],
                "examples": [
                  "<unknown>"
                ]
              }
            ],
            "metadata": {
              "priority": 123
            },
            "tool": {
              "name": "<string>",
              "description": "<string>"
            },
            "type": "expression",
            "version": "v1alpha",
            "inputs": [
              {
                "name": "<string>",
                "description": "<string>",
                "title": "<string>",
                "format": "<string>",
                "pattern": "<string>",
                "enum": [
                  "<string>"
                ],
                "examples": [
                  "<unknown>"
                ],
                "required": true
              }
            ],
            "expression": "inputs.can_sign_consent == `true`",
            "output": null,
            "on": {
              "start": [
                {
                  "name": "<string>",
                  "value": "<unknown>",
                  "valueFrom": "inputs.provided_dob == patient_dob",
                  "if": "inputs.can_sign_consent == `true`",
                  "action": "set"
                }
              ],
              "submit": [
                {
                  "name": "<string>",
                  "value": "<unknown>",
                  "valueFrom": "inputs.provided_dob == patient_dob",
                  "if": "inputs.can_sign_consent == `true`",
                  "action": "set"
                }
              ]
            }
          }
        },
        "defaults": "<unknown>",
        "static_parameters": [
          {
            "default": "fahrenheit",
            "description": "Whether the temperature information should be fetched in Celsius or Fahrenheit",
            "name": "temperature_unit",
            "required": false,
            "type": "string"
          }
        ],
        "result": "<unknown>",
        "options": {
          "propagate_tool_result": false
        }
      },
      "service_id": 123,
      "id": 123,
      "last_updated": "2023-11-07T05:31:56Z",
      "last_updated_by": "<string>",
      "version_number": 123,
      "last_updated_comments": "Updated to use new API endpoint",
      "service_name": "<string>",
      "prompts_info": [
        {
          "id": 123,
          "name": "<string>"
        }
      ],
      "agents_info": [
        {
          "id": 123,
          "name": "<string>"
        }
      ]
    },
    "agent_count": 5,
    "version_number": 1,
    "tools_full": [
      {
        "name": "<string>",
        "definition": {
          "tool": {
            "function": {
              "name": "<string>",
              "description": "<string>",
              "parameters": "<unknown>"
            },
            "type": "function"
          },
          "type": "endpoint",
          "endpoint": {
            "url": "<string>",
            "timeout": 45
          },
          "context": {
            "task": {
              "id": "<string>",
              "config": {},
              "variables": [
                {
                  "name": "<string>",
                  "value": "<unknown>",
                  "valueFrom": "inputs.provided_dob == patient_dob",
                  "description": "<string>",
                  "title": "<string>",
                  "format": "<string>",
                  "pattern": "<string>",
                  "enum": [
                    "<string>"
                  ],
                  "examples": [
                    "<unknown>"
                  ]
                }
              ],
              "metadata": {
                "priority": 123
              },
              "tool": {
                "name": "<string>",
                "description": "<string>"
              },
              "type": "expression",
              "version": "v1alpha",
              "inputs": [
                {
                  "name": "<string>",
                  "description": "<string>",
                  "title": "<string>",
                  "format": "<string>",
                  "pattern": "<string>",
                  "enum": [
                    "<string>"
                  ],
                  "examples": [
                    "<unknown>"
                  ],
                  "required": true
                }
              ],
              "expression": "inputs.can_sign_consent == `true`",
              "output": null,
              "on": {
                "start": [
                  {
                    "name": "<string>",
                    "value": "<unknown>",
                    "valueFrom": "inputs.provided_dob == patient_dob",
                    "if": "inputs.can_sign_consent == `true`",
                    "action": "set"
                  }
                ],
                "submit": [
                  {
                    "name": "<string>",
                    "value": "<unknown>",
                    "valueFrom": "inputs.provided_dob == patient_dob",
                    "if": "inputs.can_sign_consent == `true`",
                    "action": "set"
                  }
                ]
              }
            }
          },
          "defaults": "<unknown>",
          "static_parameters": [
            {
              "default": "fahrenheit",
              "description": "Whether the temperature information should be fetched in Celsius or Fahrenheit",
              "name": "temperature_unit",
              "required": false,
              "type": "string"
            }
          ],
          "result": "<unknown>",
          "options": {
            "propagate_tool_result": false
          }
        },
        "service_id": 123,
        "id": 123,
        "last_updated": "2023-11-07T05:31:56Z",
        "last_updated_by": "<string>",
        "version_number": 123,
        "last_updated_comments": "Updated to use new API endpoint",
        "service_name": "<string>",
        "prompts_info": [
          {
            "id": 123,
            "name": "<string>"
          }
        ],
        "agents_info": [
          {
            "id": 123,
            "name": "<string>"
          }
        ],
        "validation_issues": [
          {
            "id": "<string>",
            "message": "<string>",
            "severity": "error",
            "path": "<string>",
            "value": "<string>"
          }
        ]
      }
    ]
  },
  "custom_message": {
    "name": "<string>",
    "text": "<string>",
    "repeat_after_language_change": true,
    "id": 123,
    "updated_at": "2023-11-07T05:31:56Z",
    "last_updated_by": "<string>",
    "type": "greeting",
    "preamble": "If this is an emergency, please hang up and call 911.",
    "subject": "Your appointment reminder",
    "label": "Customer service",
    "rules": [],
    "agent_count": 1
  },
  "channel_targets": [
    {
      "agent_id": 123,
      "channel_id": 123,
      "target": "<string>",
      "id": 123,
      "channel_name": "<string>",
      "updated_at": "2023-11-07T05:31:56Z",
      "last_updated_by": "<string>",
      "fallback_target": "+19995551235",
      "is_test": false,
      "agent": "<unknown>",
      "a2p_verified": true
    }
  ],
  "tools": [
    {
      "name": "<string>",
      "definition": {
        "tool": {
          "function": {
            "name": "<string>",
            "description": "<string>",
            "parameters": "<unknown>"
          },
          "type": "function"
        },
        "type": "endpoint",
        "endpoint": {
          "url": "<string>",
          "timeout": 45
        },
        "context": {
          "task": {
            "id": "<string>",
            "config": {},
            "variables": [
              {
                "name": "<string>",
                "value": "<unknown>",
                "valueFrom": "inputs.provided_dob == patient_dob",
                "description": "<string>",
                "title": "<string>",
                "format": "<string>",
                "pattern": "<string>",
                "enum": [
                  "<string>"
                ],
                "examples": [
                  "<unknown>"
                ]
              }
            ],
            "metadata": {
              "priority": 123
            },
            "tool": {
              "name": "<string>",
              "description": "<string>"
            },
            "type": "expression",
            "version": "v1alpha",
            "inputs": [
              {
                "name": "<string>",
                "description": "<string>",
                "title": "<string>",
                "format": "<string>",
                "pattern": "<string>",
                "enum": [
                  "<string>"
                ],
                "examples": [
                  "<unknown>"
                ],
                "required": true
              }
            ],
            "expression": "inputs.can_sign_consent == `true`",
            "output": null,
            "on": {
              "start": [
                {
                  "name": "<string>",
                  "value": "<unknown>",
                  "valueFrom": "inputs.provided_dob == patient_dob",
                  "if": "inputs.can_sign_consent == `true`",
                  "action": "set"
                }
              ],
              "submit": [
                {
                  "name": "<string>",
                  "value": "<unknown>",
                  "valueFrom": "inputs.provided_dob == patient_dob",
                  "if": "inputs.can_sign_consent == `true`",
                  "action": "set"
                }
              ]
            }
          }
        },
        "defaults": "<unknown>",
        "static_parameters": [
          {
            "default": "fahrenheit",
            "description": "Whether the temperature information should be fetched in Celsius or Fahrenheit",
            "name": "temperature_unit",
            "required": false,
            "type": "string"
          }
        ],
        "result": "<unknown>",
        "options": {
          "propagate_tool_result": false
        }
      },
      "service_id": 123,
      "id": 123,
      "last_updated": "2023-11-07T05:31:56Z",
      "last_updated_by": "<string>",
      "version_number": 123,
      "last_updated_comments": "Updated to use new API endpoint",
      "service_name": "<string>",
      "prompts_info": [
        {
          "id": 123,
          "name": "<string>"
        }
      ],
      "agents_info": [
        {
          "id": 123,
          "name": "<string>"
        }
      ],
      "validation_issues": [
        {
          "id": "<string>",
          "message": "<string>",
          "severity": "error",
          "path": "<string>",
          "value": "<string>"
        }
      ]
    }
  ],
  "language_group": {
    "name": "<string>",
    "language_configs": [
      {
        "dtmf_code": 123,
        "voice_speed": 1,
        "voice_pitch": 0
      }
    ],
    "skip_current_language_in_message": true,
    "id": 123,
    "updated_at": "2023-11-07T05:31:56Z",
    "last_updated_by": "<string>",
    "description": "Languages spoken by operators at Call Center 1",
    "edit_comments": "Added Spanish support.",
    "agents_info": [
      {
        "id": 1,
        "name": "Test Agent"
      }
    ]
  }
}
{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}

Authorizations

Syllable-API-Key
string
header
required

Body

application/json

Request model to create an agent.

name
string
required

The agent name

Example:

"Weather agent"

type
string
required

The agent type. Must be "ca_v1" currently.

Example:

"ca_v1"

prompt_id
integer
required

ID of the prompt associated with the agent

Example:

1

timezone
string
required

The time zone in which the agent operates

Examples:

"America/New_York"

"America/Chicago"

variables
Variables · object
required

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

Example:
{ "vars.location_name": "Main Street Pizza" }
tool_headers
Tool Headers · object | null
required

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

Example:
{ "some-header": "some-value" }
description
string | null

The agent description

Example:

"Agent for answering questions about weather."

label
string | null
deprecated

The agent label (DEPRECATED - use labels instead.)

Example:

"Information"

labels
string[] | null

The agent labels

Example:
["Information", "Weather"]
custom_message_id
integer | null

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

Example:

1

language_group_id
integer | null

Internal ID of the language group associated with the agent

Example:

1

prompt_tool_defaults
AgentToolDefaults · object[]

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

Example:
[
{
"default_values": [
{
"default_value": "fahrenheit",
"field_name": "temperature_unit"
}
],
"tool_name": "get_weather"
}
]
languages
string[]
deprecated

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

Example:
["en-US", "es-US"]
agent_initiated
boolean
default:false

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

Example:

false

stt_provider
enum<string> | null

Speech-to-text provider for the agent.

Available options:
Google STT V2 (Chirp 2),
Deepgram Nova 3 (On-Prem),
Deepgram Nova 3,
Google STT V2,
Google STT V1,
Deepgram Nova 2
Example:

"Google STT V2 (Chirp 2)"

wait_sound
enum<string> | null

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

Available options:
No Sound,
Keyboard 1,
Keyboard 2,
Call Center
Example:

"No Sound"

enable_verbal_language_change
boolean
default:false

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

Example:

false

Response

Successful Response

Response model for agent operations. When a user interacts with the Syllable system, they do so by communicating with an agent. An agent is linked to a prompt, a custom message, and one or more channel targets to define its behavior and capabilities. For more information, see Console docs.

name
string
required

The agent name

Example:

"Weather agent"

type
string
required

The agent type. Must be "ca_v1" currently.

Example:

"ca_v1"

prompt_id
integer
required

ID of the prompt associated with the agent

Example:

1

timezone
string
required

The time zone in which the agent operates

Examples:

"America/New_York"

"America/Chicago"

variables
Variables · object
required

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

Example:
{ "vars.location_name": "Main Street Pizza" }
tool_headers
Tool Headers · object | null
required

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

Example:
{ "some-header": "some-value" }
id
integer
required

Internal ID of the agent

Example:

1

updated_at
string<date-time>
required

Timestamp of most recent update

Example:

"2024-01-01T00:00:00Z"

last_updated_by
string | null
required

Email of the user who last updated the agent

Example:

"user@email.com"

description
string | null

The agent description

Example:

"Agent for answering questions about weather."

label
string | null
deprecated

The agent label (DEPRECATED - use labels instead.)

Example:

"Information"

labels
string[] | null

The agent labels

Example:
["Information", "Weather"]
custom_message_id
integer | null

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

Example:

1

language_group_id
integer | null

Internal ID of the language group associated with the agent

Example:

1

prompt_tool_defaults
AgentToolDefaults · object[]

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

Example:
[
{
"default_values": [
{
"default_value": "fahrenheit",
"field_name": "temperature_unit"
}
],
"tool_name": "get_weather"
}
]
languages
string[]
deprecated

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

Example:
["en-US", "es-US"]
agent_initiated
boolean
default:false

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

Example:

false

stt_provider
string | null

Speech-to-text provider for the agent.

Example:

"Google STT V2 (Chirp 2)"

wait_sound
string | null

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

Example:

"No Sound"

enable_verbal_language_change
boolean
default:false

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

Example:

false

prompt
PromptResponse · object | null

The prompt associated with the agent.

custom_message
CustomMessageResponse · object | null

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

channel_targets
ChannelTargetResponse · object[] | null

Channel targets associated with the agent

tools
ToolResponse · object[] | null

Tools associated with the agent

language_group
LanguageGroupResponse · object | null

The language group associated with the agent