revox 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +71 -0
  3. data/README.md +39 -14
  4. data/lib/revox/client.rb +15 -1
  5. data/lib/revox/internal/transport/base_client.rb +5 -0
  6. data/lib/revox/internal/util.rb +22 -7
  7. data/lib/revox/models/assistant_create_params.rb +1038 -13
  8. data/lib/revox/models/assistant_create_response.rb +1071 -11
  9. data/lib/revox/models/assistant_list_response.rb +1070 -11
  10. data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
  11. data/lib/revox/models/assistant_update_params.rb +1038 -13
  12. data/lib/revox/models/assistant_update_response.rb +1097 -12
  13. data/lib/revox/models/call_create_params.rb +1065 -13
  14. data/lib/revox/models/call_create_response.rb +1813 -101
  15. data/lib/revox/models/call_retrieve_response.rb +1815 -101
  16. data/lib/revox/models/campaign_create_params.rb +67 -2
  17. data/lib/revox/models/campaign_create_response.rb +1314 -59
  18. data/lib/revox/models/campaign_get_rows_params.rb +1 -46
  19. data/lib/revox/models/campaign_get_rows_response.rb +1837 -129
  20. data/lib/revox/models/campaign_list_response.rb +1312 -59
  21. data/lib/revox/models/campaign_retrieve_response.rb +1312 -56
  22. data/lib/revox/models/users/me_retrieve_response.rb +13 -1
  23. data/lib/revox/models/users/me_update_response.rb +13 -1
  24. data/lib/revox/models/voice_list_response.rb +55 -1
  25. data/lib/revox/models/voice_preview_params.rb +49 -1
  26. data/lib/revox/models.rb +0 -2
  27. data/lib/revox/resources/assistants.rb +116 -8
  28. data/lib/revox/resources/call.rb +0 -29
  29. data/lib/revox/resources/campaigns.rb +12 -17
  30. data/lib/revox/resources/voices.rb +16 -10
  31. data/lib/revox/version.rb +1 -1
  32. data/lib/revox.rb +0 -2
  33. data/rbi/revox/internal/util.rbi +8 -0
  34. data/rbi/revox/models/assistant_create_params.rbi +2138 -103
  35. data/rbi/revox/models/assistant_create_response.rbi +2454 -199
  36. data/rbi/revox/models/assistant_list_response.rbi +2448 -195
  37. data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
  38. data/rbi/revox/models/assistant_update_params.rbi +2138 -103
  39. data/rbi/revox/models/assistant_update_response.rbi +2504 -198
  40. data/rbi/revox/models/call_create_params.rbi +2382 -225
  41. data/rbi/revox/models/call_create_response.rbi +4104 -384
  42. data/rbi/revox/models/call_retrieve_response.rbi +4104 -382
  43. data/rbi/revox/models/campaign_create_params.rbi +136 -0
  44. data/rbi/revox/models/campaign_create_response.rbi +2911 -231
  45. data/rbi/revox/models/campaign_get_rows_params.rbi +2 -82
  46. data/rbi/revox/models/campaign_get_rows_response.rbi +4135 -410
  47. data/rbi/revox/models/campaign_list_response.rbi +2904 -230
  48. data/rbi/revox/models/campaign_retrieve_response.rbi +2911 -231
  49. data/rbi/revox/models/users/me_retrieve_response.rbi +13 -3
  50. data/rbi/revox/models/users/me_update_response.rbi +13 -3
  51. data/rbi/revox/models/voice_list_response.rbi +105 -3
  52. data/rbi/revox/models/voice_preview_params.rbi +69 -0
  53. data/rbi/revox/models.rbi +0 -2
  54. data/rbi/revox/resources/assistants.rbi +284 -8
  55. data/rbi/revox/resources/call.rbi +0 -21
  56. data/rbi/revox/resources/campaigns.rbi +12 -19
  57. data/rbi/revox/resources/voices.rbi +17 -9
  58. data/sig/revox/internal/util.rbs +4 -0
  59. data/sig/revox/models/assistant_create_params.rbs +844 -11
  60. data/sig/revox/models/assistant_create_response.rbs +860 -3
  61. data/sig/revox/models/assistant_list_response.rbs +860 -3
  62. data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
  63. data/sig/revox/models/assistant_update_params.rbs +844 -11
  64. data/sig/revox/models/assistant_update_response.rbs +886 -6
  65. data/sig/revox/models/call_create_params.rbs +847 -13
  66. data/sig/revox/models/call_create_response.rbs +1514 -34
  67. data/sig/revox/models/call_retrieve_response.rbs +1514 -34
  68. data/sig/revox/models/campaign_create_params.rbs +54 -0
  69. data/sig/revox/models/campaign_create_response.rbs +1034 -6
  70. data/sig/revox/models/campaign_get_rows_params.rbs +2 -64
  71. data/sig/revox/models/campaign_get_rows_response.rbs +1522 -54
  72. data/sig/revox/models/campaign_list_response.rbs +1034 -6
  73. data/sig/revox/models/campaign_retrieve_response.rbs +1034 -6
  74. data/sig/revox/models/users/me_retrieve_response.rbs +8 -3
  75. data/sig/revox/models/users/me_update_response.rbs +8 -3
  76. data/sig/revox/models/voice_list_response.rbs +45 -3
  77. data/sig/revox/models/voice_preview_params.rbs +42 -1
  78. data/sig/revox/models.rbs +0 -2
  79. data/sig/revox/resources/assistants.rbs +56 -2
  80. data/sig/revox/resources/call.rbs +0 -7
  81. data/sig/revox/resources/campaigns.rbs +2 -5
  82. data/sig/revox/resources/voices.rbs +4 -0
  83. metadata +2 -8
  84. data/lib/revox/models/call_list_params.rb +0 -52
  85. data/lib/revox/models/call_list_response.rb +0 -259
  86. data/rbi/revox/models/call_list_params.rbi +0 -94
  87. data/rbi/revox/models/call_list_response.rbi +0 -563
  88. data/sig/revox/models/call_list_params.rbs +0 -63
  89. data/sig/revox/models/call_list_response.rbs +0 -226
@@ -87,34 +87,65 @@ module Revox
87
87
  type assistant =
