revox 0.2.0 → 0.4.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 (208) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +38 -38
  4. data/lib/revox/client.rb +8 -0
  5. data/lib/revox/internal/type/base_model.rb +3 -3
  6. data/lib/revox/models/assistant_clone_params.rb +20 -0
  7. data/lib/revox/models/assistant_clone_response.rb +1616 -0
  8. data/lib/revox/models/assistant_create_params.rb +90 -66
  9. data/lib/revox/models/assistant_create_response.rb +87 -65
  10. data/lib/revox/models/assistant_list_response.rb +87 -65
  11. data/lib/revox/models/assistant_retrieve_response.rb +86 -65
  12. data/lib/revox/models/assistant_update_params.rb +90 -66
  13. data/lib/revox/models/assistant_update_response.rb +87 -65
  14. data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
  15. data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
  16. data/lib/revox/models/call_cancel_params.rb +20 -0
  17. data/lib/revox/models/call_cancel_response.rb +16 -0
  18. data/lib/revox/models/call_create_params.rb +117 -90
  19. data/lib/revox/models/call_create_response.rb +680 -90
  20. data/lib/revox/models/call_export_params.rb +203 -0
  21. data/lib/revox/models/call_export_response.rb +22 -0
  22. data/lib/revox/models/call_pause_params.rb +20 -0
  23. data/lib/revox/models/call_pause_response.rb +16 -0
  24. data/lib/revox/models/call_phone_history_params.rb +14 -0
  25. data/lib/revox/models/call_phone_history_response.rb +95 -0
  26. data/lib/revox/models/call_resume_params.rb +20 -0
  27. data/lib/revox/models/call_resume_response.rb +16 -0
  28. data/lib/revox/models/call_retrieve_response.rb +681 -90
  29. data/lib/revox/models/call_search_params.rb +169 -0
  30. data/lib/revox/models/call_search_response.rb +3694 -0
  31. data/lib/revox/models/campaign_create_params.rb +7 -57
  32. data/lib/revox/models/campaign_create_response.rb +108 -119
  33. data/lib/revox/models/campaign_get_rows_response.rb +682 -90
  34. data/lib/revox/models/campaign_list_response.rb +108 -119
  35. data/lib/revox/models/campaign_pause_params.rb +20 -0
  36. data/lib/revox/models/campaign_pause_response.rb +16 -0
  37. data/lib/revox/models/campaign_resume_params.rb +20 -0
  38. data/lib/revox/models/campaign_resume_response.rb +16 -0
  39. data/lib/revox/models/campaign_retrieve_response.rb +108 -119
  40. data/lib/revox/models/campaign_statistics_params.rb +20 -0
  41. data/lib/revox/models/campaign_statistics_response.rb +514 -0
  42. data/lib/revox/models/campaign_update_params.rb +165 -0
  43. data/lib/revox/models/campaign_update_response.rb +2019 -0
  44. data/lib/revox/models/phone_number_delete_params.rb +20 -0
  45. data/lib/revox/models/phone_number_delete_response.rb +16 -0
  46. data/lib/revox/models/phone_number_list_params.rb +14 -0
  47. data/lib/revox/models/phone_number_list_response.rb +1799 -0
  48. data/lib/revox/models/phone_number_update_params.rb +32 -0
  49. data/lib/revox/models/phone_number_update_response.rb +1799 -0
  50. data/lib/revox/models/user_retrieve_params.rb +14 -0
  51. data/lib/revox/models/user_retrieve_response.rb +99 -0
  52. data/lib/revox/models/voice_clone_params.rb +78 -0
  53. data/lib/revox/models/voice_clone_response.rb +40 -0
  54. data/lib/revox/models/voice_delete_params.rb +20 -0
  55. data/lib/revox/models/voice_delete_response.rb +16 -0
  56. data/lib/revox/models/voice_list_response.rb +1 -0
  57. data/lib/revox/models/voice_preview_params.rb +1 -0
  58. data/lib/revox/models/voice_retrieve_params.rb +1 -0
  59. data/lib/revox/models.rb +35 -1
  60. data/lib/revox/resources/assistants.rb +31 -10
  61. data/lib/revox/resources/auth_status.rb +32 -0
  62. data/lib/revox/resources/call.rb +149 -4
  63. data/lib/revox/resources/campaigns.rb +110 -11
  64. data/lib/revox/resources/phone_numbers.rb +74 -0
  65. data/lib/revox/resources/users.rb +17 -3
  66. data/lib/revox/resources/voices.rb +50 -0
  67. data/lib/revox/version.rb +1 -1
  68. data/lib/revox.rb +38 -5
  69. data/rbi/revox/client.rbi +6 -0
  70. data/rbi/revox/models/assistant_clone_params.rbi +33 -0
  71. data/rbi/revox/models/assistant_clone_response.rbi +3351 -0
  72. data/rbi/revox/models/assistant_create_params.rbi +148 -162
  73. data/rbi/revox/models/assistant_create_response.rbi +157 -147
  74. data/rbi/revox/models/assistant_list_response.rbi +157 -147
  75. data/rbi/revox/models/assistant_retrieve_response.rbi +153 -147
  76. data/rbi/revox/models/assistant_update_params.rbi +148 -162
  77. data/rbi/revox/models/assistant_update_response.rbi +157 -147
  78. data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
  79. data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
  80. data/rbi/revox/models/call_cancel_params.rbi +33 -0
  81. data/rbi/revox/models/call_cancel_response.rbi +23 -0
  82. data/rbi/revox/models/call_create_params.rbi +190 -187
  83. data/rbi/revox/models/call_create_response.rbi +1150 -227
  84. data/rbi/revox/models/call_export_params.rbi +446 -0
  85. data/rbi/revox/models/call_export_response.rbi +26 -0
  86. data/rbi/revox/models/call_pause_params.rbi +31 -0
  87. data/rbi/revox/models/call_pause_response.rbi +23 -0
  88. data/rbi/revox/models/call_phone_history_params.rbi +27 -0
  89. data/rbi/revox/models/call_phone_history_response.rbi +209 -0
  90. data/rbi/revox/models/call_resume_params.rbi +33 -0
  91. data/rbi/revox/models/call_resume_response.rbi +23 -0
  92. data/rbi/revox/models/call_retrieve_response.rbi +1150 -227
  93. data/rbi/revox/models/call_search_params.rbi +281 -0
  94. data/rbi/revox/models/call_search_response.rbi +7504 -0
  95. data/rbi/revox/models/campaign_create_params.rbi +9 -87
  96. data/rbi/revox/models/campaign_create_response.rbi +188 -266
  97. data/rbi/revox/models/campaign_get_rows_response.rbi +1150 -225
  98. data/rbi/revox/models/campaign_list_response.rbi +188 -262
  99. data/rbi/revox/models/campaign_pause_params.rbi +33 -0
  100. data/rbi/revox/models/campaign_pause_response.rbi +23 -0
  101. data/rbi/revox/models/campaign_resume_params.rbi +33 -0
  102. data/rbi/revox/models/campaign_resume_response.rbi +23 -0
  103. data/rbi/revox/models/campaign_retrieve_response.rbi +188 -266
  104. data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
  105. data/rbi/revox/models/campaign_statistics_response.rbi +1069 -0
  106. data/rbi/revox/models/campaign_update_params.rbi +313 -0
  107. data/rbi/revox/models/campaign_update_response.rbi +4092 -0
  108. data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
  109. data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
  110. data/rbi/revox/models/phone_number_list_params.rbi +27 -0
  111. data/rbi/revox/models/phone_number_list_response.rbi +3690 -0
  112. data/rbi/revox/models/phone_number_update_params.rbi +53 -0
  113. data/rbi/revox/models/phone_number_update_response.rbi +3693 -0
  114. data/rbi/revox/models/user_retrieve_params.rbi +27 -0
  115. data/rbi/revox/models/user_retrieve_response.rbi +140 -0
  116. data/rbi/revox/models/voice_clone_params.rbi +141 -0
  117. data/rbi/revox/models/voice_clone_response.rbi +53 -0
  118. data/rbi/revox/models/voice_delete_params.rbi +33 -0
  119. data/rbi/revox/models/voice_delete_response.rbi +23 -0
  120. data/rbi/revox/models/voice_list_response.rbi +5 -0
  121. data/rbi/revox/models/voice_preview_params.rbi +2 -0
  122. data/rbi/revox/models/voice_retrieve_params.rbi +2 -0
  123. data/rbi/revox/models.rbi +35 -1
  124. data/rbi/revox/resources/assistants.rbi +52 -22
  125. data/rbi/revox/resources/auth_status.rbi +21 -0
  126. data/rbi/revox/resources/call.rbi +114 -4
  127. data/rbi/revox/resources/campaigns.rbi +77 -15
  128. data/rbi/revox/resources/phone_numbers.rbi +43 -0
  129. data/rbi/revox/resources/users.rbi +8 -2
  130. data/rbi/revox/resources/voices.rbi +39 -0
  131. data/sig/revox/client.rbs +4 -0
  132. data/sig/revox/models/assistant_clone_params.rbs +20 -0
  133. data/sig/revox/models/assistant_clone_response.rbs +1310 -0
  134. data/sig/revox/models/assistant_create_params.rbs +39 -58
  135. data/sig/revox/models/assistant_create_response.rbs +46 -54
  136. data/sig/revox/models/assistant_list_response.rbs +46 -54
  137. data/sig/revox/models/assistant_retrieve_response.rbs +46 -54
  138. data/sig/revox/models/assistant_update_params.rbs +39 -58
  139. data/sig/revox/models/assistant_update_response.rbs +46 -54
  140. data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
  141. data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
  142. data/sig/revox/models/call_cancel_params.rbs +20 -0
  143. data/sig/revox/models/call_cancel_response.rbs +13 -0
  144. data/sig/revox/models/call_create_params.rbs +50 -71
  145. data/sig/revox/models/call_create_response.rbs +473 -77
  146. data/sig/revox/models/call_export_params.rbs +230 -0
  147. data/sig/revox/models/call_export_response.rbs +15 -0
  148. data/sig/revox/models/call_pause_params.rbs +20 -0
  149. data/sig/revox/models/call_pause_response.rbs +13 -0
  150. data/sig/revox/models/call_phone_history_params.rbs +15 -0
  151. data/sig/revox/models/call_phone_history_response.rbs +93 -0
  152. data/sig/revox/models/call_resume_params.rbs +20 -0
  153. data/sig/revox/models/call_resume_response.rbs +13 -0
  154. data/sig/revox/models/call_retrieve_response.rbs +473 -77
  155. data/sig/revox/models/call_search_params.rbs +194 -0
  156. data/sig/revox/models/call_search_response.rbs +3045 -0
  157. data/sig/revox/models/campaign_create_params.rbs +5 -50
  158. data/sig/revox/models/campaign_create_response.rbs +62 -98
  159. data/sig/revox/models/campaign_get_rows_response.rbs +472 -73
  160. data/sig/revox/models/campaign_list_response.rbs +62 -98
  161. data/sig/revox/models/campaign_pause_params.rbs +20 -0
  162. data/sig/revox/models/campaign_pause_response.rbs +13 -0
  163. data/sig/revox/models/campaign_resume_params.rbs +20 -0
  164. data/sig/revox/models/campaign_resume_response.rbs +13 -0
  165. data/sig/revox/models/campaign_retrieve_response.rbs +62 -98
  166. data/sig/revox/models/campaign_statistics_params.rbs +20 -0
  167. data/sig/revox/models/campaign_statistics_response.rbs +489 -0
  168. data/sig/revox/models/campaign_update_params.rbs +135 -0
  169. data/sig/revox/models/campaign_update_response.rbs +1658 -0
  170. data/sig/revox/models/phone_number_delete_params.rbs +20 -0
  171. data/sig/revox/models/phone_number_delete_response.rbs +13 -0
  172. data/sig/revox/models/phone_number_list_params.rbs +15 -0
  173. data/sig/revox/models/phone_number_list_response.rbs +1454 -0
  174. data/sig/revox/models/phone_number_update_params.rbs +32 -0
  175. data/sig/revox/models/phone_number_update_response.rbs +1452 -0
  176. data/sig/revox/models/user_retrieve_params.rbs +14 -0
  177. data/sig/revox/models/user_retrieve_response.rbs +71 -0
  178. data/sig/revox/models/voice_clone_params.rbs +79 -0
  179. data/sig/revox/models/voice_clone_response.rbs +40 -0
  180. data/sig/revox/models/voice_delete_params.rbs +20 -0
  181. data/sig/revox/models/voice_delete_response.rbs +13 -0
  182. data/sig/revox/models/voice_list_response.rbs +2 -1
  183. data/sig/revox/models/voice_preview_params.rbs +2 -1
  184. data/sig/revox/models/voice_retrieve_params.rbs +2 -1
  185. data/sig/revox/models.rbs +35 -1
  186. data/sig/revox/resources/assistants.rbs +9 -4
  187. data/sig/revox/resources/auth_status.rbs +11 -0
  188. data/sig/revox/resources/call.rbs +46 -1
  189. data/sig/revox/resources/campaigns.rbs +24 -3
  190. data/sig/revox/resources/phone_numbers.rbs +23 -0
  191. data/sig/revox/resources/users.rbs +3 -1
  192. data/sig/revox/resources/voices.rbs +13 -0
  193. metadata +116 -17
  194. data/lib/revox/models/users/me_retrieve_params.rb +0 -16
  195. data/lib/revox/models/users/me_retrieve_response.rb +0 -101
  196. data/lib/revox/models/users/me_update_params.rb +0 -22
  197. data/lib/revox/models/users/me_update_response.rb +0 -101
  198. data/lib/revox/resources/users/me.rb +0 -55
  199. data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
  200. data/rbi/revox/models/users/me_retrieve_response.rbi +0 -149
  201. data/rbi/revox/models/users/me_update_params.rbi +0 -43
  202. data/rbi/revox/models/users/me_update_response.rbi +0 -149
  203. data/rbi/revox/resources/users/me.rbi +0 -33
  204. data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
  205. data/sig/revox/models/users/me_retrieve_response.rbs +0 -75
  206. data/sig/revox/models/users/me_update_params.rbs +0 -28
  207. data/sig/revox/models/users/me_update_response.rbs +0 -75
  208. data/sig/revox/resources/users/me.rbs +0 -18
