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, EmailNotificationLanguage, EmailNotificationOutcome, FirstSentenceMode, HumanTransferMode, LlmModel, SttModel, ThinkingSound, Type Classes: Calendly, CallRetryConfig, CustomTool, FaqItem, Position, PromptFlow, Slack, StructuredOutputConfig, SttContext, 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(key:, value:) ⇒ Object

Parameters:

  • key (String)
  • value (String)


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

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_languageSymbol, ...

The language used for the notification email content. One of "en" or "fr". Defaults to "en".



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

optional :email_notification_language,
enum: -> { Revox::AssistantUpdateParams::EmailNotificationLanguage }

#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:



93
94
95
96
97
# File 'lib/revox/models/assistant_update_params.rb', line 93

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)


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

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.



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

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)


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

optional :first_sentence, String

#first_sentence_delay_msInteger?

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

Parameters:

  • (Integer)

Returns:

  • (Integer, nil)


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

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.



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

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)


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

optional :from_phone_number, String, nil?: true

#human_transfer_modeSymbol, ...

When transfer_phone_number is set: "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:



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

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)


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

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)


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

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)


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

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)


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

optional :max_duration_end_message, String, nil?: true

#nameString?

Parameters:

  • (String)

Returns:

  • (String, nil)


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

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:



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

optional :position, -> { Revox::AssistantUpdateParams::Position }, 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)


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

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:



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

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:



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

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)


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

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)


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

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



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

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)


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

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:



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

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

#stt_modelSymbol, ...

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



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

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:



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

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)


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

optional :thinking_sound_probability, Float

#thinking_sound_volumeFloat?

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

Parameters:

  • (Float)

Returns:

  • (Float, nil)


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

optional :thinking_sound_volume, Float

#transfer_phone_numberString?

Phone number to transfer calls to when users request to speak to a human agent in E.164 format (e.g. +1234567890).

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


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

optional :transfer_phone_number, String, 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.



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

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



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

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)


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

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)


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

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)


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

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)


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

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:



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

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

Instance Method Details

#to_hash{

Returns:

  • ({)


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

def to_hash: -> {