Class: Revox::Models::AssistantUpdateParams

Inherits:
Internal::Type::BaseModel show all
Extended by:
Internal::Type::RequestParameters::Converter
Includes:
Internal::Type::RequestParameters
Defined in:
lib/revox/models/assistant_update_params.rb,
sig/revox/models/assistant_update_params.rbs

Overview

See Also:

  • Revox::Resources::Assistants#update

Defined Under Namespace

Modules: AfterCallSMSOutcome, BackgroundSound, EmailNotificationOutcome, FirstSentenceMode, HumanTransferMode, LlmModel, SttModel, ThinkingSound, Type Classes: Calendly, CallRetryConfig, CustomTool, FaqItem, Position, PromptFlow, Slack, StructuredOutputConfig, SttContext, TransferDestination, Voice, Zoho

Instance Attribute Summary collapse

Attributes included from Internal::Type::RequestParameters

#request_options

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Internal::Type::RequestParameters::Converter

dump_request

Methods included from Internal::Type::RequestParameters

included

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(label:, phone_number:) ⇒ Object

Some parameter documentations has been truncated, see TransferDestination for more details.

Parameters:

  • label (String)

    Human-meaningful name for this destination (e.g. "Sales"). The assistant's promp

  • phone_number (String)

    Destination phone number in E.164 format (e.g. +1234567890).



# File 'lib/revox/models/assistant_update_params.rb', line 480

Instance Attribute Details

#after_call_sms_outcomesArray<Symbol, Revox::Models::AssistantUpdateParams::AfterCallSMSOutcome>?

Which call outcomes trigger the after-call SMS. When empty or null, no after-call SMS is sent. E.g. ["interested", "completed", "none"]. Use "none" when outcome is null.

Parameters:

  • value (::Array[Revox::Models::AssistantUpdateParams::after_call_sms_outcome], nil)

Returns:



21
22
23
# File 'lib/revox/models/assistant_update_params.rb', line 21

optional :after_call_sms_outcomes,
-> { Revox::Internal::Type::ArrayOf[enum: Revox::AssistantUpdateParams::AfterCallSMSOutcome] },
nil?: true

#after_call_sms_promptString?

Prompt / instructions for the after-call SMS. Supports {variable} placeholders. When null, no after-call SMS is sent.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


30
# File 'lib/revox/models/assistant_update_params.rb', line 30

optional :after_call_sms_prompt, String, nil?: true

#background_soundSymbol, ...

Ambient background sound to play during the call. null/omitted disables it.

Parameters:

  • value (Revox::Models::AssistantUpdateParams::background_sound, nil)

Returns:



36
# File 'lib/revox/models/assistant_update_params.rb', line 36

optional :background_sound, enum: -> { Revox::AssistantUpdateParams::BackgroundSound }, nil?: true

#background_sound_volumeFloat?

Volume of the ambient background sound (0 = silent, 1 = max).

Parameters:

  • (Float)

Returns:

  • (Float, nil)


42
# File 'lib/revox/models/assistant_update_params.rb', line 42

optional :background_sound_volume, Float

#calendlyRevox::Models::AssistantUpdateParams::Calendly?

Parameters:

  • value (Revox::AssistantUpdateParams::Calendly, nil)

Returns:



47
# File 'lib/revox/models/assistant_update_params.rb', line 47

optional :calendly, -> { Revox::AssistantUpdateParams::Calendly }, nil?: true

#call_retry_configRevox::Models::AssistantUpdateParams::CallRetryConfig?

Configuration for call retry behavior including time windows, delays, and max iterations. If not provided, defaults will be used.



54
# File 'lib/revox/models/assistant_update_params.rb', line 54

optional :call_retry_config, -> { Revox::AssistantUpdateParams::CallRetryConfig }

#cartesia_dictionary_pronunciation_idString?

Optional Cartesia pronunciation dictionary ID to use for this assistant's calls. Set null to unlink it.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


61
# File 'lib/revox/models/assistant_update_params.rb', line 61

optional :cartesia_dictionary_pronunciation_id, String, nil?: true

#custom_toolsArray<Revox::Models::AssistantUpdateParams::CustomTool>?

Custom API tools the assistant can call during conversations. Each tool defines an HTTP endpoint with variable substitution.

Parameters:

  • value (::Array[Revox::AssistantUpdateParams::CustomTool], nil)

Returns:



68
69
70
# File 'lib/revox/models/assistant_update_params.rb', line 68

