Class: Revox::Models::AssistantCreateParams

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

Overview

See Also:

  • Revox::Resources::Assistants#create

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_create_params.rb', line 473

Instance Attribute Details

#after_call_sms_outcomesArray<Symbol, Revox::Models::AssistantCreateParams::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::AssistantCreateParams::after_call_sms_outcome], nil)

Returns:



27
28
29
# File 'lib/revox/models/assistant_create_params.rb', line 27

optional :after_call_sms_outcomes,
-> { Revox::Internal::Type::ArrayOf[enum: Revox::AssistantCreateParams::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)


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

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::AssistantCreateParams::background_sound, nil)

Returns:



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

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

#background_sound_volumeFloat?

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

Parameters:

  • (Float)

Returns:

  • (Float, nil)


48
# File 'lib/revox/models/assistant_create_params.rb', line 48

optional :background_sound_volume, Float

#calendlyRevox::Models::AssistantCreateParams::Calendly?

Parameters:

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

Returns:



53
# File 'lib/revox/models/assistant_create_params.rb', line 53

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

#call_retry_configRevox::Models::AssistantCreateParams::CallRetryConfig?

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



60
# File 'lib/revox/models/assistant_create_params.rb', line 60

optional :call_retry_config, -> { Revox::AssistantCreateParams::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)


67
# File 'lib/revox/models/assistant_create_params.rb', line 67

optional :cartesia_dictionary_pronunciation_id, String, nil?: true

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

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

Parameters:

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

Returns:



74
75
76
# File 'lib/revox/models/assistant_create_params.rb', line 74

optional :custom_tools,
-> { Revox::Internal::Type::ArrayOf[Revox::AssistantCreateParams::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)


84
# File 'lib/revox/models/assistant_create_params.rb', line 84

optional :email_notification_address, String, nil?: true

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

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

Parameters:

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

Returns:



91
92
93
94
95
# File 'lib/revox/models/assistant_create_params.rb', line 91

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

#end_of_call_sentenceString?

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

Parameters:

  • (String)

Returns:

  • (String, nil)


101
# File 'lib/revox/models/assistant_create_params.rb', line 101

optional :end_of_call_sentence, String

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

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



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

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

#first_sentenceString?

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

Parameters:

  • (String)

Returns:

  • (String, nil)


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

optional :first_sentence, String

#first_sentence_delay_msInteger?

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

Parameters:

  • (Integer)

Returns:

  • (Integer, nil)


120
# File 'lib/revox/models/assistant_create_params.rb', line 120

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.



129
# File 'lib/revox/models/assistant_create_params.rb', line 129

optional :first_sentence_mode, enum: -> { Revox::AssistantCreateParams::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)


137
# File 'lib/revox/models/assistant_create_params.rb', line 137

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::AssistantCreateParams::human_transfer_mode, nil)

Returns:



144
# File 'lib/revox/models/assistant_create_params.rb', line 144

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

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


151
# File 'lib/revox/models/assistant_create_params.rb', line 151

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)


163
# File 'lib/revox/models/assistant_create_params.rb', line 163

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)


170
# File 'lib/revox/models/assistant_create_params.rb', line 170

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)


178
# File 'lib/revox/models/assistant_create_params.rb', line 178

optional :max_duration_end_message, String, nil?: true

#nameString

Parameters:

  • value (String)

Returns:

  • (String)


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

required :name, String

#positionRevox::Models::AssistantCreateParams::Position?

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

Parameters:

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

Returns:



184
# File 'lib/revox/models/assistant_create_params.rb', line 184

optional :position, -> { Revox::AssistantCreateParams::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)


194
# File 'lib/revox/models/assistant_create_params.rb', line 194

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:

  • value (String)

Returns:

  • (String)


19
# File 'lib/revox/models/assistant_create_params.rb', line 19

required :prompt, String

#prompt_flowRevox::Models::AssistantCreateParams::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::AssistantCreateParams::PromptFlow, nil)

Returns:



202
# File 'lib/revox/models/assistant_create_params.rb', line 202

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

#slackRevox::Models::AssistantCreateParams::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::AssistantCreateParams::Slack, nil)

Returns:



209
# File 'lib/revox/models/assistant_create_params.rb', line 209

optional :slack, -> { Revox::AssistantCreateParams::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)


216
# File 'lib/revox/models/assistant_create_params.rb', line 216

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)


224
# File 'lib/revox/models/assistant_create_params.rb', line 224

optional :sms_template, String, nil?: true

#structured_output_configArray<Revox::Models::AssistantCreateParams::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.).



231
232
# File 'lib/revox/models/assistant_create_params.rb', line 231

optional :structured_output_config,
-> { Revox::Internal::Type::ArrayOf[Revox::AssistantCreateParams::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)


240
# File 'lib/revox/models/assistant_create_params.rb', line 240

optional :structured_output_prompt, String, nil?: true

#stt_contextRevox::Models::AssistantCreateParams::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::AssistantCreateParams::SttContext, nil)

Returns:



248
# File 'lib/revox/models/assistant_create_params.rb', line 248

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

#stt_modelSymbol, ...

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



255
# File 'lib/revox/models/assistant_create_params.rb', line 255

optional :stt_model, enum: -> { Revox::AssistantCreateParams::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::AssistantCreateParams::thinking_sound, nil)

Returns:



262
# File 'lib/revox/models/assistant_create_params.rb', line 262

optional :thinking_sound, enum: -> { Revox::AssistantCreateParams::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)


269
# File 'lib/revox/models/assistant_create_params.rb', line 269

optional :thinking_sound_probability, Float

#thinking_sound_volumeFloat?

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

Parameters:

  • (Float)

Returns:

  • (Float, nil)


275
# File 'lib/revox/models/assistant_create_params.rb', line 275

optional :thinking_sound_volume, Float

#transfer_destinationsArray<Revox::Models::AssistantCreateParams::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::AssistantCreateParams::TransferDestination], nil)

Returns:



284
285
286
# File 'lib/revox/models/assistant_create_params.rb', line 284

optional :transfer_destinations,
-> { Revox::Internal::Type::ArrayOf[Revox::AssistantCreateParams::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.



295
# File 'lib/revox/models/assistant_create_params.rb', line 295

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

#voiceRevox::Models::AssistantCreateParams::Voice?

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



302
# File 'lib/revox/models/assistant_create_params.rb', line 302

optional :voice, -> { Revox::AssistantCreateParams::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)


309
# File 'lib/revox/models/assistant_create_params.rb', line 309

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)


316
# File 'lib/revox/models/assistant_create_params.rb', line 316

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)


324
# File 'lib/revox/models/assistant_create_params.rb', line 324

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)


330
# File 'lib/revox/models/assistant_create_params.rb', line 330

optional :webhook_url, String

#zohoRevox::Models::AssistantCreateParams::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::AssistantCreateParams::Zoho, nil)

Returns:



338
# File 'lib/revox/models/assistant_create_params.rb', line 338

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

Instance Method Details

#to_hash{

Returns:

  • ({)


248
# File 'sig/revox/models/assistant_create_params.rbs', line 248

def to_hash: -> {