88
88
  {
89
89
  prompt: String,
90
+ after_call_sms_outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::after_call_sms_outcome]?,
91
+ after_call_sms_prompt: String?,
90
92
  background_sound: Revox::Models::CallCreateParams::Assistant::background_sound?,
91
- calendly: Revox::CallCreateParams::Assistant::Calendly,
93
+ background_sound_volume: Float,
94
+ calendly: Revox::CallCreateParams::Assistant::Calendly?,
92
95
  call_retry_config: Revox::CallCreateParams::Assistant::CallRetryConfig,
96
+ cartesia_dictionary_pronunciation_id: String?,
97
+ custom_tools: ::Array[Revox::CallCreateParams::Assistant::CustomTool]?,
98
+ email_notification_address: String?,
99
+ email_notification_language: Revox::Models::CallCreateParams::Assistant::email_notification_language,
100
+ email_notification_outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::email_notification_outcome]?,
93
101
  end_of_call_sentence: String,
94
102
  faq_items: ::Array[Revox::CallCreateParams::Assistant::FaqItem],
95
103
  first_sentence: String,
96
104
  first_sentence_delay_ms: Integer,
97
105
  first_sentence_mode: Revox::Models::CallCreateParams::Assistant::first_sentence_mode,
106
+ from_phone_number: String?,
107
+ human_transfer_mode: Revox::Models::CallCreateParams::Assistant::human_transfer_mode?,
98
108
  ivr_navigation_enabled: bool,
99
109
  llm_model: Revox::Models::CallCreateParams::Assistant::llm_model,
110
+ logo_url: String?,
100
111
  max_call_duration_secs: Float,
112
+ max_duration_end_message: String?,
113
+ position: Revox::CallCreateParams::Assistant::Position?,
114
+ prompt_flow: Revox::CallCreateParams::Assistant::PromptFlow?,
115
+ slack: Revox::CallCreateParams::Assistant::Slack?,
116
+ sms_enabled: bool,
117
+ sms_template: String?,
101
118
  structured_output_config: ::Array[Revox::CallCreateParams::Assistant::StructuredOutputConfig],
119
+ structured_output_prompt: String?,
120
+ stt_context: Revox::CallCreateParams::Assistant::SttContext?,
121
+ stt_model: Revox::Models::CallCreateParams::Assistant::stt_model,
122
+ thinking_sound: Revox::Models::CallCreateParams::Assistant::thinking_sound?,
123
+ thinking_sound_probability: Float,
124
+ thinking_sound_volume: Float,
102
125
  transfer_phone_number: String?,
126
+ type: Revox::Models::CallCreateParams::Assistant::type_,
103
127
  voice: Revox::CallCreateParams::Assistant::Voice,
104
128
  voicemail_message: String?,
105
- webhook_url: String
129
+ voicemail_sms_prompt: String?,
130
+ warm_transfer_summary_instructions: String?,
131
+ webhook_url: String,
132
+ zoho: Revox::CallCreateParams::Assistant::Zoho?
106
133
  }
107
134
 
108
135
  class Assistant < Revox::Internal::Type::BaseModel
109
136
  attr_accessor prompt: String
110
137
 
138
+ attr_accessor after_call_sms_outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::after_call_sms_outcome]?
139
+
140
+ attr_accessor after_call_sms_prompt: String?
141
+
111
142
  attr_accessor background_sound: Revox::Models::CallCreateParams::Assistant::background_sound?
112
143
 
113
- attr_reader calendly: Revox::CallCreateParams::Assistant::Calendly?
144
+ attr_reader background_sound_volume: Float?
145
+
146
+ def background_sound_volume=: (Float) -> Float
114
147
 
115
- def calendly=: (
116
- Revox::CallCreateParams::Assistant::Calendly
117
- ) -> Revox::CallCreateParams::Assistant::Calendly
148
+ attr_accessor calendly: Revox::CallCreateParams::Assistant::Calendly?
118
149
 
119
150
  attr_reader call_retry_config: Revox::CallCreateParams::Assistant::CallRetryConfig?
120
151
 
@@ -122,6 +153,20 @@ module Revox
122
153
  Revox::CallCreateParams::Assistant::CallRetryConfig
123
154
  ) -> Revox::CallCreateParams::Assistant::CallRetryConfig
124
155
 
156
+ attr_accessor cartesia_dictionary_pronunciation_id: String?
157
+
158
+ attr_accessor custom_tools: ::Array[Revox::CallCreateParams::Assistant::CustomTool]?
159
+
160
+ attr_accessor email_notification_address: String?
161
+
162
+ attr_reader email_notification_language: Revox::Models::CallCreateParams::Assistant::email_notification_language?
163
+
164
+ def email_notification_language=: (
165
+ Revox::Models::CallCreateParams::Assistant::email_notification_language
166
+ ) -> Revox::Models::CallCreateParams::Assistant::email_notification_language
167
+
168
+ attr_accessor email_notification_outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::email_notification_outcome]?
169
+
125
170
  attr_reader end_of_call_sentence: String?
126
171
 
127
172
  def end_of_call_sentence=: (String) -> String
@@ -146,6 +191,10 @@ module Revox
146
191
  Revox::Models::CallCreateParams::Assistant::first_sentence_mode
147
192
  ) -> Revox::Models::CallCreateParams::Assistant::first_sentence_mode
148
193
 
194
+ attr_accessor from_phone_number: String?
195
+
196
+ attr_accessor human_transfer_mode: Revox::Models::CallCreateParams::Assistant::human_transfer_mode?
197
+
149
198
  attr_reader ivr_navigation_enabled: bool?
150
199
 
151
200
  def ivr_navigation_enabled=: (bool) -> bool
@@ -156,18 +205,60 @@ module Revox
156
205
  Revox::Models::CallCreateParams::Assistant::llm_model
157
206
  ) -> Revox::Models::CallCreateParams::Assistant::llm_model
158
207
 
208
+ attr_accessor logo_url: String?
209
+
159
210
  attr_reader max_call_duration_secs: Float?
160
211
 
161
212
  def max_call_duration_secs=: (Float) -> Float
162
213
 