optional :custom_tools,
-> { Revox::Internal::Type::ArrayOf[Revox::AssistantUpdateParams::CustomTool] },
nil?: true

#email_notification_addressString?

Email address(es) to receive notifications when a call ends with a matching outcome. Accepts a single email or a comma-separated list (e.g. "alice@x.com, bob@y.com").

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


78
# File 'lib/revox/models/assistant_update_params.rb', line 78

optional :email_notification_address, String, nil?: true

#email_notification_outcomesArray<Symbol, Revox::Models::AssistantUpdateParams::EmailNotificationOutcome>?

Which call outcomes trigger an email notification. E.g. ["interested", "completed", "none"]. Use "none" when outcome is null.

Parameters:

  • value (::Array[Revox::Models::AssistantUpdateParams::email_notification_outcome], nil)

Returns:



85
86
87
88
89
# File 'lib/revox/models/assistant_update_params.rb', line 85

optional :email_notification_outcomes,
-> {
  Revox::Internal::Type::ArrayOf[enum: Revox::AssistantUpdateParams::EmailNotificationOutcome]
},
nil?: true

#end_of_call_sentenceString?

Optional message to say when the agent decides to end the call.

Parameters:

  • (String)

Returns:

  • (String, nil)


95
# File 'lib/revox/models/assistant_update_params.rb', line 95

optional :end_of_call_sentence, String

#faq_itemsArray<Revox::Models::AssistantUpdateParams::FaqItem>?

FAQ items to associate with this assistant. When provided, replaces all existing FAQ items.



102
# File 'lib/revox/models/assistant_update_params.rb', line 102

optional :faq_items, -> { Revox::Internal::Type::ArrayOf[Revox::AssistantUpdateParams::FaqItem] }

#first_sentenceString?

The first sentence to use for the call. This will be given to the LLM

Parameters:

  • (String)

Returns:

  • (String, nil)


108
# File 'lib/revox/models/assistant_update_params.rb', line 108

optional :first_sentence, String

#first_sentence_delay_msInteger?

Delay in milliseconds before speaking the first sentence. Default: 400.

Parameters:

  • (Integer)

Returns:

  • (Integer, nil)


114
# File 'lib/revox/models/assistant_update_params.rb', line 114

optional :first_sentence_delay_ms, Integer

#first_sentence_modeSymbol, ...

How the first sentence should be handled. "generated" means the LLM will generate a response based on the first_sentence instruction. "static" means the first_sentence will be spoken exactly as provided. "none" means the agent will not speak first and will wait for the user.



123
# File 'lib/revox/models/assistant_update_params.rb', line 123

optional :first_sentence_mode, enum: -> { Revox::AssistantUpdateParams::FirstSentenceMode }

#from_phone_numberString?

Override the default outbound phone number for calls placed with this assistant. Must be a phone number owned by the organization in E.164 format (e.g. +1234567890). When null, the organization's default phone number is used.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


131
# File 'lib/revox/models/assistant_update_params.rb', line 131

optional :from_phone_number, String, nil?: true

#human_transfer_modeSymbol, ...

When transfer_destinations is non-empty: "warm" (AI bridges) or "cold" (SIP REFER; trunk must allow REFER/PSTN). Omit or null when transfer is disabled.

Parameters:

  • value (Revox::Models::AssistantUpdateParams::human_transfer_mode, nil)

Returns:



138
# File 'lib/revox/models/assistant_update_params.rb', line 138

optional :human_transfer_mode, enum: -> { Revox::AssistantUpdateParams::HumanTransferMode }, nil?: true

#idString

Parameters:

  • value (String)

Returns:

  • (String)


13
# File 'lib/revox/models/assistant_update_params.rb', line 13

required :id, String

#ivr_navigation_enabledBoolean?

Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and skip turns to navigate phone menus.

Parameters:

  • (Boolean)

Returns:

  • (Boolean, nil)


145
# File 'lib/revox/models/assistant_update_params.rb', line 145

optional :ivr_navigation_enabled, Revox::Internal::Type::Boolean

#logo_urlString?

Public URL of the brand logo shown on the assistant's demo page. Upload a new logo via POST /assistants/:id/logo. Set explicitly to null to clear it.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


157
# File 'lib/revox/models/assistant_update_params.rb', line 157

optional :logo_url, String, nil?: true

#max_call_duration_secsFloat?

The maximum duration of the call in seconds. This is the maximum time the call will be allowed to run.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


164
# File 'lib/revox/models/assistant_update_params.rb', line 164

