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

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

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



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

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

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



99
100
101
102
103
# File 'lib/revox/models/assistant_create_params.rb', line 99

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)


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

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.



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

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)


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

optional :first_sentence, String

#first_sentence_delay_msInteger?

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

Parameters:

  • (Integer)

Returns:

  • (Integer, nil)


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

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.



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

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)


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

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

Returns:



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

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)


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

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)


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

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)


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

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)


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

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:



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

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



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

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:



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

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)


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

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)


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

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



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

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)


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

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:



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

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

#stt_modelSymbol, ...

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



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

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:



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

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)


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

optional :thinking_sound_probability, Float

#thinking_sound_volumeFloat?

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

Parameters:

  • (Float)

Returns:

  • (Float, nil)


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

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)


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

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.



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

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



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

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)


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

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)


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

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)


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

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)


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

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:



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

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

Instance Method Details

#to_hash{

Returns:

  • ({)


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

def to_hash: -> {