@@ -89,13 +89,6 @@ module Revox
89
89
  # @return [String, nil]
90
90
  required :email_notification_address, String, nil?: true
91
91
 
92
- # @!attribute email_notification_language
93
- # The language used for the notification email content. One of "en" or "fr".
94
- #
95
- # @return [Symbol, Revox::Models::AssistantListResponse::Assistant::EmailNotificationLanguage]
96
- required :email_notification_language,
97
- enum: -> { Revox::Models::AssistantListResponse::Assistant::EmailNotificationLanguage }
98
-
99
92
  # @!attribute email_notification_outcomes
100
93
  # Which call outcomes trigger an email notification. E.g. ["interested",
101
94
  # "completed", "none"]. Use "none" when outcome is null.
@@ -135,8 +128,8 @@ module Revox
135
128
  required :from_phone_number, String, nil?: true
136
129
 
137
130
  # @!attribute human_transfer_mode
138
- # Warm or cold transfer when transfer_phone_number is set; null when transfer is
139
- # not configured.
131
+ # Warm or cold transfer when transfer_destinations is non-empty; null when
132
+ # transfer is not configured.
140
133
  #
141
134
  # @return [Symbol, Revox::Models::AssistantListResponse::Assistant::HumanTransferMode, nil]
142
135
  required :human_transfer_mode,