214
+ attr_accessor max_duration_end_message: String?
215
+
216
+ attr_accessor position: Revox::CallCreateParams::Assistant::Position?
217
+
218
+ attr_accessor prompt_flow: Revox::CallCreateParams::Assistant::PromptFlow?
219
+
220
+ attr_accessor slack: Revox::CallCreateParams::Assistant::Slack?
221
+
222
+ attr_reader sms_enabled: bool?
223
+
224
+ def sms_enabled=: (bool) -> bool
225
+
226
+ attr_accessor sms_template: String?
227
+
163
228
  attr_reader structured_output_config: ::Array[Revox::CallCreateParams::Assistant::StructuredOutputConfig]?
164
229
 
165
230
  def structured_output_config=: (
166
231
  ::Array[Revox::CallCreateParams::Assistant::StructuredOutputConfig]
167
232
  ) -> ::Array[Revox::CallCreateParams::Assistant::StructuredOutputConfig]
168
233
 
234
+ attr_accessor structured_output_prompt: String?
235
+
236
+ attr_accessor stt_context: Revox::CallCreateParams::Assistant::SttContext?
237
+
238
+ attr_reader stt_model: Revox::Models::CallCreateParams::Assistant::stt_model?
239
+
240
+ def stt_model=: (
241
+ Revox::Models::CallCreateParams::Assistant::stt_model
242
+ ) -> Revox::Models::CallCreateParams::Assistant::stt_model
243
+
244
+ attr_accessor thinking_sound: Revox::Models::CallCreateParams::Assistant::thinking_sound?
245
+
246
+ attr_reader thinking_sound_probability: Float?
247
+
248
+ def thinking_sound_probability=: (Float) -> Float
249
+
250
+ attr_reader thinking_sound_volume: Float?
251
+
252
+ def thinking_sound_volume=: (Float) -> Float
253
+
169
254
  attr_accessor transfer_phone_number: String?
170
255
 
256
+ attr_reader type: Revox::Models::CallCreateParams::Assistant::type_?
257
+
258
+ def type=: (
259
+ Revox::Models::CallCreateParams::Assistant::type_
260
+ ) -> Revox::Models::CallCreateParams::Assistant::type_
261
+
171
262
  attr_reader voice: Revox::CallCreateParams::Assistant::Voice?
172
263
 
173
264
  def voice=: (
@@ -176,50 +267,135 @@ module Revox
176
267
 
177
268
  attr_accessor voicemail_message: String?
178
269
 
270
+ attr_accessor voicemail_sms_prompt: String?
271
+
272
+ attr_accessor warm_transfer_summary_instructions: String?
273
+
179
274
  attr_reader webhook_url: String?
180
275
 
181
276
  def webhook_url=: (String) -> String
182
277
 
278
+ attr_accessor zoho: Revox::CallCreateParams::Assistant::Zoho?
279
+
183
280
  def initialize: (
184
281
  prompt: String,
282
+ ?after_call_sms_outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::after_call_sms_outcome]?,
283
+ ?after_call_sms_prompt: String?,
185
284
  ?background_sound: Revox::Models::CallCreateParams::Assistant::background_sound?,
186
- ?calendly: Revox::CallCreateParams::Assistant::Calendly,
285
+ ?background_sound_volume: Float,
286
+ ?calendly: Revox::CallCreateParams::Assistant::Calendly?,
187
287
  ?call_retry_config: Revox::CallCreateParams::Assistant::CallRetryConfig,
288
+ ?cartesia_dictionary_pronunciation_id: String?,
289
+ ?custom_tools: ::Array[Revox::CallCreateParams::Assistant::CustomTool]?,
290
+ ?email_notification_address: String?,
291
+ ?email_notification_language: Revox::Models::CallCreateParams::Assistant::email_notification_language,
292
+ ?email_notification_outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::email_notification_outcome]?,
188
293
  ?end_of_call_sentence: String,
189
294
  ?faq_items: ::Array[Revox::CallCreateParams::Assistant::FaqItem],
190
295
  ?first_sentence: String,
191
296
  ?first_sentence_delay_ms: Integer,
192
297
  ?first_sentence_mode: Revox::Models::CallCreateParams::Assistant::first_sentence_mode,
298
+ ?from_phone_number: String?,
299
+ ?human_transfer_mode: Revox::Models::CallCreateParams::Assistant::human_transfer_mode?,
193
300
  ?ivr_navigation_enabled: bool,
194
301
  ?llm_model: Revox::Models::CallCreateParams::Assistant::llm_model,
302
+ ?logo_url: String?,
195
303
  ?max_call_duration_secs: Float,
304
+ ?max_duration_end_message: String?,
305
+ ?position: Revox::CallCreateParams::Assistant::Position?,
306
+ ?prompt_flow: Revox::CallCreateParams::Assistant::PromptFlow?,
307
+ ?slack: Revox::CallCreateParams::Assistant::Slack?,
308
+ ?sms_enabled: bool,
309
+ ?sms_template: String?,
196
310
  ?structured_output_config: ::Array[Revox::CallCreateParams::Assistant::StructuredOutputConfig],
311
+ ?structured_output_prompt: String?,
312
+ ?stt_context: Revox::CallCreateParams::Assistant::SttContext?,
313
+ ?stt_model: Revox::Models::CallCreateParams::Assistant::stt_model,
314
+ ?thinking_sound: Revox::Models::CallCreateParams::Assistant::thinking_sound?,
315
+ ?thinking_sound_probability: Float,
316
+ ?thinking_sound_volume: Float,
197
317
  ?transfer_phone_number: String?,
318
+ ?type: Revox::Models::CallCreateParams::Assistant::type_,
198
319
  ?voice: Revox::CallCreateParams::Assistant::Voice,
199
320
  ?voicemail_message: String?,
200
- ?webhook_url: String
321
+ ?voicemail_sms_prompt: String?,
322
+ ?warm_transfer_summary_instructions: String?,
323
+ ?webhook_url: String,
324
+ ?zoho: Revox::CallCreateParams::Assistant::Zoho?
201
325
  ) -> void
202
326
 
203
327
  def to_hash: -> {
204
328
  prompt: String,
329
+ after_call_sms_outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::after_call_sms_outcome]?,
330
+ after_call_sms_prompt: String?,
205
331
  background_sound: Revox::Models::CallCreateParams::Assistant::background_sound?,
206
- calendly: Revox::CallCreateParams::Assistant::Calendly,
332
+ background_sound_volume: Float,
333
+ calendly: Revox::CallCreateParams::Assistant::Calendly?,
207
334
  call_retry_config: Revox::CallCreateParams::Assistant::CallRetryConfig,
