Voice configuration attributes
These advanced attributes configure the voice backend for your AI Employee, including the integration service, speech-to-text and text-to-speech provider settings, AI Phone provisioning, and call timeout behavior. All 16 attributes are hidden from the standard Attributes UI and only appear when you enable the Show Hidden toggle on the Attributes page. Incorrect values on the core integration attributes can disrupt all voice sessions, so treat these settings with care.
Quick reference
| Identifier | Type | Default | Summary |
|---|---|---|---|
project_attributes_setting_voice_integration_service | ENUM | NEWO Voice Integration | Selects the voice backend used for call operations |
project_attributes_setting_voice_integration_service_voice_mode | ENUM | voice-to-voice | Sets the operating mode for the native voice integration |
project_attributes_setting_voice_integration_service_voice_to_voice_provider | ENUM | genai | Selects the provider for voice-to-voice sessions |
project_attributes_setting_voice_integration_service_voice_to_voice_provider_genai_functions | JSON | (baseline tool list) | JSON schema of callable tools for GenAI voice sessions |
project_attributes_setting_voice_integration_service_voice_to_voice_provider_genai_set_turn_message_type | ENUM | user | Role used when sending commands to GenAI voice sessions |
project_representative_agent_voice_tts_provider_id | STRING | (blank) | Stores the TTS provider ID for voice configuration |
project_representative_agent_voice_tts_model_id | STRING | (blank) | Stores the TTS model ID for voice configuration |
project_representative_agent_voice_stt_provider_id | STRING | (blank) | Stores the STT provider ID for voice configuration |
project_representative_agent_voice_stt_model_id | STRING | (blank) | Stores the STT model ID for voice configuration |
project_representative_agent_voice_transcriber_language | STRING | (blank) | Stores the STT language code for voice configuration |
project_representative_agent_voice_phone_alpha2_code | STRING | US | ISO 3166-1 alpha-2 country code for phone provisioning |
project_representative_agent_voice_phone_country_code | NUMBER | 1 | Numeric dialing code for phone formatting and parsing |
project_representative_agent_voice_phone_area_code | NUMBER | 650 | Primary area code preference for number provisioning |
project_representative_agent_voice_phone_fallback_area_code | NUMBER | 408 | Backup area code when the primary has no available numbers |
project_attributes_setting_voice_stop_call_timeout | NUMBER | 6 | Seconds to wait before finalizing call-stop behavior |
project_attributes_setting_voice_transfer_call_timeout | NUMBER | 6 | Seconds to wait when executing a call transfer |
Voice integration service
These three attributes define the core voice backend. They control which integration handles call operations, which operating mode is active, and which provider powers voice-to-voice sessions. Because they affect command routing for every call, they should be changed only with full understanding of the downstream impact.
project_attributes_setting_voice_integration_service
project_attributes_setting_voice_integration_service| Type | Default |
|---|---|
| ENUM | NEWO Voice Integration |
This attribute selects which voice backend your AI Employee uses for call operations, including hang-up, transfer, and all telephony-related commands. The platform supports two options: the native NEWO voice integration and an external VAPI integration. Each routes commands through a different connector, so switching this value changes how every call-control action is executed.
::: ❗❗ IMPORTANT
Changing this attribute in a production environment affects command routing for transfer, hang-up, and all telephony-related actions across every voice session. Verify the new value in a test environment before applying it to live traffic. :::
Possible values:
NEWO Voice Integration— Routes all voice commands through the platform-native connector. Enables native voice mode controls and advanced timeout settings.VAPI Integration— Routes voice commands through the VAPI external connector.
project_attributes_setting_voice_integration_service_voice_mode
project_attributes_setting_voice_integration_service_voice_mode| Type | Default |
|---|---|
| ENUM | voice-to-voice |
This attribute defines the operating mode for the platform-native voice integration. In voice-to-voice mode, your AI Employee engages in real-time spoken conversation using a voice-to-voice provider. In transcriber mode, the system follows a transcript-first flow where speech is converted to text before the AI Employee processes and responds.
::: ❗❗ IMPORTANT
This attribute only applies when project_attributes_setting_voice_integration_service is set to NEWO Voice Integration. Changing the mode activates different conversation-start flows and runtime behaviors. Test thoroughly before changing in production.
:::
Possible values:
voice-to-voice— Activates the voice-to-voice conversation-start flow and real-time voice runtime.transcriber— Activates the transcriber-oriented conversation-start flow.
project_attributes_setting_voice_integration_service_voice_to_voice_provider
project_attributes_setting_voice_integration_service_voice_to_voice_provider| Type | Default |
|---|---|
| ENUM | genai |
This attribute selects which provider powers voice-to-voice sessions when the native voice integration is active in voice-to-voice mode. The provider choice determines which voice catalog and model are used, and is synced to the native connector configuration at session start.
::: ❗❗ IMPORTANT
This attribute is only applied when project_attributes_setting_voice_integration_service_voice_mode is voice-to-voice and the integration service is set to NEWO Voice Integration. Changing the provider mid-deployment may affect in-progress sessions. Align this choice with your voice catalog and reliability requirements.
:::
Possible values:
genai— Uses the GenAI voice-to-voice provider path (default). Supports Vertex-backed routing and the GenAI voice catalog.openai— Uses the OpenAI voice-to-voice provider path.
GenAI voice provider settings
These two attributes configure how commands and context are delivered during GenAI voice-to-voice sessions. They control the message role used for set_turn_message calls, which affects how the AI Employee receives instructions mid-call.
project_attributes_setting_voice_integration_service_voice_to_voice_provider_genai_functions
project_attributes_setting_voice_integration_service_voice_to_voice_provider_genai_functions| Type | Default |
|---|---|
| JSON | (baseline tool list seeded at initialization) |
This attribute holds the JSON function (tool) definitions that can be exposed to the GenAI voice provider during voice sessions. Each entry in the array defines a callable tool name and its parameter schema. When the GenAI functions toggle is enabled, this JSON is written to the connector's genai_v2v_tools setting. When the toggle is disabled, the connector setting is cleared to an empty array.
::: 🗒️ NOTE
This attribute works together with the functions-enabled toggle and the functions description attribute. Update all three together to keep tool schemas, enable/disable state, and prompt instructions consistent. :::
The default value includes tools for collecting common caller data such as full name, phone number, email, appointment type, date and time, number of people, date of birth, company name, and website. Example structure:
[
{
"name": "send_phone_number",
"description": "Send phone number",
"parameters": {
"type": "OBJECT",
"required": ["phone_number"],
"properties": {
"phone_number": {
"type": "STRING",
"description": "Phone number"
}
}
}
}
]project_attributes_setting_voice_integration_service_voice_to_voice_provider_genai_set_turn_message_type
project_attributes_setting_voice_integration_service_voice_to_voice_provider_genai_set_turn_message_type| Type | Default |
|---|---|
| ENUM | user |
This attribute controls which message role is used when the platform sends command instructions to an active GenAI voice-to-voice session via set_turn_message. The user role delivers command turns through the user-role command path, while the assistant role delivers the same command text through the assistant-role path and marks the turn complete.
::: 🗒️ NOTE
This attribute is only consulted when the active voice-to-voice provider resolves to genai. Keep the default value of user unless you have validated that assistant-role command turns improve behavior in your specific voice flow.
:::
Possible values:
user— Command turns are sent through the user-role path.assistant— Command turns are sent through the assistant-role path and mark the turn complete.
Speech-to-text and text-to-speech
These five attributes store provider and model identifiers for the text-to-speech (TTS) and speech-to-text (STT) subsystems. They are created and initialized during account setup but do not currently drive active voice behavior. Leave them at their defaults unless a specific setup process requires otherwise.
::: 🗒️ NOTE
All five attributes in this section are initialized with a blank placeholder during common account setup. No active transcription, speech-generation, or voice-processing logic currently reads these fields at runtime. :::
project_representative_agent_voice_tts_provider_id
project_representative_agent_voice_tts_provider_id| Type | Default |
|---|---|
| STRING | (blank) |
Stores the text-to-speech provider ID for the representative AI Employee voice configuration. This field is created at setup time with a blank placeholder and does not currently affect active voice behavior.
project_representative_agent_voice_tts_model_id
project_representative_agent_voice_tts_model_id| Type | Default |
|---|---|
| STRING | (blank) |
Stores the text-to-speech model ID for the representative AI Employee voice configuration. This field is created at setup time with a blank placeholder and does not currently affect active voice behavior.
project_representative_agent_voice_stt_provider_id
project_representative_agent_voice_stt_provider_id| Type | Default |
|---|---|
| STRING | (blank) |
Stores the speech-to-text provider ID for the representative AI Employee voice configuration. Example values include deepgram and 11labs. This field is created at setup time with a blank placeholder and does not currently affect active voice behavior.
project_representative_agent_voice_stt_model_id
project_representative_agent_voice_stt_model_id| Type | Default |
|---|---|
| STRING | (blank) |
Stores the speech-to-text model ID for the representative AI Employee voice configuration. Example values include nova-2 and nova-2-phonecall. This field is created at setup time with a blank placeholder and does not currently affect active voice behavior.
project_representative_agent_voice_transcriber_language
project_representative_agent_voice_transcriber_language| Type | Default |
|---|---|
| STRING | (blank) |
Stores the speech-to-text language code for the representative AI Employee voice configuration. Example values include en-US, es, and fr. This field is created at setup time with a blank placeholder and does not currently affect active voice behavior.
AI Phone settings
These four attributes configure how the platform provisions and formats phone numbers for the AI Employee's AI Phone channel. They are primarily relevant during first-time account initialization, when the platform purchases a phone number on behalf of your AI Employee.
project_representative_agent_voice_phone_alpha2_code
project_representative_agent_voice_phone_alpha2_code| Type | Default |
|---|---|
| STRING | US |
Two-letter ISO 3166-1 alpha-2 country code that sets the country context for AI Phone number provisioning and phone-number parsing. This value is used during first-time connector provisioning to determine which country's number pool to search, and is also used to derive the numeric country dialing code stored in the companion attribute.
Keep this value uppercase and ensure it is a valid ISO 3166-1 alpha-2 code to avoid provisioning errors. Examples: US for the United States, NL for the Netherlands.
::: 🗒️ NOTE
When project_representative_agent_voice_phone_country_code is present, it is derived from this alpha-2 code via internal country-code mapping. If the alpha-2 mapping is unavailable, the numeric country code may be set to a null-like placeholder.
:::
project_representative_agent_voice_phone_country_code
project_representative_agent_voice_phone_country_code| Type | Default |
|---|---|
| NUMBER | 1 |
Numeric country dialing code used as the default context for phone formatting, parsing, and validation across prompt schemas, transfer configuration, and reporting. This value is automatically derived from the alpha-2 country code and should not normally be set manually.
Store only digits — do not include a leading + sign, because downstream phone parsing expects a numeric value. Examples: 1 for US/Canada, 31 for the Netherlands.
::: 🗒️ NOTE
This attribute is populated automatically from project_representative_agent_voice_phone_alpha2_code. If the alpha-2 mapping is unavailable, this field may be set to a null-like placeholder until a valid alpha-2 value is available.
:::
project_representative_agent_voice_phone_area_code
project_representative_agent_voice_phone_area_code| Type | Default |
|---|---|
| NUMBER | 650 |
Primary area code preference used when the platform provisions the AI Employee phone number during first-time setup. If a number in this area is available, the provisioning process will attempt to assign it. If not, provisioning falls back to the value in project_representative_agent_voice_phone_fallback_area_code.
Use a local area code that your customers recognize. This field is most relevant during account initialization — after a number is provisioned, changes here do not affect the already-assigned number.
project_representative_agent_voice_phone_fallback_area_code
project_representative_agent_voice_phone_fallback_area_code| Type | Default |
|---|---|
| NUMBER | 408 |
Backup area code used during first-time phone provisioning when no numbers are available in the primary area code. The provisioning process retries using this value if the primary lookup returns no results.
Choose a nearby region that your business can naturally serve. If both the primary and fallback area codes are unavailable, provisioning runs without an area-code preference. Example pairing: primary 408, fallback 650 keeps provisioning within the same metro area.
Call timeouts
These two attributes set the wait time (in seconds) before the platform finalizes call-stop and call-transfer actions on the NEWO Voice Integration path. Both default to 6 seconds and apply only to the native voice connector.
project_attributes_setting_voice_stop_call_timeout
project_attributes_setting_voice_stop_call_timeout| Type | Default |
|---|---|
| NUMBER | 6 |
Defines how many seconds the runtime waits before executing the call-stop command in native voice hang-up flows. This delay allows your AI Employee to finish its closing phrase before the call ends. The same timeout is also reused in voicemail and spam-handling flows before issuing a stop-call.
Set this slightly above the length of your typical closing phrase. If the field is left empty, the runtime falls back to the default value of 6.
::: 🗒️ NOTE
This timeout applies only when project_attributes_setting_voice_integration_service is set to NEWO Voice Integration. Other provider paths may ignore it.
:::
project_attributes_setting_voice_transfer_call_timeout
project_attributes_setting_voice_transfer_call_timeout| Type | Default |
|---|---|
| NUMBER | 6 |
Defines how many seconds the runtime waits when executing a call transfer on the native voice integration path. This delay is applied via waitForTransferSeconds in the transfer command execution flow.
Match this value to the length of your transfer-announcement phrase so the command does not cut off critical speech. If the field is left empty, the runtime falls back to the default value of 6.
::: 🗒️ NOTE
This timeout applies only when project_attributes_setting_voice_integration_service is set to NEWO Voice Integration. The transfer-command path must also be enabled for this setting to be reached.
:::
Updated 2 days ago