@@ -192,6 +185,13 @@ module Revox
192
185
  # @return [Revox::Models::AssistantListResponse::Assistant::Position, nil]
193
186
  required :position, -> { Revox::Models::AssistantListResponse::Assistant::Position }, nil?: true
194
187
 
188
+ # @!attribute precall_lookup_url
189
+ # URL fetched before an inbound call is answered to resolve the assistant's prompt
190
+ # variables. Null when no lookup is configured.
191
+ #
192
+ # @return [String, nil]
193
+ required :precall_lookup_url, String, nil?: true
194
+
195
195
  # @!attribute prompt
196
196
  #
197
197
  # @return [String]
@@ -275,11 +275,14 @@ module Revox
275
275
  # @return [Float]
276
276
  required :thinking_sound_volume, Float
277
277
 
278
- # @!attribute transfer_phone_number
279
- # Phone number to transfer calls to when users request to speak to a human agent.
278
+ # @!attribute transfer_destinations
279
+ # Where calls can be transferred to when users ask to speak to a human. Null or
280
+ # empty when transfer is not configured.
280
281
  #
281
- # @return [String, nil]
282
- required :transfer_phone_number, String, nil?: true
282
+ # @return [Array<Revox::Models::AssistantListResponse::Assistant::TransferDestination>, nil]
283
+ required :transfer_destinations,
284
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantListResponse::Assistant::TransferDestination] },
285
+ nil?: true
283
286
 
284
287
  # @!attribute type
285
288
  #
@@ -340,6 +343,11 @@ module Revox
340
343
  optional :faq_items,
341
344
  -> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantListResponse::Assistant::FaqItem] }
342
345
 
346
+ # @!attribute is_inbound_receptionist
347
+ #
348
+ # @return [Boolean, nil]
349
+ optional :is_inbound_receptionist, Revox::Internal::Type::Boolean
350
+
343
351
  # @!attribute is_realestate_assistant
344
352
  #
345
353
  # @return [Boolean, nil]
@@ -350,7 +358,7 @@ module Revox
350
358
  # @return [Float, nil]
351
359
  optional :pending_faq_count, Float
352
360
 
353
- # @!method initialize(id:, after_call_sms_outcomes:, after_call_sms_prompt:, background_sound:, background_sound_volume:, calendly:, call_retry_config:, cartesia_dictionary_pronunciation_id:, created_at:, custom_tools:, email_notification_address:, email_notification_language:, email_notification_outcomes:, end_of_call_sentence:, first_sentence:, first_sentence_delay_ms:, first_sentence_mode:, from_phone_number:, human_transfer_mode:, ivr_navigation_enabled:, llm_model:, logo_url:, max_call_duration_secs:, max_duration_end_message:, name:, organization_id:, position:, prompt:, prompt_flow:, slack:, sms_enabled:, sms_template:, structured_output_config:, structured_output_prompt:, stt_context:, stt_model:, thinking_sound:, thinking_sound_probability:, thinking_sound_volume:, transfer_phone_number:, type:, updated_at:, voice:, voicemail_message:, voicemail_sms_prompt:, warm_transfer_summary_instructions:, webhook_url:, zoho:, created_by: nil, faq_items: nil, is_realestate_assistant: nil, pending_faq_count: nil)
361
+ # @!method initialize(id:, after_call_sms_outcomes:, after_call_sms_prompt:, background_sound:, background_sound_volume:, calendly:, call_retry_config:, cartesia_dictionary_pronunciation_id:, created_at:, custom_tools:, email_notification_address:, email_notification_outcomes:, end_of_call_sentence:, first_sentence:, first_sentence_delay_ms:, first_sentence_mode:, from_phone_number:, human_transfer_mode:, ivr_navigation_enabled:, llm_model:, logo_url:, max_call_duration_secs:, max_duration_end_message:, name:, organization_id:, position:, precall_lookup_url:, prompt:, prompt_flow:, slack:, sms_enabled:, sms_template:, structured_output_config:, structured_output_prompt:, stt_context:, stt_model:, thinking_sound:, thinking_sound_probability:, thinking_sound_volume:, transfer_destinations:, type:, updated_at:, voice:, voicemail_message:, voicemail_sms_prompt:, warm_transfer_summary_instructions:, webhook_url:, zoho:, created_by: nil, faq_items: nil, is_inbound_receptionist: nil, is_realestate_assistant: nil, pending_faq_count: nil)
354
362
  # Some parameter documentations has been truncated, see