335
+ cartesia_dictionary_pronunciation_id: String?,
336
+ custom_tools: ::Array[Revox::CallCreateParams::Assistant::CustomTool]?,
337
+ email_notification_address: String?,
338
+ email_notification_language: Revox::Models::CallCreateParams::Assistant::email_notification_language,
339
+ email_notification_outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::email_notification_outcome]?,
208
340
  end_of_call_sentence: String,
209
341
  faq_items: ::Array[Revox::CallCreateParams::Assistant::FaqItem],
210
342
  first_sentence: String,
211
343
  first_sentence_delay_ms: Integer,
212
344
  first_sentence_mode: Revox::Models::CallCreateParams::Assistant::first_sentence_mode,
345
+ from_phone_number: String?,
346
+ human_transfer_mode: Revox::Models::CallCreateParams::Assistant::human_transfer_mode?,
213
347
  ivr_navigation_enabled: bool,
214
348
  llm_model: Revox::Models::CallCreateParams::Assistant::llm_model,
349
+ logo_url: String?,
215
350
  max_call_duration_secs: Float,
351
+ max_duration_end_message: String?,
352
+ position: Revox::CallCreateParams::Assistant::Position?,
353
+ prompt_flow: Revox::CallCreateParams::Assistant::PromptFlow?,
354
+ slack: Revox::CallCreateParams::Assistant::Slack?,
355
+ sms_enabled: bool,
356
+ sms_template: String?,
216
357
  structured_output_config: ::Array[Revox::CallCreateParams::Assistant::StructuredOutputConfig],
358
+ structured_output_prompt: String?,
359
+ stt_context: Revox::CallCreateParams::Assistant::SttContext?,
360
+ stt_model: Revox::Models::CallCreateParams::Assistant::stt_model,
361
+ thinking_sound: Revox::Models::CallCreateParams::Assistant::thinking_sound?,
362
+ thinking_sound_probability: Float,
363
+ thinking_sound_volume: Float,
217
364
  transfer_phone_number: String?,
365
+ type: Revox::Models::CallCreateParams::Assistant::type_,
218
366
  voice: Revox::CallCreateParams::Assistant::Voice,
219
367
  voicemail_message: String?,
220
- webhook_url: String
368
+ voicemail_sms_prompt: String?,
369
+ warm_transfer_summary_instructions: String?,
370
+ webhook_url: String,
371
+ zoho: Revox::CallCreateParams::Assistant::Zoho?
221
372
  }
222
373
 
374
+ type after_call_sms_outcome =
375
+ :not_interested
376
+ | :interested
377
+ | :completed
378
+ | :requested_callback_later
379
+ | :requested_callback_new_number
380
+ | :do_not_contact
381
+ | :ai_averse
382
+ | :none
383
+
384
+ module AfterCallSMSOutcome
385
+ extend Revox::Internal::Type::Enum
386
+
387
+ NOT_INTERESTED: :not_interested
388
+ INTERESTED: :interested
389
+ COMPLETED: :completed
390
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
391
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
392
+ DO_NOT_CONTACT: :do_not_contact
393
+ AI_AVERSE: :ai_averse
394
+ NONE: :none
395
+
396
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::after_call_sms_outcome]
397
+ end
398
+
223
399
  type background_sound = :"audio/office.ogg"
224
400
 
225
401
  module BackgroundSound
@@ -244,12 +420,18 @@ module Revox
244
420
 
245
421
  type call_retry_config =
246
422
  {
423
+ allowed_days: ::Array[Revox::Models::CallCreateParams::Assistant::CallRetryConfig::allowed_day],
424
+ call_twice_in_a_row: bool,
247
425
  calling_windows: ::Array[Revox::CallCreateParams::Assistant::CallRetryConfig::CallingWindow],
248
426
  max_retry_attempts: Integer,
249
427
  timezone: String?
250
428
  }
251
429
 
252
430
  class CallRetryConfig < Revox::Internal::Type::BaseModel
431
+ attr_accessor allowed_days: ::Array[Revox::Models::CallCreateParams::Assistant::CallRetryConfig::allowed_day]
432
+
433
+ attr_accessor call_twice_in_a_row: bool
434
+
253
435
  attr_accessor calling_windows: ::Array[Revox::CallCreateParams::Assistant::CallRetryConfig::CallingWindow]
254
436
 
255
437
  attr_accessor max_retry_attempts: Integer
@@ -257,17 +439,44 @@ module Revox
257
439
  attr_accessor timezone: String?
258
440
 
259
441
  def initialize: (
442
+ allowed_days: ::Array[Revox::Models::CallCreateParams::Assistant::CallRetryConfig::allowed_day],
443
+ call_twice_in_a_row: bool,
260
444
  calling_windows: ::Array[Revox::CallCreateParams::Assistant::CallRetryConfig::CallingWindow],
261
445
  max_retry_attempts: Integer,
262
446
  ?timezone: String?
263
447
  ) -> void
264
448
 
265
449
  def to_hash: -> {
450
+ allowed_days: ::Array[Revox::Models::CallCreateParams::Assistant::CallRetryConfig::allowed_day],
451
+ call_twice_in_a_row: bool,
266
452
  calling_windows: ::Array[Revox::CallCreateParams::Assistant::CallRetryConfig::CallingWindow],
267
453
  max_retry_attempts: Integer,
268
454
  timezone: String?
269
455
  }
270
456
 
457
+ type allowed_day =
458
+ :monday
459
+ | :tuesday
460
+ | :wednesday
461
+ | :thursday
462
+ | :friday
463
+ | :saturday
464
+ | :sunday
465
+
466
+ module AllowedDay
467
+ extend Revox::Internal::Type::Enum
468
+
469
+ MONDAY: :monday
470
+ TUESDAY: :tuesday
471
+ WEDNESDAY: :wednesday
472
+ THURSDAY: :thursday
473
+ FRIDAY: :friday
474
+ SATURDAY: :saturday
475
+ SUNDAY: :sunday
476
+
477
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::CallRetryConfig::allowed_day]
478
+ end
479
+
271
480
  type calling_window =