optional :max_call_duration_secs, Float

#max_duration_end_messageString?

Optional message the agent will say, without being interruptible, when the call reaches its max duration. Kept short so it fits inside the farewell buffer. If not set, the call ends silently.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


172
# File 'lib/revox/models/assistant_update_params.rb', line 172

optional :max_duration_end_message, String, nil?: true

#nameString?

Parameters:

  • (String)

Returns:

  • (String, nil)


177
# File 'lib/revox/models/assistant_update_params.rb', line 177

optional :name, String

#positionRevox::Models::AssistantUpdateParams::Position?

Canvas position of this assistant's node in its multi-step flow editor.

Parameters:

  • value (Revox::AssistantUpdateParams::Position, nil)

Returns:



183
# File 'lib/revox/models/assistant_update_params.rb', line 183

optional :position, -> { Revox::AssistantUpdateParams::Position }, nil?: true

#precall_lookup_urlString?

Inbound calls only. URL fetched over HTTP GET right before the call is answered, with {{phone}} replaced by the caller's number in E.164 format (URL-encoded). It must return {"prompt_variables": {...}} covering every {{variable}} the assistant declares, otherwise the call is errored. Must be an http(s) URL containing {{phone}}. When null, no lookup is performed.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


193
# File 'lib/revox/models/assistant_update_params.rb', line 193

optional :precall_lookup_url, String, nil?: true

#promptString?

The prompt to use for the call. This will be given to the LLM (gpt-4.1)

Parameters:

  • (String)

Returns:

  • (String, nil)


199
# File 'lib/revox/models/assistant_update_params.rb', line 199

optional :prompt, String

#prompt_flowRevox::Models::AssistantUpdateParams::PromptFlow?

Visual prompt constructor data (nodes, edges, positions). Used by the UI to re-open the visual editor. Does not affect call behavior — the flattened prompt field is what the LLM receives.

Parameters:

  • value (Revox::AssistantUpdateParams::PromptFlow, nil)

Returns:



207
# File 'lib/revox/models/assistant_update_params.rb', line 207

optional :prompt_flow, -> { Revox::AssistantUpdateParams::PromptFlow }, nil?: true

#slackRevox::Models::AssistantUpdateParams::Slack?

Slack notification config. When set, posts a message to the chosen channel after a call ends with one of the configured outcomes.

Parameters:

  • value (Revox::AssistantUpdateParams::Slack, nil)

Returns:



214
# File 'lib/revox/models/assistant_update_params.rb', line 214

optional :slack, -> { Revox::AssistantUpdateParams::Slack }, nil?: true

#sms_enabledBoolean?

Enable SMS tool during calls. When enabled, the agent can send SMS messages to the user on the call.

Parameters:

  • (Boolean)

Returns:

  • (Boolean, nil)


221
# File 'lib/revox/models/assistant_update_params.rb', line 221

optional :sms_enabled, Revox::Internal::Type::Boolean

#sms_templateString?

Hardcoded SMS template to send during calls. When set, this exact text is sent instead of letting the agent generate the message. Supports {variable} placeholders.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


229
# File 'lib/revox/models/assistant_update_params.rb', line 229

optional :sms_template, String, nil?: true

#structured_output_configArray<Revox::Models::AssistantUpdateParams::StructuredOutputConfig>?

The structured output config to use for the call. This is used to extract the data from the call (like email, name, company name, etc.).



236
237
# File 'lib/revox/models/assistant_update_params.rb', line 236

optional :structured_output_config,
-> { Revox::Internal::Type::ArrayOf[Revox::AssistantUpdateParams::StructuredOutputConfig] }

#structured_output_promptString?

Custom prompt for structured data extraction. If not provided, a default prompt is used. Available variables: {transcript}, {call_direction}, {user_phone_number}, {agent_phone_number}.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


245
# File 'lib/revox/models/assistant_update_params.rb', line 245

optional :structured_output_prompt, String, nil?: true

#stt_contextRevox::Models::AssistantUpdateParams::SttContext?

Assistant-level speech-to-text context: structured general key/value pairs plus a list of domain terms. Prompt-derived context is merged in without replacing existing entries.

Parameters:

  • value (Revox::AssistantUpdateParams::SttContext, nil)

Returns:



253
# File 'lib/revox/models/assistant_update_params.rb', line 253

optional :stt_context, -> { Revox::AssistantUpdateParams::SttContext }, nil?: true

#stt_modelSymbol, ...