355
363
  # {Revox::Models::AssistantListResponse::Assistant} for more details.
356
364
  #
@@ -376,8 +384,6 @@ module Revox
376
384
  #
377
385
  # @param email_notification_address [String, nil] Email address(es) to receive notifications when a call ends with a matching outc
378
386
  #
379
- # @param email_notification_language [Symbol, Revox::Models::AssistantListResponse::Assistant::EmailNotificationLanguage] The language used for the notification email content. One of "en" or "fr".
380
- #
381
387
  # @param email_notification_outcomes [Array<Symbol, Revox::Models::AssistantListResponse::Assistant::EmailNotificationOutcome>, nil] Which call outcomes trigger an email notification. E.g. ["interested", "complete
382
388
  #
383
389
  # @param end_of_call_sentence [String, nil]
@@ -390,7 +396,7 @@ module Revox
390
396
  #
391
397
  # @param from_phone_number [String, nil] Override the default outbound phone number for calls placed with this assistant.
392
398
  #
393
- # @param human_transfer_mode [Symbol, Revox::Models::AssistantListResponse::Assistant::HumanTransferMode, nil] Warm or cold transfer when transfer_phone_number is set; null when transfer is n
399
+ # @param human_transfer_mode [Symbol, Revox::Models::AssistantListResponse::Assistant::HumanTransferMode, nil] Warm or cold transfer when transfer_destinations is non-empty; null when transfe
394
400
  #
395
401
  # @param ivr_navigation_enabled [Boolean] Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
396
402
  #
@@ -408,6 +414,8 @@ module Revox
408
414
  #
409
415
  # @param position [Revox::Models::AssistantListResponse::Assistant::Position, nil]
410
416
  #
417
+ # @param precall_lookup_url [String, nil] URL fetched before an inbound call is answered to resolve the assistant's prompt
418
+ #
411
419
  # @param prompt [String]
412
420
  #
413
421
  # @param prompt_flow [Revox::Models::AssistantListResponse::Assistant::PromptFlow, nil]
@@ -432,7 +440,7 @@ module Revox
432
440
  #
433
441
  # @param thinking_sound_volume [Float] Volume of the thinking sound (0 = silent, 1 = max).
434
442
  #
435
- # @param transfer_phone_number [String, nil] Phone number to transfer calls to when users request to speak to a human agent.
443
+ # @param transfer_destinations [Array<Revox::Models::AssistantListResponse::Assistant::TransferDestination>, nil] Where calls can be transferred to when users ask to speak to a human. Null or em
436
444
  #
437
445
  # @param type [Symbol, Revox::Models::AssistantListResponse::Assistant::Type]
438
446
  #
@@ -454,6 +462,8 @@ module Revox
454
462
  #
455
463
  # @param faq_items [Array<Revox::Models::AssistantListResponse::Assistant::FaqItem>]
456
464
  #
465
+ # @param is_inbound_receptionist [Boolean]
466
+ #
457
467
  # @param is_realestate_assistant [Boolean]
458
468
  #
459
469
  # @param pending_faq_count [Float]
@@ -465,9 +475,6 @@ module Revox
465
475
  INTERESTED = :interested
466
476
  COMPLETED = :completed
467
477
  REQUESTED_CALLBACK_LATER = :requested_callback_later
468
- REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
469
- DO_NOT_CONTACT = :do_not_contact
470
- AI_AVERSE = :ai_averse
471
478
  NONE = :none
472
479
 
473
480
  # @!method self.values
@@ -600,7 +607,8 @@ module Revox
600
607
  required :calling_window_start_time, String
601
608
 
602
609
  # @!attribute retry_delay_seconds
603
- # Delay between retry attempts in seconds. Default: 7200 (2 hours).
610
+ # Delay between retry attempts in seconds. 0 retries as soon as the calling window
611
+ # allows. Default: 7200 (2 hours).
604
612
  #
605
613
  # @return [Integer]
606
614
  required :retry_delay_seconds, Integer
@@ -614,7 +622,7 @@ module Revox
614
622
  #
615
623
  # @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
616
624
  #
617
- # @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
625
+ # @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. 0 retries as soon as the calling window
618
626
  end
619
627
  end
620
628
 
@@ -796,19 +804,6 @@ module Revox
796
804
  end
797
805
  end
798
806
 
799
- # The language used for the notification email content. One of "en" or "fr".
800
- #
801
- # @see Revox::Models::AssistantListResponse::Assistant#email_notification_language
802
- module EmailNotificationLanguage
803
- extend Revox::Internal::Type::Enum
804
-
805
- EN = :en
806
- FR = :fr
807
-
808
- # @!method self.values
809
- # @return [Array<Symbol>]
810
- end
811
-
812
807
  module EmailNotificationOutcome
813
808
  extend Revox::Internal::Type::Enum
814
809
 
@@ -816,9 +811,6 @@ module Revox
816
811
  INTERESTED = :interested
817
812
  COMPLETED = :completed
818
813
  REQUESTED_CALLBACK_LATER = :requested_callback_later
819
- REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
820
- DO_NOT_CONTACT = :do_not_contact
821
- AI_AVERSE = :ai_averse
822
814
  NONE = :none
823
815
 
824
816
  # @!method self.values
@@ -837,8 +829,8 @@ module Revox
837
829
  # @return [Array<Symbol>]
838
830
  end
839
831
 
840
- # Warm or cold transfer when transfer_phone_number is set; null when transfer is
841
- # not configured.
832
+ # Warm or cold transfer when transfer_destinations is non-empty; null when
833
+ # transfer is not configured.
842
834
  #