272
481
  {
273
482
  calling_window_end_time: String,
@@ -296,6 +505,189 @@ module Revox
296
505
  end
297
506
  end
298
507
 
508
+ type custom_tool =
509
+ {
510
+ body_template: String?,
511
+ description: String,
512
+ headers: ::Array[Revox::CallCreateParams::Assistant::CustomTool::Header],
513
+ input_schema: ::Array[Revox::CallCreateParams::Assistant::CustomTool::InputSchema],
514
+ method_: Revox::Models::CallCreateParams::Assistant::CustomTool::method_,
515
+ name: String,
516
+ query_params: ::Array[Revox::CallCreateParams::Assistant::CustomTool::QueryParam],
517
+ url: String
518
+ }
519
+
520
+ class CustomTool < Revox::Internal::Type::BaseModel
521
+ attr_accessor body_template: String?
522
+
523
+ attr_accessor description: String
524
+
525
+ attr_accessor headers: ::Array[Revox::CallCreateParams::Assistant::CustomTool::Header]
526
+
527
+ attr_accessor input_schema: ::Array[Revox::CallCreateParams::Assistant::CustomTool::InputSchema]
528
+
529
+ attr_accessor method_: Revox::Models::CallCreateParams::Assistant::CustomTool::method_
530
+
531
+ attr_accessor name: String
532
+
533
+ attr_accessor query_params: ::Array[Revox::CallCreateParams::Assistant::CustomTool::QueryParam]
534
+
535
+ attr_accessor url: String
536
+
537
+ def initialize: (
538
+ body_template: String?,
539
+ description: String,
540
+ headers: ::Array[Revox::CallCreateParams::Assistant::CustomTool::Header],
541
+ input_schema: ::Array[Revox::CallCreateParams::Assistant::CustomTool::InputSchema],
542
+ method_: Revox::Models::CallCreateParams::Assistant::CustomTool::method_,
543
+ name: String,
544
+ query_params: ::Array[Revox::CallCreateParams::Assistant::CustomTool::QueryParam],
545
+ url: String
546
+ ) -> void
547
+
548
+ def to_hash: -> {
549
+ body_template: String?,
550
+ description: String,
551
+ headers: ::Array[Revox::CallCreateParams::Assistant::CustomTool::Header],
552
+ input_schema: ::Array[Revox::CallCreateParams::Assistant::CustomTool::InputSchema],
553
+ method_: Revox::Models::CallCreateParams::Assistant::CustomTool::method_,
554
+ name: String,
555
+ query_params: ::Array[Revox::CallCreateParams::Assistant::CustomTool::QueryParam],
556
+ url: String
557
+ }
558
+
559
+ type header = { key: String, value: String }
560
+
561
+ class Header < Revox::Internal::Type::BaseModel
562
+ attr_accessor key: String
563
+
564
+ attr_accessor value: String
565
+
566
+ def initialize: (key: String, value: String) -> void
567
+
568
+ def to_hash: -> { key: String, value: String }
569
+ end
570
+
571
+ type input_schema =
572
+ {
573
+ name: String,
574
+ required: bool,
575
+ type: Revox::Models::CallCreateParams::Assistant::CustomTool::InputSchema::type_,
576
+ description: String,
577
+ enum_options: ::Array[String]
578
+ }
579
+
580
+ class InputSchema < Revox::Internal::Type::BaseModel
581
+ attr_accessor name: String
582
+
583
+ attr_accessor required: bool
584
+
585
+ attr_accessor type: Revox::Models::CallCreateParams::Assistant::CustomTool::InputSchema::type_
586
+
587
+ attr_reader description: String?
588
+
589
+ def description=: (String) -> String
590
+
591
+ attr_reader enum_options: ::Array[String]?
592
+
593
+ def enum_options=: (::Array[String]) -> ::Array[String]
594
+
595
+ def initialize: (
596
+ name: String,
597
+ required: bool,
598
+ type: Revox::Models::CallCreateParams::Assistant::CustomTool::InputSchema::type_,
599
+ ?description: String,
600
+ ?enum_options: ::Array[String]
601
+ ) -> void
602
+
603
+ def to_hash: -> {
604
+ name: String,
605
+ required: bool,
606
+ type: Revox::Models::CallCreateParams::Assistant::CustomTool::InputSchema::type_,
607
+ description: String,
608
+ enum_options: ::Array[String]
609
+ }
610
+
611
+ type type_ =
612
+ :string | :number | :boolean | :enum | :date | :datetime
613
+
614
+ module Type
615
+ extend Revox::Internal::Type::Enum
616
+
617
+ STRING: :string
618
+ NUMBER: :number
619
+ BOOLEAN: :boolean
620
+ ENUM: :enum
621
+ DATE: :date
622
+ DATETIME: :datetime
623
+
624
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::CustomTool::InputSchema::type_]
625
+ end
626
+ end
627
+
628
+ type method_ = :GET | :POST | :PUT | :PATCH | :DELETE
629
+
630
+ module Method
631
+ extend Revox::Internal::Type::Enum
632
+
633
+ GET: :GET
634
+ POST: :POST
635
+ PUT: :PUT
636
+ PATCH: :PATCH
637
+ DELETE: :DELETE
638
+
639
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::CustomTool::method_]
640
+ end
641
+
642
+ type query_param = { key: String, value: String }
643
+
644
+ class QueryParam < Revox::Internal::Type::BaseModel
645
+ attr_accessor key: String
646
+
647
+ attr_accessor value: String
648
+
649
+ def initialize: (key: String, value: String) -> void
650
+
651
+ def to_hash: -> { key: String, value: String }
652
+ end
653
+ end
654
+
655
+ type email_notification_language = :en | :fr
656
+
657
+ module EmailNotificationLanguage
658
+ extend Revox::Internal::Type::Enum
659
+
660
+ EN: :en
661
+ FR: :fr
662
+
663
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::email_notification_language]
664
+ end
665
+
666
+ type email_notification_outcome =
667
+ :not_interested
668
+ | :interested
669
+ | :completed
670
+ | :requested_callback_later
671
+ | :requested_callback_new_number
672
+ | :do_not_contact
673
+ | :ai_averse
674
+ | :none
675
+
676
+ module EmailNotificationOutcome
677
+ extend Revox::Internal::Type::Enum
678
+
679
+ NOT_INTERESTED: :not_interested
680
+ INTERESTED: :interested
681
+ COMPLETED: :completed
682
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
683
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
684
+ DO_NOT_CONTACT: :do_not_contact
685
+ AI_AVERSE: :ai_averse
686
+ NONE: :none
687
+
688
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::email_notification_outcome]
689
+ end
690
+
299
691
  type faq_item = { answer: String, question: String }