Transcriber (speech-to-text) model. Defaults to the newest Soniox realtime model when omitted.



260
# File 'lib/revox/models/assistant_update_params.rb', line 260

optional :stt_model, enum: -> { Revox::AssistantUpdateParams::SttModel }

#thinking_soundSymbol, ...

Audio clip to play while the agent is processing a response. One of the built-in LiveKit audio clips; null/omitted disables it.

Parameters:

  • value (Revox::Models::AssistantUpdateParams::thinking_sound, nil)

Returns:



267
# File 'lib/revox/models/assistant_update_params.rb', line 267

optional :thinking_sound, enum: -> { Revox::AssistantUpdateParams::ThinkingSound }, nil?: true

#thinking_sound_probabilityFloat?

Probability [0..1] that the thinking sound plays on any given turn; otherwise the agent is silent while thinking.

Parameters:

  • (Float)

Returns:

  • (Float, nil)


274
# File 'lib/revox/models/assistant_update_params.rb', line 274

optional :thinking_sound_probability, Float

#thinking_sound_volumeFloat?

Volume of the thinking sound (0 = silent, 1 = max).

Parameters:

  • (Float)

Returns:

  • (Float, nil)


280
# File 'lib/revox/models/assistant_update_params.rb', line 280

optional :thinking_sound_volume, Float

#transfer_destinationsArray<Revox::Models::AssistantUpdateParams::TransferDestination>?

Where calls can be transferred to when users ask to speak to a human. With a single entry the assistant always transfers there; with several, it picks one at transfer time by applying the routing rules written in the assistant's own prompt (which refer to the destination labels). Empty or null disables transfer.

Parameters:

  • value (::Array[Revox::AssistantUpdateParams::TransferDestination], nil)

Returns:



289
290
291
# File 'lib/revox/models/assistant_update_params.rb', line 289

optional :transfer_destinations,
-> { Revox::Internal::Type::ArrayOf[Revox::AssistantUpdateParams::TransferDestination] },
nil?: true

#typeSymbol, ...

Assistant kind. 'standalone' (default) is a normal assistant, 'multi-step' orchestrates a flow of sub-assistants, 'sub-assistant' is a step inside a multi-step flow (hidden from the assistants list). Flow transitions are managed via the /assistants/:id/edges endpoints, not on the assistant itself.



300
# File 'lib/revox/models/assistant_update_params.rb', line 300

optional :type, enum: -> { Revox::AssistantUpdateParams::Type }

#voiceRevox::Models::AssistantUpdateParams::Voice?

The voice to use for the call. You can get the list of voices using the /voices endpoint



307
# File 'lib/revox/models/assistant_update_params.rb', line 307

optional :voice, -> { Revox::AssistantUpdateParams::Voice }

#voicemail_messageString?

If set, when voicemail is detected the agent will speak this message then hang up; if null, hang up immediately.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


314
# File 'lib/revox/models/assistant_update_params.rb', line 314

optional :voicemail_message, String, nil?: true

#voicemail_sms_promptString?

SMS message to send when the call reaches voicemail. Supports {variable} placeholders. When null, no SMS is sent on voicemail.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


321
# File 'lib/revox/models/assistant_update_params.rb', line 321

optional :voicemail_sms_prompt, String, nil?: true

#warm_transfer_summary_instructionsString?

When using warm transfer: extra instructions for the supervisor handoff summary. If null or empty, the API uses the product default briefing when the call is loaded for the agent.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


329
# File 'lib/revox/models/assistant_update_params.rb', line 329

optional :warm_transfer_summary_instructions, String, nil?: true

#webhook_urlString?

The webhook URL to call when the call is completed.

Parameters:

  • (String)

Returns:

  • (String, nil)


335
# File 'lib/revox/models/assistant_update_params.rb', line 335

optional :webhook_url, String

#zohoRevox::Models::AssistantUpdateParams::Zoho?

Zoho CRM integration config. When set, upserts the prospect (keyed on phone) into the chosen module and attaches a Note with the call summary after a call ends with one of the configured outcomes.

Parameters:

  • value (Revox::AssistantUpdateParams::Zoho, nil)

Returns:



343
# File 'lib/revox/models/assistant_update_params.rb', line 343

optional :zoho, -> { Revox::AssistantUpdateParams::Zoho }, nil?: true

Instance Method Details

#to_hash{

Returns:

  • ({)


256
# File 'sig/revox/models/assistant_update_params.rbs', line 256

def to_hash: -> {