843
835
  # @see Revox::Models::AssistantListResponse::Assistant#human_transfer_mode
844
836
  module HumanTransferMode
@@ -1127,11 +1119,14 @@ module Revox
1127
1119
 
1128
1120
  # @see Revox::Models::AssistantListResponse::Assistant#slack
1129
1121
  class Slack < Revox::Internal::Type::BaseModel
1130
- # @!attribute channel_id
1131
- # The Slack channel ID where the notification will be posted.
1122
+ # @!attribute channels
1123
+ # The Slack channels eligible to receive the notification. When more than one is
1124
+ # configured, the agent prompt may define routing rules to narrow it down per
1125
+ # call; with no such rules every channel here is notified.
1132
1126
  #
1133
- # @return [String]
1134
- required :channel_id, String
1127
+ # @return [Array<Revox::Models::AssistantListResponse::Assistant::Slack::Channel>]
1128
+ required :channels,
1129
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantListResponse::Assistant::Slack::Channel] }
1135
1130
 
1136
1131
  # @!attribute connection_id
1137
1132
  # The Nango connection ID linking the org's Slack workspace to Revox.
@@ -1147,37 +1142,53 @@ module Revox
1147
1142
  required :outcomes,
1148
1143
  -> { Revox::Internal::Type::ArrayOf[enum: Revox::Models::AssistantListResponse::Assistant::Slack::Outcome] }
1149
1144
 
1150
- # @!attribute channel_name
1151
- # Human-readable Slack channel name, cached for display in the UI.
1152
- #
1153
- # @return [String, nil]
1154
- optional :channel_name, String, nil?: true
1155
-
1156
1145
  # @!attribute template
1157
1146
  # Optional message template. Supports {{summary}}, {{outcome}}, {{phone}},
1158
1147
  # {{call_url}}, {{assistant_name}}, {{campaign_name}}, {{first_name}},
1159
- # {{last_name}}, {{email}}, {{company}}, {{contact_name}}, {{contact_line}}, plus
1160
- # prompt_variables and structured_output keys. When null/empty a default template
1161
- # is used.
1148
+ # {{last_name}}, {{email}}, {{company}}, {{job_title}}, {{contact_name}},
1149
+ # {{contact_line}}, plus prompt_variables and structured_output keys. When
1150
+ # null/empty a default template is used.
1162
1151
  #
1163
1152
  # @return [String, nil]
1164
1153
  optional :template, String, nil?: true
1165
1154
 
1166
- # @!method initialize(channel_id:, connection_id:, outcomes:, channel_name: nil, template: nil)
1155
+ # @!method initialize(channels:, connection_id:, outcomes:, template: nil)
1167
1156
  # Some parameter documentations has been truncated, see
1168
1157
  # {Revox::Models::AssistantListResponse::Assistant::Slack} for more details.
1169
1158
  #
1170
- # @param channel_id [String] The Slack channel ID where the notification will be posted.
1159
+ # @param channels [Array<Revox::Models::AssistantListResponse::Assistant::Slack::Channel>] The Slack channels eligible to receive the notification. When more than one is c
1171
1160
  #
1172
1161
  # @param connection_id [String] The Nango connection ID linking the org's Slack workspace to Revox.
1173
1162
  #
1174
1163
  # @param outcomes [Array<Symbol, Revox::Models::AssistantListResponse::Assistant::Slack::Outcome>] Which call outcomes trigger a Slack notification (e.g. ['interested', 'none']).
1175
1164
  #
1176
- # @param channel_name [String, nil] Human-readable Slack channel name, cached for display in the UI.
1177
- #
1178
1165
  # @param template [String, nil] Optional message template. Supports {{summary}}, {{outcome}}, {{phone}},
1179
1166
  # {{call\_
1180
1167
 
1168
+ class Channel < Revox::Internal::Type::BaseModel
1169
+ # @!attribute id
1170
+ # The Slack channel ID (e.g. 'C01234567').
1171
+ #
1172
+ # @return [String]
1173
+ required :id, String
1174
+
1175
+ # @!attribute name
1176
+ # Human-readable Slack channel name, cached for display in the UI and given to the
1177
+ # LLM when the agent prompt routes by channel name.
1178
+ #
1179
+ # @return [String, nil]
1180
+ optional :name, String, nil?: true
1181
+
1182
+ # @!method initialize(id:, name: nil)
1183
+ # Some parameter documentations has been truncated, see
1184
+ # {Revox::Models::AssistantListResponse::Assistant::Slack::Channel} for more
1185
+ # details.
1186
+ #
1187
+ # @param id [String] The Slack channel ID (e.g. 'C01234567').
1188
+ #
1189
+ # @param name [String, nil] Human-readable Slack channel name, cached for display in the UI and given to the
1190
+ end
1191
+
1181
1192
  module Outcome
1182
1193
  extend Revox::Internal::Type::Enum
1183
1194
 
@@ -1185,9 +1196,6 @@ module Revox
1185
1196
  INTERESTED = :interested
1186
1197
  COMPLETED = :completed
1187
1198
  REQUESTED_CALLBACK_LATER = :requested_callback_later
1188
- REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
1189
- DO_NOT_CONTACT = :do_not_contact
1190
- AI_AVERSE = :ai_averse
1191
1199
  NONE = :none
1192
1200
 
1193
1201
  # @!method self.values
@@ -1314,6 +1322,22 @@ module Revox
1314
1322
  # @return [Array<Symbol>]
1315
1323
  end
1316
1324
 
1325
+ class TransferDestination < Revox::Internal::Type::BaseModel
1326
+ # @!attribute label
1327
+ #
1328
+ # @return [String]
1329
+ required :label, String
1330
+
1331
+ # @!attribute phone_number
1332
+ #
1333
+ # @return [String]
1334
+ required :phone_number, String
1335
+
1336
+ # @!method initialize(label:, phone_number:)
1337
+ # @param label [String]
1338
+ # @param phone_number [String]
1339
+ end
1340
+
1317
1341
  # @see Revox::Models::AssistantListResponse::Assistant#type
1318
1342
  module Type
1319
1343
  extend Revox::Internal::Type::Enum
@@ -1349,7 +1373,7 @@ module Revox
1349
1373
 
1350
1374
  # @!attribute speed
1351
1375
  # The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
1352
- # 0.7–1.2. Default is 1.0.
1376
+ # 0.7–1.2, Gradium 0.6–1.5. Default is 1.0.
1353
1377
  #
1354
1378
  # @return [Float, nil]