300
692
 
301
693
  class FaqItem < Revox::Internal::Type::BaseModel
@@ -320,9 +712,22 @@ module Revox
320
712
  def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::first_sentence_mode]
321
713
  end
322
714
 
715
+ type human_transfer_mode = :warm | :cold
716
+
717
+ module HumanTransferMode
718
+ extend Revox::Internal::Type::Enum
719
+
720
+ WARM: :warm
721
+ COLD: :cold
722
+
723
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::human_transfer_mode]
724
+ end
725
+
323
726
  type llm_model =
324
727
  Revox::CallCreateParams::Assistant::LlmModel::UnionMember0
325
728
  | Revox::CallCreateParams::Assistant::LlmModel::UnionMember1
729
+ | Revox::CallCreateParams::Assistant::LlmModel::UnionMember2
730
+ | Revox::CallCreateParams::Assistant::LlmModel::UnionMember3
326
731
 
327
732
  module LlmModel
328
733
  extend Revox::Internal::Type::Union
@@ -387,9 +792,252 @@ module Revox
387
792
  }
388
793
  end
389
794
 
795
+ type union_member2 =
796
+ {
797
+ api_key: String,
798
+ api_url: String,
799
+ model_name: String,
800
+ type: :custom
801
+ }
802
+
803
+ class UnionMember2 < Revox::Internal::Type::BaseModel
804
+ attr_accessor api_key: String
805
+
806
+ attr_accessor api_url: String
807
+
808
+ attr_accessor model_name: String
809
+
810
+ attr_accessor type: :custom
811
+
812
+ def initialize: (
813
+ api_key: String,
814
+ api_url: String,
815
+ model_name: String,
816
+ ?type: :custom
817
+ ) -> void
818
+
819
+ def to_hash: -> {
820
+ api_key: String,
821
+ api_url: String,
822
+ model_name: String,
823
+ type: :custom
824
+ }
825
+ end
826
+
827
+ type union_member3 =
828
+ {
829
+ provider: Revox::Models::CallCreateParams::Assistant::LlmModel::UnionMember3::provider,
830
+ realtime_model_id: String,
831
+ type: :realtime,
832
+ realtime_voice_id: String
833
+ }
834
+
835
+ class UnionMember3 < Revox::Internal::Type::BaseModel
836
+ attr_accessor provider: Revox::Models::CallCreateParams::Assistant::LlmModel::UnionMember3::provider
837
+
838
+ attr_accessor realtime_model_id: String
839
+
840
+ attr_accessor type: :realtime
841
+
842
+ attr_reader realtime_voice_id: String?
843
+
844
+ def realtime_voice_id=: (String) -> String
845
+
846
+ def initialize: (
847
+ provider: Revox::Models::CallCreateParams::Assistant::LlmModel::UnionMember3::provider,
848
+ realtime_model_id: String,
849
+ ?realtime_voice_id: String,
850
+ ?type: :realtime
851
+ ) -> void
852
+
853
+ def to_hash: -> {
854
+ provider: Revox::Models::CallCreateParams::Assistant::LlmModel::UnionMember3::provider,
855
+ realtime_model_id: String,
856
+ type: :realtime,
857
+ realtime_voice_id: String
858
+ }
859
+
860
+ type provider = :openai | :google
861
+
862
+ module Provider
863
+ extend Revox::Internal::Type::Enum
864
+
865
+ OPENAI: :openai
866
+ GOOGLE: :google
867
+
868
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::LlmModel::UnionMember3::provider]
869
+ end
870
+ end
871
+
390
872
  def self?.variants: -> ::Array[Revox::Models::CallCreateParams::Assistant::llm_model]
391
873
  end
392
874
 
875
+ type position = { x: Float, y_: Float }
876
+
877
+ class Position < Revox::Internal::Type::BaseModel
878
+ attr_accessor x: Float
879
+
880
+ attr_accessor y_: Float
881
+
882
+ def initialize: (x: Float, y_: Float) -> void
883
+
884
+ def to_hash: -> { x: Float, y_: Float }
885
+ end
886
+
887
+ type prompt_flow =
888
+ {
889
+ edges: ::Array[Revox::CallCreateParams::Assistant::PromptFlow::Edge],
890
+ nodes: ::Array[Revox::CallCreateParams::Assistant::PromptFlow::Node]
891
+ }
892
+
893
+ class PromptFlow < Revox::Internal::Type::BaseModel
894
+ attr_accessor edges: ::Array[Revox::CallCreateParams::Assistant::PromptFlow::Edge]
895
+
896
+ attr_accessor nodes: ::Array[Revox::CallCreateParams::Assistant::PromptFlow::Node]
897
+
898
+ def initialize: (
899
+ edges: ::Array[Revox::CallCreateParams::Assistant::PromptFlow::Edge],
900
+ nodes: ::Array[Revox::CallCreateParams::Assistant::PromptFlow::Node]
901
+ ) -> void
902
+
903
+ def to_hash: -> {
904
+ edges: ::Array[Revox::CallCreateParams::Assistant::PromptFlow::Edge],
905
+ nodes: ::Array[Revox::CallCreateParams::Assistant::PromptFlow::Node]
906
+ }
907
+
908
+ type edge = { id: String, source: String, target: String }
909
+
910
+ class Edge < Revox::Internal::Type::BaseModel
911
+ attr_accessor id: String
912
+
913
+ attr_accessor source: String
914
+
915
+ attr_accessor target: String
916
+
917
+ def initialize: (id: String, source: String, target: String) -> void
918
+
919
+ def to_hash: -> { id: String, source: String, target: String }
920
+ end
921
+
922
+ type node =
923
+ {
924
+ id: String,
925
+ data: Revox::CallCreateParams::Assistant::PromptFlow::Node::Data,
926
+ position: Revox::CallCreateParams::Assistant::PromptFlow::Node::Position,
927
+ type: :promptBlock
928
+ }
929
+
930
+ class Node < Revox::Internal::Type::BaseModel
931
+ attr_accessor id: String
932
+
933
+ attr_accessor data: Revox::CallCreateParams::Assistant::PromptFlow::Node::Data
934
+
935
+ attr_accessor position: Revox::CallCreateParams::Assistant::PromptFlow::Node::Position
936
+
937
+ attr_accessor type: :promptBlock
938
+
939
+ def initialize: (
940
+ id: String,
941
+ data: Revox::CallCreateParams::Assistant::PromptFlow::Node::Data,
942
+ position: Revox::CallCreateParams::Assistant::PromptFlow::Node::Position,
943
+ ?type: :promptBlock
944
+ ) -> void
945
+
946
+ def to_hash: -> {
947
+ id: String,
948
+ data: Revox::CallCreateParams::Assistant::PromptFlow::Node::Data,
949
+ position: Revox::CallCreateParams::Assistant::PromptFlow::Node::Position,
950
+ type: :promptBlock
951
+ }
952
+
953
+ type data = { body: String, title: String }
954
+
955
+ class Data < Revox::Internal::Type::BaseModel
956
+ attr_accessor body: String
957
+
958
+ attr_accessor title: String
959
+
960
+ def initialize: (body: String, title: String) -> void
961
+
962
+ def to_hash: -> { body: String, title: String }
963
+ end
964
+
965
+ type position = { x: Float, y_: Float }
966
+
967
+ class Position < Revox::Internal::Type::BaseModel
968
+ attr_accessor x: Float
969
+
970
+ attr_accessor y_: Float
971
+
972
+ def initialize: (x: Float, y_: Float) -> void
973
+
974
+ def to_hash: -> { x: Float, y_: Float }
975
+ end
976
+ end
977
+ end
978
+
979
+ type slack =
980
+ {
981
+ channel_id: String,
982
+ connection_id: String,
983
+ outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::Slack::outcome],
984
+ channel_name: String?,
985
+ template: String?
986
+ }
987
+
988
+ class Slack < Revox::Internal::Type::BaseModel
989
+ attr_accessor channel_id: String
990
+
991
+ attr_accessor connection_id: String
992
+
993
+ attr_accessor outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::Slack::outcome]
994
+
995
+ attr_accessor channel_name: String?
996
+
997
+ attr_accessor template: String?
998
+
999
+ def initialize: (
1000
+ channel_id: String,
1001
+ connection_id: String,
1002
+ outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::Slack::outcome],
1003
+ ?channel_name: String?,
1004
+ ?template: String?
1005
+ ) -> void
1006
+
1007
+ def to_hash: -> {
1008
+ channel_id: String,
1009
+ connection_id: String,
1010
+ outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::Slack::outcome],
1011
+ channel_name: String?,
1012
+ template: String?
1013
+ }
1014
+
1015
+ type outcome =
1016
+ :not_interested
1017
+ | :interested
1018
+ | :completed
1019
+ | :requested_callback_later
1020
+ | :requested_callback_new_number
1021
+ | :do_not_contact
1022
+ | :ai_averse
1023
+ | :none
1024
+
1025
+ module Outcome
1026
+ extend Revox::Internal::Type::Enum
1027
+
1028
+ NOT_INTERESTED: :not_interested
1029
+ INTERESTED: :interested
1030
+ COMPLETED: :completed
1031
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
1032
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1033
+ DO_NOT_CONTACT: :do_not_contact
1034
+ AI_AVERSE: :ai_averse
1035
+ NONE: :none
1036
+
1037
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::Slack::outcome]
1038
+ end
1039
+ end
1040
+
393
1041
  type structured_output_config =
394
1042
  {
395
1043
  name: String,
@@ -446,11 +1094,93 @@ module Revox
446
1094
  end
447
1095
  end
448
1096
 
1097
+ type stt_context =
1098
+ {
1099
+ general: ::Array[Revox::CallCreateParams::Assistant::SttContext::General],
1100
+ terms: ::Array[String]
1101
+ }
1102
+
1103
+ class SttContext < Revox::Internal::Type::BaseModel
1104
+ attr_accessor general: ::Array[Revox::CallCreateParams::Assistant::SttContext::General]
1105
+
1106
+ attr_accessor terms: ::Array[String]
1107
+
1108
+ def initialize: (
1109
+ general: ::Array[Revox::CallCreateParams::Assistant::SttContext::General],
1110
+ terms: ::Array[String]
1111
+ ) -> void
1112
+
1113
+ def to_hash: -> {
1114
+ general: ::Array[Revox::CallCreateParams::Assistant::SttContext::General],
1115
+ terms: ::Array[String]
1116
+ }
1117
+
1118
+ type general = { key: String, value: String }
1119
+
1120
+ class General < Revox::Internal::Type::BaseModel
1121
+ attr_accessor key: String
1122
+
1123
+ attr_accessor value: String
1124
+
1125
+ def initialize: (key: String, value: String) -> void
1126
+
1127
+ def to_hash: -> { key: String, value: String }
1128
+ end
1129
+ end
1130
+
1131
+ type stt_model = :"stt-rt-v4" | :"stt-rt-v5"
1132
+
1133
+ module SttModel
1134
+ extend Revox::Internal::Type::Enum
1135
+
1136
+ STT_RT_V4: :"stt-rt-v4"
1137
+ STT_RT_V5: :"stt-rt-v5"
1138
+
1139
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::stt_model]
1140
+ end
1141
+
1142
+ type thinking_sound =
1143
+ :"city-ambience.ogg"
1144
+ | :"forest-ambience.ogg"
1145
+ | :"office-ambience.ogg"
1146
+ | :"crowded-room.ogg"
1147
+ | :"keyboard-typing.ogg"
1148
+ | :"keyboard-typing2.ogg"
1149
+ | :"hold_music.ogg"
1150
+
1151
+ module ThinkingSound
1152
+ extend Revox::Internal::Type::Enum
1153
+
1154
+ CITY_AMBIENCE_OGG: :"city-ambience.ogg"
1155
+ FOREST_AMBIENCE_OGG: :"forest-ambience.ogg"
1156
+ OFFICE_AMBIENCE_OGG: :"office-ambience.ogg"
1157
+ CROWDED_ROOM_OGG: :"crowded-room.ogg"
1158
+ KEYBOARD_TYPING_OGG: :"keyboard-typing.ogg"
1159
+ KEYBOARD_TYPING2_OGG: :"keyboard-typing2.ogg"
1160
+ HOLD_MUSIC_OGG: :"hold_music.ogg"
1161
+
1162
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::thinking_sound]
1163
+ end
1164
+
1165
+ type type_ = :standalone | :"multi-step" | :"sub-assistant"
1166
+
1167
+ module Type
1168
+ extend Revox::Internal::Type::Enum
1169
+
1170
+ STANDALONE: :standalone
1171
+ MULTI_STEP: :"multi-step"
1172
+ SUB_ASSISTANT: :"sub-assistant"
1173
+
1174
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::type_]
1175
+ end
1176
+
449
1177
  type voice =