1355
1379
  optional :speed, Float
@@ -1383,6 +1407,7 @@ module Revox
1383
1407
 
1384
1408
  CARTESIA = :cartesia
1385
1409
  ELEVENLABS = :elevenlabs
1410
+ GRADIUM = :gradium
1386
1411
 
1387
1412
  # @!method self.values
1388
1413
  # @return [Array<Symbol>]
@@ -1497,9 +1522,6 @@ module Revox
1497
1522
  INTERESTED = :interested
1498
1523
  COMPLETED = :completed
1499
1524
  REQUESTED_CALLBACK_LATER = :requested_callback_later
1500
- REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
1501
- DO_NOT_CONTACT = :do_not_contact
1502
- AI_AVERSE = :ai_averse
1503
1525
  NONE = :none
1504
1526
 
1505
1527
  # @!method self.values
@@ -77,13 +77,6 @@ module Revox
77
77
  # @return [String, nil]
78
78
  required :email_notification_address, String, nil?: true
79
79
 
80
- # @!attribute email_notification_language
81
- # The language used for the notification email content. One of "en" or "fr".
82
- #
83
- # @return [Symbol, Revox::Models::AssistantRetrieveResponse::EmailNotificationLanguage]
84
- required :email_notification_language,
85
- enum: -> { Revox::Models::AssistantRetrieveResponse::EmailNotificationLanguage }
86
-
87
80
  # @!attribute email_notification_outcomes
88
81
  # Which call outcomes trigger an email notification. E.g. ["interested",
89
82
  # "completed", "none"]. Use "none" when outcome is null.
@@ -122,8 +115,8 @@ module Revox
122
115
  required :from_phone_number, String, nil?: true
123
116
 
124
117
  # @!attribute human_transfer_mode
125
- # Warm or cold transfer when transfer_phone_number is set; null when transfer is
126
- # not configured.
118
+ # Warm or cold transfer when transfer_destinations is non-empty; null when
119
+ # transfer is not configured.
127
120
  #
128
121
  # @return [Symbol, Revox::Models::AssistantRetrieveResponse::HumanTransferMode, nil]
129
122
  required :human_transfer_mode,
@@ -179,6 +172,13 @@ module Revox
179
172
  # @return [Revox::Models::AssistantRetrieveResponse::Position, nil]
180
173
  required :position, -> { Revox::Models::AssistantRetrieveResponse::Position }, nil?: true
181
174
 
175
+ # @!attribute precall_lookup_url
176
+ # URL fetched before an inbound call is answered to resolve the assistant's prompt
177
+ # variables. Null when no lookup is configured.
178
+ #
179
+ # @return [String, nil]
180
+ required :precall_lookup_url, String, nil?: true
181
+
182
182
  # @!attribute prompt
183
183
  #
184
184
  # @return [String]
@@ -260,11 +260,14 @@ module Revox
260
260
  # @return [Float]
261
261
  required :thinking_sound_volume, Float
262
262
 
263
- # @!attribute transfer_phone_number
264
- # Phone number to transfer calls to when users request to speak to a human agent.
263
+ # @!attribute transfer_destinations
264
+ # Where calls can be transferred to when users ask to speak to a human. Null or
265
+ # empty when transfer is not configured.
265
266
  #
266
- # @return [String, nil]
267
- required :transfer_phone_number, String, nil?: true
267
+ # @return [Array<Revox::Models::AssistantRetrieveResponse::TransferDestination>, nil]
268
+ required :transfer_destinations,
269
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantRetrieveResponse::TransferDestination] },
270
+ nil?: true
268
271
 
269
272
  # @!attribute type
270
273
  #
@@ -325,6 +328,11 @@ module Revox
325
328
  optional :faq_items,
326
329
  -> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantRetrieveResponse::FaqItem] }
327
330
 
331
+ # @!attribute is_inbound_receptionist
332
+ #
333
+ # @return [Boolean, nil]
334
+ optional :is_inbound_receptionist, Revox::Internal::Type::Boolean
335
+
328
336
  # @!attribute is_realestate_assistant
329
337
  #
330
338
  # @return [Boolean, nil]
@@ -335,7 +343,7 @@ module Revox
335
343
  # @return [Float, nil]
336
344
  optional :pending_faq_count, Float
337
345
 
338
- # @!method initialize(id:, after_call_sms_outcomes:, after_call_sms_prompt:, background_sound:, background_sound_volume:, calendly:, call_retry_config:, cartesia_dictionary_pronunciation_id:, created_at:, custom_tools:, email_notification_address:, email_notification_language:, email_notification_outcomes:, end_of_call_sentence:, first_sentence:, first_sentence_delay_ms:, first_sentence_mode:, from_phone_number:, human_transfer_mode:, ivr_navigation_enabled:, llm_model:, logo_url:, max_call_duration_secs:, max_duration_end_message:, name:, organization_id:, position:, prompt:, prompt_flow:, slack:, sms_enabled:, sms_template:, structured_output_config:, structured_output_prompt:, stt_context:, stt_model:, thinking_sound:, thinking_sound_probability:, thinking_sound_volume:, transfer_phone_number:, type:, updated_at:, voice:, voicemail_message:, voicemail_sms_prompt:, warm_transfer_summary_instructions:, webhook_url:, zoho:, created_by: nil, faq_items: nil, is_realestate_assistant: nil, pending_faq_count: nil)
346
+ # @!method initialize(id:, after_call_sms_outcomes:, after_call_sms_prompt:, background_sound:, background_sound_volume:, calendly:, call_retry_config:, cartesia_dictionary_pronunciation_id:, created_at:, custom_tools:, email_notification_address:, email_notification_outcomes:, end_of_call_sentence:, first_sentence:, first_sentence_delay_ms:, first_sentence_mode:, from_phone_number:, human_transfer_mode:, ivr_navigation_enabled:, llm_model:, logo_url:, max_call_duration_secs:, max_duration_end_message:, name:, organization_id:, position:, precall_lookup_url:, prompt:, prompt_flow:, slack:, sms_enabled:, sms_template:, structured_output_config:, structured_output_prompt:, stt_context:, stt_model:, thinking_sound:, thinking_sound_probability:, thinking_sound_volume:, transfer_destinations:, type:, updated_at:, voice:, voicemail_message:, voicemail_sms_prompt:, warm_transfer_summary_instructions:, webhook_url:, zoho:, created_by: nil, faq_items: nil, is_inbound_receptionist: nil, is_realestate_assistant: nil, pending_faq_count: nil)
339
347
  # Some parameter documentations has been truncated, see
340
348
  # {Revox::Models::AssistantRetrieveResponse} for more details.
341
349
  #
@@ -361,8 +369,6 @@ module Revox
361
369
  #
362
370
  # @param email_notification_address [String, nil] Email address(es) to receive notifications when a call ends with a matching outc
363
371
  #
364
- # @param email_notification_language [Symbol, Revox::Models::AssistantRetrieveResponse::EmailNotificationLanguage] The language used for the notification email content. One of "en" or "fr".
365
- #
366
372
  # @param email_notification_outcomes [Array<Symbol, Revox::Models::AssistantRetrieveResponse::EmailNotificationOutcome>, nil] Which call outcomes trigger an email notification. E.g. ["interested", "complete
367
373
  #
368
374
  # @param end_of_call_sentence [String, nil]
@@ -375,7 +381,7 @@ module Revox
375
381
  #
376
382
  # @param from_phone_number [String, nil] Override the default outbound phone number for calls placed with this assistant.
377
383
  #
378
- # @param human_transfer_mode [Symbol, Revox::Models::AssistantRetrieveResponse::HumanTransferMode, nil] Warm or cold transfer when transfer_phone_number is set; null when transfer is n
384
+ # @param human_transfer_mode [Symbol, Revox::Models::AssistantRetrieveResponse::HumanTransferMode, nil] Warm or cold transfer when transfer_destinations is non-empty; null when transfe
379
385
  #
380
386
  # @param ivr_navigation_enabled [Boolean] Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
381
387
  #
@@ -393,6 +399,8 @@ module Revox
393
399
  #
394
400
  # @param position [Revox::Models::AssistantRetrieveResponse::Position, nil]
395
401
  #
402
+ # @param precall_lookup_url [String, nil] URL fetched before an inbound call is answered to resolve the assistant's prompt
403
+ #
396
404
  # @param prompt [String]
397
405
  #
398
406
  # @param prompt_flow [Revox::Models::AssistantRetrieveResponse::PromptFlow, nil]
@@ -417,7 +425,7 @@ module Revox
417
425
  #
418
426
  # @param thinking_sound_volume [Float] Volume of the thinking sound (0 = silent, 1 = max).
419
427
  #
420
- # @param transfer_phone_number [String, nil] Phone number to transfer calls to when users request to speak to a human agent.
428
+ # @param transfer_destinations [Array<Revox::Models::AssistantRetrieveResponse::TransferDestination>, nil] Where calls can be transferred to when users ask to speak to a human. Null or em
421
429
  #
422
430
  # @param type [Symbol, Revox::Models::AssistantRetrieveResponse::Type]
423
431
  #
@@ -439,6 +447,8 @@ module Revox
439
447
  #
440
448
  # @param faq_items [Array<Revox::Models::AssistantRetrieveResponse::FaqItem>]
441
449
  #
450
+ # @param is_inbound_receptionist [Boolean]
451
+ #
442
452
  # @param is_realestate_assistant [Boolean]
443
453
  #
444
454
  # @param pending_faq_count [Float]
@@ -450,9 +460,6 @@ module Revox
450
460
  INTERESTED = :interested
451
461
  COMPLETED = :completed
452
462
  REQUESTED_CALLBACK_LATER = :requested_callback_later
453
- REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
454
- DO_NOT_CONTACT = :do_not_contact
455
- AI_AVERSE = :ai_averse
456
463
  NONE = :none
457
464
 
458
465
  # @!method self.values
@@ -584,7 +591,8 @@ module Revox
584
591
  required :calling_window_start_time, String
585
592
 
586
593
  # @!attribute retry_delay_seconds
587
- # Delay between retry attempts in seconds. Default: 7200 (2 hours).
594
+ # Delay between retry attempts in seconds. 0 retries as soon as the calling window
595
+ # allows. Default: 7200 (2 hours).
588
596
  #
589
597
  # @return [Integer]
590
598
  required :retry_delay_seconds, Integer
@@ -598,7 +606,7 @@ module Revox
598
606
  #
599
607
  # @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
600
608
  #
601
- # @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
609
+ # @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. 0 retries as soon as the calling window
602
610
  end
603
611
  end
604
612
 
@@ -779,19 +787,6 @@ module Revox
779
787
  end
780
788
  end
781
789
 
782
- # The language used for the notification email content. One of "en" or "fr".
783
- #
784
- # @see Revox::Models::AssistantRetrieveResponse#email_notification_language
785
- module EmailNotificationLanguage
786
- extend Revox::Internal::Type::Enum
787
-
788
- EN = :en
789
- FR = :fr
790
-
791
- # @!method self.values
792
- # @return [Array<Symbol>]
793
- end
794
-
795
790
  module EmailNotificationOutcome
796
791
  extend Revox::Internal::Type::Enum
797
792
 
@@ -799,9 +794,6 @@ module Revox
799
794
  INTERESTED = :interested
800
795
  COMPLETED = :completed
801
796
  REQUESTED_CALLBACK_LATER = :requested_callback_later
802
- REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
803
- DO_NOT_CONTACT = :do_not_contact
804
- AI_AVERSE = :ai_averse
805
797
  NONE = :none
806
798
 
807
799
  # @!method self.values
@@ -820,8 +812,8 @@ module Revox
820
812
  # @return [Array<Symbol>]
821
813
  end
822
814
 
823
- # Warm or cold transfer when transfer_phone_number is set; null when transfer is
824
- # not configured.
815
+ # Warm or cold transfer when transfer_destinations is non-empty; null when
816
+ # transfer is not configured.
825
817
  #
826
818
  # @see Revox::Models::AssistantRetrieveResponse#human_transfer_mode
827
819
  module HumanTransferMode
@@ -1110,11 +1102,14 @@ module Revox
1110
1102
 
1111
1103
  # @see Revox::Models::AssistantRetrieveResponse#slack
1112
1104
  class Slack < Revox::Internal::Type::BaseModel
1113
- # @!attribute channel_id
1114
- # The Slack channel ID where the notification will be posted.
1105
+ # @!attribute channels
1106
+ # The Slack channels eligible to receive the notification. When more than one is
1107
+ # configured, the agent prompt may define routing rules to narrow it down per
1108
+ # call; with no such rules every channel here is notified.
1115
1109
  #