450
1178
  {
451
1179
  id: String,
452
1180
  provider: Revox::Models::CallCreateParams::Assistant::Voice::provider,
453
- speed: Float
1181
+ model: Revox::Models::CallCreateParams::Assistant::Voice::model,
1182
+ speed: Float,
1183
+ volume: Float
454
1184
  }
455
1185
 
456
1186
  class Voice < Revox::Internal::Type::BaseModel
@@ -458,20 +1188,34 @@ module Revox
458
1188
 
459
1189
  attr_accessor provider: Revox::Models::CallCreateParams::Assistant::Voice::provider
460
1190
 
1191
+ attr_reader model: Revox::Models::CallCreateParams::Assistant::Voice::model?
1192
+
1193
+ def model=: (
1194
+ Revox::Models::CallCreateParams::Assistant::Voice::model
1195
+ ) -> Revox::Models::CallCreateParams::Assistant::Voice::model
1196
+
461
1197
  attr_reader speed: Float?
462
1198
 
463
1199
  def speed=: (Float) -> Float
464
1200
 
1201
+ attr_reader volume: Float?
1202
+
1203
+ def volume=: (Float) -> Float
1204
+
465
1205
  def initialize: (
466
1206
  id: String,
467
1207
  provider: Revox::Models::CallCreateParams::Assistant::Voice::provider,
468
- ?speed: Float
1208
+ ?model: Revox::Models::CallCreateParams::Assistant::Voice::model,
1209
+ ?speed: Float,
1210
+ ?volume: Float
469
1211
  ) -> void
470
1212
 
471
1213
  def to_hash: -> {
472
1214
  id: String,
473
1215
  provider: Revox::Models::CallCreateParams::Assistant::Voice::provider,
474
- speed: Float
1216
+ model: Revox::Models::CallCreateParams::Assistant::Voice::model,
1217
+ speed: Float,
1218
+ volume: Float
475
1219
  }
476
1220
 
477
1221
  type provider = :cartesia | :elevenlabs
@@ -484,6 +1228,96 @@ module Revox
484
1228
 
485
1229
  def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::Voice::provider]
486
1230
  end
1231
+
1232
+ type model = :"sonic-3" | :"sonic-3.5"
1233
+
1234
+ module Model
1235
+ extend Revox::Internal::Type::Enum
1236
+
1237
+ SONIC_3: :"sonic-3"
1238
+ SONIC_3_5: :"sonic-3.5"
1239
+
1240
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::Voice::model]
1241
+ end
1242
+ end
1243
+
1244
+ type zoho =
1245
+ {
1246
+ connection_id: String,
1247
+ field_mapping: ::Array[Revox::CallCreateParams::Assistant::Zoho::FieldMapping],
1248
+ log_call_activity: bool,
1249
+ module_: String,
1250
+ outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::Zoho::outcome],
1251
+ template: String?
1252
+ }
1253
+
1254
+ class Zoho < Revox::Internal::Type::BaseModel
1255
+ attr_accessor connection_id: String
1256
+
1257
+ attr_accessor field_mapping: ::Array[Revox::CallCreateParams::Assistant::Zoho::FieldMapping]
1258
+
1259
+ attr_accessor log_call_activity: bool
1260
+
1261
+ attr_accessor module_: String
1262
+
1263
+ attr_accessor outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::Zoho::outcome]
1264
+
1265
+ attr_accessor template: String?
1266
+
1267
+ def initialize: (
1268
+ connection_id: String,
1269
+ field_mapping: ::Array[Revox::CallCreateParams::Assistant::Zoho::FieldMapping],
1270
+ log_call_activity: bool,
1271
+ module_: String,
1272
+ outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::Zoho::outcome],
1273
+ ?template: String?
1274
+ ) -> void
1275
+
1276
+ def to_hash: -> {
1277
+ connection_id: String,
1278
+ field_mapping: ::Array[Revox::CallCreateParams::Assistant::Zoho::FieldMapping],
1279
+ log_call_activity: bool,
1280
+ module_: String,
1281
+ outcomes: ::Array[Revox::Models::CallCreateParams::Assistant::Zoho::outcome],
1282
+ template: String?
1283
+ }
1284
+
1285
+ type field_mapping = { source: String, zoho_field: String }
1286
+
1287
+ class FieldMapping < Revox::Internal::Type::BaseModel
1288
+ attr_accessor source: String
1289
+
1290
+ attr_accessor zoho_field: String
1291
+
1292
+ def initialize: (source: String, zoho_field: String) -> void
1293
+
1294
+ def to_hash: -> { source: String, zoho_field: String }
1295
+ end
1296
+
1297
+ type outcome =
1298
+ :not_interested
1299
+ | :interested
1300
+ | :completed
1301
+ | :requested_callback_later
1302
+ | :requested_callback_new_number
1303
+ | :do_not_contact
1304
+ | :ai_averse
1305
+ | :none
1306
+
1307
+ module Outcome
1308
+ extend Revox::Internal::Type::Enum
1309
+
1310
+ NOT_INTERESTED: :not_interested
1311
+ INTERESTED: :interested
1312
+ COMPLETED: :completed
1313
+ REQUESTED_CALLBACK_LATER: :requested_callback_later
1314
+ REQUESTED_CALLBACK_NEW_NUMBER: :requested_callback_new_number
1315
+ DO_NOT_CONTACT: :do_not_contact
1316
+ AI_AVERSE: :ai_averse
1317
+ NONE: :none
1318
+
1319
+ def self?.values: -> ::Array[Revox::Models::CallCreateParams::Assistant::Zoho::outcome]
1320
+ end
487
1321
  end
488
1322
  end
489
1323