1116
- # @return [String]
1117
- required :channel_id, String
1110
+ # @return [Array<Revox::Models::AssistantRetrieveResponse::Slack::Channel>]
1111
+ required :channels,
1112
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantRetrieveResponse::Slack::Channel] }
1118
1113
 
1119
1114
  # @!attribute connection_id
1120
1115
  # The Nango connection ID linking the org's Slack workspace to Revox.
@@ -1130,37 +1125,52 @@ module Revox
1130
1125
  required :outcomes,
1131
1126
  -> { Revox::Internal::Type::ArrayOf[enum: Revox::Models::AssistantRetrieveResponse::Slack::Outcome] }
1132
1127
 
1133
- # @!attribute channel_name
1134
- # Human-readable Slack channel name, cached for display in the UI.
1135
- #
1136
- # @return [String, nil]
1137
- optional :channel_name, String, nil?: true
1138
-
1139
1128
  # @!attribute template
1140
1129
  # Optional message template. Supports {{summary}}, {{outcome}}, {{phone}},
1141
1130
  # {{call_url}}, {{assistant_name}}, {{campaign_name}}, {{first_name}},
1142
- # {{last_name}}, {{email}}, {{company}}, {{contact_name}}, {{contact_line}}, plus
1143
- # prompt_variables and structured_output keys. When null/empty a default template
1144
- # is used.
1131
+ # {{last_name}}, {{email}}, {{company}}, {{job_title}}, {{contact_name}},
1132
+ # {{contact_line}}, plus prompt_variables and structured_output keys. When
1133
+ # null/empty a default template is used.
1145
1134
  #
1146
1135
  # @return [String, nil]
1147
1136
  optional :template, String, nil?: true
1148
1137
 
1149
- # @!method initialize(channel_id:, connection_id:, outcomes:, channel_name: nil, template: nil)
1138
+ # @!method initialize(channels:, connection_id:, outcomes:, template: nil)
1150
1139
  # Some parameter documentations has been truncated, see
1151
1140
  # {Revox::Models::AssistantRetrieveResponse::Slack} for more details.
1152
1141
  #
1153
- # @param channel_id [String] The Slack channel ID where the notification will be posted.
1142
+ # @param channels [Array<Revox::Models::AssistantRetrieveResponse::Slack::Channel>] The Slack channels eligible to receive the notification. When more than one is c
1154
1143
  #
1155
1144
  # @param connection_id [String] The Nango connection ID linking the org's Slack workspace to Revox.
1156
1145
  #
1157
1146
  # @param outcomes [Array<Symbol, Revox::Models::AssistantRetrieveResponse::Slack::Outcome>] Which call outcomes trigger a Slack notification (e.g. ['interested', 'none']).
1158
1147
  #
1159
- # @param channel_name [String, nil] Human-readable Slack channel name, cached for display in the UI.
1160
- #
1161
1148
  # @param template [String, nil] Optional message template. Supports {{summary}}, {{outcome}}, {{phone}},
1162
1149
  # {{call\_
1163
1150
 
1151
+ class Channel < Revox::Internal::Type::BaseModel
1152
+ # @!attribute id
1153
+ # The Slack channel ID (e.g. 'C01234567').
1154
+ #
1155
+ # @return [String]
1156
+ required :id, String
1157
+
1158
+ # @!attribute name
1159
+ # Human-readable Slack channel name, cached for display in the UI and given to the
1160
+ # LLM when the agent prompt routes by channel name.
1161
+ #
1162
+ # @return [String, nil]
1163
+ optional :name, String, nil?: true
1164
+
1165
+ # @!method initialize(id:, name: nil)
1166
+ # Some parameter documentations has been truncated, see
1167
+ # {Revox::Models::AssistantRetrieveResponse::Slack::Channel} for more details.
1168
+ #
1169
+ # @param id [String] The Slack channel ID (e.g. 'C01234567').
1170
+ #
1171
+ # @param name [String, nil] Human-readable Slack channel name, cached for display in the UI and given to the
1172
+ end
1173
+
1164
1174
  module Outcome
1165
1175
  extend Revox::Internal::Type::Enum
1166
1176
 
@@ -1168,9 +1178,6 @@ module Revox
1168
1178
  INTERESTED = :interested
1169
1179
  COMPLETED = :completed
1170
1180
  REQUESTED_CALLBACK_LATER = :requested_callback_later
1171
- REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
1172
- DO_NOT_CONTACT = :do_not_contact
1173
- AI_AVERSE = :ai_averse
1174
1181
  NONE = :none
1175
1182
 
1176
1183
  # @!method self.values
@@ -1297,6 +1304,22 @@ module Revox
1297
1304
  # @return [Array<Symbol>]
1298
1305
  end
1299
1306
 
1307
+ class TransferDestination < Revox::Internal::Type::BaseModel
1308
+ # @!attribute label
1309
+ #
1310
+ # @return [String]
1311
+ required :label, String
1312
+
1313
+ # @!attribute phone_number
1314
+ #
1315
+ # @return [String]
1316
+ required :phone_number, String
1317
+
1318
+ # @!method initialize(label:, phone_number:)
1319
+ # @param label [String]
1320
+ # @param phone_number [String]
1321
+ end
1322
+
1300
1323
  # @see Revox::Models::AssistantRetrieveResponse#type
1301
1324
  module Type
1302
1325
  extend Revox::Internal::Type::Enum
@@ -1332,7 +1355,7 @@ module Revox
1332
1355
 
1333
1356
  # @!attribute speed
1334
1357
  # The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
1335
- # 0.7–1.2. Default is 1.0.
1358
+ # 0.7–1.2, Gradium 0.6–1.5. Default is 1.0.
1336
1359
  #
1337
1360
  # @return [Float, nil]
1338
1361
  optional :speed, Float
@@ -1366,6 +1389,7 @@ module Revox
1366
1389
 
1367
1390
  CARTESIA = :cartesia
1368
1391
  ELEVENLABS = :elevenlabs
1392
+ GRADIUM = :gradium
1369
1393
 
1370
1394
  # @!method self.values
1371
1395
  # @return [Array<Symbol>]
@@ -1479,9 +1503,6 @@ module Revox
1479
1503
  INTERESTED = :interested
1480
1504
  COMPLETED = :completed
1481
1505
  REQUESTED_CALLBACK_LATER = :requested_callback_later
1482
- REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
1483
- DO_NOT_CONTACT = :do_not_contact
1484
- AI_AVERSE = :ai_averse
1485
1506
  NONE = :none
1486
1507
 
1487
1508
  # @!method self.values