revox 0.3.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -0
- data/README.md +38 -38
- data/lib/revox/models/assistant_clone_response.rb +87 -65
- data/lib/revox/models/assistant_create_params.rb +90 -66
- data/lib/revox/models/assistant_create_response.rb +87 -65
- data/lib/revox/models/assistant_list_response.rb +87 -65
- data/lib/revox/models/assistant_retrieve_response.rb +86 -65
- data/lib/revox/models/assistant_update_params.rb +90 -66
- data/lib/revox/models/assistant_update_response.rb +87 -65
- data/lib/revox/models/call_create_params.rb +117 -90
- data/lib/revox/models/call_create_response.rb +670 -90
- data/lib/revox/models/call_export_params.rb +1 -3
- data/lib/revox/models/call_phone_history_response.rb +0 -3
- data/lib/revox/models/call_retrieve_response.rb +671 -90
- data/lib/revox/models/call_search_params.rb +1 -3
- data/lib/revox/models/call_search_response.rb +670 -90
- data/lib/revox/models/campaign_create_params.rb +7 -57
- data/lib/revox/models/campaign_create_response.rb +108 -119
- data/lib/revox/models/campaign_get_rows_response.rb +672 -90
- data/lib/revox/models/campaign_list_response.rb +108 -119
- data/lib/revox/models/campaign_retrieve_response.rb +108 -119
- data/lib/revox/models/campaign_statistics_response.rb +51 -23
- data/lib/revox/models/campaign_update_params.rb +9 -78
- data/lib/revox/models/campaign_update_response.rb +108 -119
- data/lib/revox/models/phone_number_list_response.rb +87 -65
- data/lib/revox/models/phone_number_update_response.rb +87 -65
- data/lib/revox/models/voice_list_response.rb +1 -0
- data/lib/revox/models/voice_preview_params.rb +1 -0
- data/lib/revox/models/voice_retrieve_params.rb +1 -0
- data/lib/revox/models.rb +0 -2
- data/lib/revox/resources/assistants.rb +10 -10
- data/lib/revox/resources/call.rb +4 -4
- data/lib/revox/resources/campaigns.rb +13 -45
- data/lib/revox/version.rb +1 -1
- data/lib/revox.rb +0 -2
- data/rbi/revox/models/assistant_clone_response.rbi +157 -147
- data/rbi/revox/models/assistant_create_params.rbi +148 -162
- data/rbi/revox/models/assistant_create_response.rbi +157 -147
- data/rbi/revox/models/assistant_list_response.rbi +157 -147
- data/rbi/revox/models/assistant_retrieve_response.rbi +153 -147
- data/rbi/revox/models/assistant_update_params.rbi +148 -162
- data/rbi/revox/models/assistant_update_response.rbi +157 -147
- data/rbi/revox/models/call_create_params.rbi +190 -187
- data/rbi/revox/models/call_create_response.rbi +1138 -227
- data/rbi/revox/models/call_export_params.rbi +5 -15
- data/rbi/revox/models/call_phone_history_response.rbi +0 -15
- data/rbi/revox/models/call_retrieve_response.rbi +1138 -227
- data/rbi/revox/models/call_search_params.rbi +2 -9
- data/rbi/revox/models/call_search_response.rbi +1138 -227
- data/rbi/revox/models/campaign_create_params.rbi +9 -87
- data/rbi/revox/models/campaign_create_response.rbi +188 -266
- data/rbi/revox/models/campaign_get_rows_response.rbi +1138 -225
- data/rbi/revox/models/campaign_list_response.rbi +188 -262
- data/rbi/revox/models/campaign_retrieve_response.rbi +188 -266
- data/rbi/revox/models/campaign_statistics_response.rbi +94 -36
- data/rbi/revox/models/campaign_update_params.rbi +10 -128
- data/rbi/revox/models/campaign_update_response.rbi +188 -266
- data/rbi/revox/models/phone_number_list_response.rbi +157 -147
- data/rbi/revox/models/phone_number_update_response.rbi +157 -147
- data/rbi/revox/models/voice_list_response.rbi +5 -0
- data/rbi/revox/models/voice_preview_params.rbi +2 -0
- data/rbi/revox/models/voice_retrieve_params.rbi +2 -0
- data/rbi/revox/models.rbi +0 -2
- data/rbi/revox/resources/assistants.rbi +40 -22
- data/rbi/revox/resources/call.rbi +7 -4
- data/rbi/revox/resources/campaigns.rbi +12 -44
- data/sig/revox/models/assistant_clone_response.rbs +46 -54
- data/sig/revox/models/assistant_create_params.rbs +39 -58
- data/sig/revox/models/assistant_create_response.rbs +46 -54
- data/sig/revox/models/assistant_list_response.rbs +46 -54
- data/sig/revox/models/assistant_retrieve_response.rbs +46 -54
- data/sig/revox/models/assistant_update_params.rbs +39 -58
- data/sig/revox/models/assistant_update_response.rbs +46 -54
- data/sig/revox/models/call_create_params.rbs +50 -71
- data/sig/revox/models/call_create_response.rbs +468 -77
- data/sig/revox/models/call_export_params.rbs +2 -6
- data/sig/revox/models/call_phone_history_response.rbs +1 -10
- data/sig/revox/models/call_retrieve_response.rbs +468 -77
- data/sig/revox/models/call_search_params.rbs +2 -6
- data/sig/revox/models/call_search_response.rbs +468 -77
- data/sig/revox/models/campaign_create_params.rbs +5 -50
- data/sig/revox/models/campaign_create_response.rbs +62 -98
- data/sig/revox/models/campaign_get_rows_response.rbs +467 -73
- data/sig/revox/models/campaign_list_response.rbs +62 -98
- data/sig/revox/models/campaign_retrieve_response.rbs +62 -98
- data/sig/revox/models/campaign_statistics_response.rbs +55 -24
- data/sig/revox/models/campaign_update_params.rbs +1 -69
- data/sig/revox/models/campaign_update_response.rbs +62 -98
- data/sig/revox/models/phone_number_list_response.rbs +46 -54
- data/sig/revox/models/phone_number_update_response.rbs +46 -54
- data/sig/revox/models/voice_list_response.rbs +2 -1
- data/sig/revox/models/voice_preview_params.rbs +2 -1
- data/sig/revox/models/voice_retrieve_params.rbs +2 -1
- data/sig/revox/models.rbs +0 -2
- data/sig/revox/resources/assistants.rbs +4 -4
- data/sig/revox/resources/call.rbs +1 -1
- data/sig/revox/resources/campaigns.rbs +0 -12
- metadata +2 -8
- data/lib/revox/models/campaign_launch_params.rb +0 -20
- data/lib/revox/models/campaign_launch_response.rb +0 -2030
- data/rbi/revox/models/campaign_launch_params.rbi +0 -33
- data/rbi/revox/models/campaign_launch_response.rbi +0 -4170
- data/sig/revox/models/campaign_launch_params.rbs +0 -20
- data/sig/revox/models/campaign_launch_response.rbs +0 -1694
|
@@ -142,14 +142,6 @@ module Revox
|
|
|
142
142
|
sig { returns(T.nilable(String)) }
|
|
143
143
|
attr_accessor :email_notification_address
|
|
144
144
|
|
|
145
|
-
# The language used for the notification email content. One of "en" or "fr".
|
|
146
|
-
sig do
|
|
147
|
-
returns(
|
|
148
|
-
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationLanguage::TaggedSymbol
|
|
149
|
-
)
|
|
150
|
-
end
|
|
151
|
-
attr_accessor :email_notification_language
|
|
152
|
-
|
|
153
145
|
# Which call outcomes trigger an email notification. E.g. ["interested",
|
|
154
146
|
# "completed", "none"]. Use "none" when outcome is null.
|
|
155
147
|
sig do
|
|
@@ -185,8 +177,8 @@ module Revox
|
|
|
185
177
|
sig { returns(T.nilable(String)) }
|
|
186
178
|
attr_accessor :from_phone_number
|
|
187
179
|
|
|
188
|
-
# Warm or cold transfer when
|
|
189
|
-
# not configured.
|
|
180
|
+
# Warm or cold transfer when transfer_destinations is non-empty; null when
|
|
181
|
+
# transfer is not configured.
|
|
190
182
|
sig do
|
|
191
183
|
returns(
|
|
192
184
|
T.nilable(
|
|
@@ -249,6 +241,11 @@ module Revox
|
|
|
249
241
|
end
|
|
250
242
|
attr_writer :position
|
|
251
243
|
|
|
244
|
+
# URL fetched before an inbound call is answered to resolve the assistant's prompt
|
|
245
|
+
# variables. Null when no lookup is configured.
|
|
246
|
+
sig { returns(T.nilable(String)) }
|
|
247
|
+
attr_accessor :precall_lookup_url
|
|
248
|
+
|
|
252
249
|
sig { returns(String) }
|
|
253
250
|
attr_accessor :prompt
|
|
254
251
|
|
|
@@ -368,9 +365,18 @@ module Revox
|
|
|
368
365
|
sig { returns(Float) }
|
|
369
366
|
attr_accessor :thinking_sound_volume
|
|
370
367
|
|
|
371
|
-
#
|
|
372
|
-
|
|
373
|
-
|
|
368
|
+
# Where calls can be transferred to when users ask to speak to a human. Null or
|
|
369
|
+
# empty when transfer is not configured.
|
|
370
|
+
sig do
|
|
371
|
+
returns(
|
|
372
|
+
T.nilable(
|
|
373
|
+
T::Array[
|
|
374
|
+
Revox::Models::AssistantCloneResponse::Assistant::TransferDestination
|
|
375
|
+
]
|
|
376
|
+
)
|
|
377
|
+
)
|
|
378
|
+
end
|
|
379
|
+
attr_accessor :transfer_destinations
|
|
374
380
|
|
|
375
381
|
sig do
|
|
376
382
|
returns(
|
|
@@ -476,6 +482,12 @@ module Revox
|
|
|
476
482
|
end
|
|
477
483
|
attr_writer :faq_items
|
|
478
484
|
|
|
485
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
486
|
+
attr_reader :is_inbound_receptionist
|
|
487
|
+
|
|
488
|
+
sig { params(is_inbound_receptionist: T::Boolean).void }
|
|
489
|
+
attr_writer :is_inbound_receptionist
|
|
490
|
+
|
|
479
491
|
sig { returns(T.nilable(T::Boolean)) }
|
|
480
492
|
attr_reader :is_realestate_assistant
|
|
481
493
|
|
|
@@ -520,8 +532,6 @@ module Revox
|
|
|
520
532
|
]
|
|
521
533
|
),
|
|
522
534
|
email_notification_address: T.nilable(String),
|
|
523
|
-
email_notification_language:
|
|
524
|
-
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationLanguage::OrSymbol,
|
|
525
535
|
email_notification_outcomes:
|
|
526
536
|
T.nilable(
|
|
527
537
|
T::Array[
|
|
@@ -555,6 +565,7 @@ module Revox
|
|
|
555
565
|
T.nilable(
|
|
556
566
|
Revox::Models::AssistantCloneResponse::Assistant::Position::OrHash
|
|
557
567
|
),
|
|
568
|
+
precall_lookup_url: T.nilable(String),
|
|
558
569
|
prompt: String,
|
|
559
570
|
prompt_flow:
|
|
560
571
|
T.nilable(
|
|
@@ -585,7 +596,12 @@ module Revox
|
|
|
585
596
|
),
|
|
586
597
|
thinking_sound_probability: Float,
|
|
587
598
|
thinking_sound_volume: Float,
|
|
588
|
-
|
|
599
|
+
transfer_destinations:
|
|
600
|
+
T.nilable(
|
|
601
|
+
T::Array[
|
|
602
|
+
Revox::Models::AssistantCloneResponse::Assistant::TransferDestination::OrHash
|
|
603
|
+
]
|
|
604
|
+
),
|
|
589
605
|
type:
|
|
590
606
|
Revox::Models::AssistantCloneResponse::Assistant::Type::OrSymbol,
|
|
591
607
|
updated_at: T.anything,
|
|
@@ -609,6 +625,7 @@ module Revox
|
|
|
609
625
|
T::Array[
|
|
610
626
|
Revox::Models::AssistantCloneResponse::Assistant::FaqItem::OrHash
|
|
611
627
|
],
|
|
628
|
+
is_inbound_receptionist: T::Boolean,
|
|
612
629
|
is_realestate_assistant: T::Boolean,
|
|
613
630
|
pending_faq_count: Float
|
|
614
631
|
).returns(T.attached_class)
|
|
@@ -637,8 +654,6 @@ module Revox
|
|
|
637
654
|
# outcome. Accepts a single email or a comma-separated list (e.g. "alice@x.com,
|
|
638
655
|
# bob@y.com").
|
|
639
656
|
email_notification_address:,
|
|
640
|
-
# The language used for the notification email content. One of "en" or "fr".
|
|
641
|
-
email_notification_language:,
|
|
642
657
|
# Which call outcomes trigger an email notification. E.g. ["interested",
|
|
643
658
|
# "completed", "none"]. Use "none" when outcome is null.
|
|
644
659
|
email_notification_outcomes:,
|
|
@@ -650,8 +665,8 @@ module Revox
|
|
|
650
665
|
# Override the default outbound phone number for calls placed with this assistant.
|
|
651
666
|
# When null, the organization's default phone number is used.
|
|
652
667
|
from_phone_number:,
|
|
653
|
-
# Warm or cold transfer when
|
|
654
|
-
# not configured.
|
|
668
|
+
# Warm or cold transfer when transfer_destinations is non-empty; null when
|
|
669
|
+
# transfer is not configured.
|
|
655
670
|
human_transfer_mode:,
|
|
656
671
|
# Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
657
672
|
# skip turns to navigate phone menus.
|
|
@@ -670,6 +685,9 @@ module Revox
|
|
|
670
685
|
name:,
|
|
671
686
|
organization_id:,
|
|
672
687
|
position:,
|
|
688
|
+
# URL fetched before an inbound call is answered to resolve the assistant's prompt
|
|
689
|
+
# variables. Null when no lookup is configured.
|
|
690
|
+
precall_lookup_url:,
|
|
673
691
|
prompt:,
|
|
674
692
|
prompt_flow:,
|
|
675
693
|
slack:,
|
|
@@ -701,8 +719,9 @@ module Revox
|
|
|
701
719
|
thinking_sound_probability:,
|
|
702
720
|
# Volume of the thinking sound (0 = silent, 1 = max).
|
|
703
721
|
thinking_sound_volume:,
|
|
704
|
-
#
|
|
705
|
-
|
|
722
|
+
# Where calls can be transferred to when users ask to speak to a human. Null or
|
|
723
|
+
# empty when transfer is not configured.
|
|
724
|
+
transfer_destinations:,
|
|
706
725
|
type:,
|
|
707
726
|
updated_at:,
|
|
708
727
|
voice:,
|
|
@@ -721,6 +740,7 @@ module Revox
|
|
|
721
740
|
# The user who created the assistant.
|
|
722
741
|
created_by: nil,
|
|
723
742
|
faq_items: nil,
|
|
743
|
+
is_inbound_receptionist: nil,
|
|
724
744
|
is_realestate_assistant: nil,
|
|
725
745
|
pending_faq_count: nil
|
|
726
746
|
)
|
|
@@ -759,8 +779,6 @@ module Revox
|
|
|
759
779
|
]
|
|
760
780
|
),
|
|
761
781
|
email_notification_address: T.nilable(String),
|
|
762
|
-
email_notification_language:
|
|
763
|
-
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationLanguage::TaggedSymbol,
|
|
764
782
|
email_notification_outcomes:
|
|
765
783
|
T.nilable(
|
|
766
784
|
T::Array[
|
|
@@ -789,6 +807,7 @@ module Revox
|
|
|
789
807
|
T.nilable(
|
|
790
808
|
Revox::Models::AssistantCloneResponse::Assistant::Position
|
|
791
809
|
),
|
|
810
|
+
precall_lookup_url: T.nilable(String),
|
|
792
811
|
prompt: String,
|
|
793
812
|
prompt_flow:
|
|
794
813
|
T.nilable(
|
|
@@ -819,7 +838,12 @@ module Revox
|
|
|
819
838
|
),
|
|
820
839
|
thinking_sound_probability: Float,
|
|
821
840
|
thinking_sound_volume: Float,
|
|
822
|
-
|
|
841
|
+
transfer_destinations:
|
|
842
|
+
T.nilable(
|
|
843
|
+
T::Array[
|
|
844
|
+
Revox::Models::AssistantCloneResponse::Assistant::TransferDestination
|
|
845
|
+
]
|
|
846
|
+
),
|
|
823
847
|
type:
|
|
824
848
|
Revox::Models::AssistantCloneResponse::Assistant::Type::TaggedSymbol,
|
|
825
849
|
updated_at: T.anything,
|
|
@@ -843,6 +867,7 @@ module Revox
|
|
|
843
867
|
T::Array[
|
|
844
868
|
Revox::Models::AssistantCloneResponse::Assistant::FaqItem
|
|
845
869
|
],
|
|
870
|
+
is_inbound_receptionist: T::Boolean,
|
|
846
871
|
is_realestate_assistant: T::Boolean,
|
|
847
872
|
pending_faq_count: Float
|
|
848
873
|
}
|
|
@@ -883,21 +908,6 @@ module Revox
|
|
|
883
908
|
:requested_callback_later,
|
|
884
909
|
Revox::Models::AssistantCloneResponse::Assistant::AfterCallSMSOutcome::TaggedSymbol
|
|
885
910
|
)
|
|
886
|
-
REQUESTED_CALLBACK_NEW_NUMBER =
|
|
887
|
-
T.let(
|
|
888
|
-
:requested_callback_new_number,
|
|
889
|
-
Revox::Models::AssistantCloneResponse::Assistant::AfterCallSMSOutcome::TaggedSymbol
|
|
890
|
-
)
|
|
891
|
-
DO_NOT_CONTACT =
|
|
892
|
-
T.let(
|
|
893
|
-
:do_not_contact,
|
|
894
|
-
Revox::Models::AssistantCloneResponse::Assistant::AfterCallSMSOutcome::TaggedSymbol
|
|
895
|
-
)
|
|
896
|
-
AI_AVERSE =
|
|
897
|
-
T.let(
|
|
898
|
-
:ai_averse,
|
|
899
|
-
Revox::Models::AssistantCloneResponse::Assistant::AfterCallSMSOutcome::TaggedSymbol
|
|
900
|
-
)
|
|
901
911
|
NONE =
|
|
902
912
|
T.let(
|
|
903
913
|
:none,
|
|
@@ -1166,7 +1176,8 @@ module Revox
|
|
|
1166
1176
|
sig { returns(String) }
|
|
1167
1177
|
attr_accessor :calling_window_start_time
|
|
1168
1178
|
|
|
1169
|
-
# Delay between retry attempts in seconds.
|
|
1179
|
+
# Delay between retry attempts in seconds. 0 retries as soon as the calling window
|
|
1180
|
+
# allows. Default: 7200 (2 hours).
|
|
1170
1181
|
sig { returns(Integer) }
|
|
1171
1182
|
attr_accessor :retry_delay_seconds
|
|
1172
1183
|
|
|
@@ -1186,7 +1197,8 @@ module Revox
|
|
|
1186
1197
|
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
1187
1198
|
# Examples: '09:00', '10am'. Default: '10:00'.
|
|
1188
1199
|
calling_window_start_time:,
|
|
1189
|
-
# Delay between retry attempts in seconds.
|
|
1200
|
+
# Delay between retry attempts in seconds. 0 retries as soon as the calling window
|
|
1201
|
+
# allows. Default: 7200 (2 hours).
|
|
1190
1202
|
retry_delay_seconds:
|
|
1191
1203
|
)
|
|
1192
1204
|
end
|
|
@@ -1569,41 +1581,6 @@ module Revox
|
|
|
1569
1581
|
end
|
|
1570
1582
|
end
|
|
1571
1583
|
|
|
1572
|
-
# The language used for the notification email content. One of "en" or "fr".
|
|
1573
|
-
module EmailNotificationLanguage
|
|
1574
|
-
extend Revox::Internal::Type::Enum
|
|
1575
|
-
|
|
1576
|
-
TaggedSymbol =
|
|
1577
|
-
T.type_alias do
|
|
1578
|
-
T.all(
|
|
1579
|
-
Symbol,
|
|
1580
|
-
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationLanguage
|
|
1581
|
-
)
|
|
1582
|
-
end
|
|
1583
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1584
|
-
|
|
1585
|
-
EN =
|
|
1586
|
-
T.let(
|
|
1587
|
-
:en,
|
|
1588
|
-
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationLanguage::TaggedSymbol
|
|
1589
|
-
)
|
|
1590
|
-
FR =
|
|
1591
|
-
T.let(
|
|
1592
|
-
:fr,
|
|
1593
|
-
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationLanguage::TaggedSymbol
|
|
1594
|
-
)
|
|
1595
|
-
|
|
1596
|
-
sig do
|
|
1597
|
-
override.returns(
|
|
1598
|
-
T::Array[
|
|
1599
|
-
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationLanguage::TaggedSymbol
|
|
1600
|
-
]
|
|
1601
|
-
)
|
|
1602
|
-
end
|
|
1603
|
-
def self.values
|
|
1604
|
-
end
|
|
1605
|
-
end
|
|
1606
|
-
|
|
1607
1584
|
module EmailNotificationOutcome
|
|
1608
1585
|
extend Revox::Internal::Type::Enum
|
|
1609
1586
|
|
|
@@ -1636,21 +1613,6 @@ module Revox
|
|
|
1636
1613
|
:requested_callback_later,
|
|
1637
1614
|
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationOutcome::TaggedSymbol
|
|
1638
1615
|
)
|
|
1639
|
-
REQUESTED_CALLBACK_NEW_NUMBER =
|
|
1640
|
-
T.let(
|
|
1641
|
-
:requested_callback_new_number,
|
|
1642
|
-
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationOutcome::TaggedSymbol
|
|
1643
|
-
)
|
|
1644
|
-
DO_NOT_CONTACT =
|
|
1645
|
-
T.let(
|
|
1646
|
-
:do_not_contact,
|
|
1647
|
-
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationOutcome::TaggedSymbol
|
|
1648
|
-
)
|
|
1649
|
-
AI_AVERSE =
|
|
1650
|
-
T.let(
|
|
1651
|
-
:ai_averse,
|
|
1652
|
-
Revox::Models::AssistantCloneResponse::Assistant::EmailNotificationOutcome::TaggedSymbol
|
|
1653
|
-
)
|
|
1654
1616
|
NONE =
|
|
1655
1617
|
T.let(
|
|
1656
1618
|
:none,
|
|
@@ -1707,8 +1669,8 @@ module Revox
|
|
|
1707
1669
|
end
|
|
1708
1670
|
end
|
|
1709
1671
|
|
|
1710
|
-
# Warm or cold transfer when
|
|
1711
|
-
# not configured.
|
|
1672
|
+
# Warm or cold transfer when transfer_destinations is non-empty; null when
|
|
1673
|
+
# transfer is not configured.
|
|
1712
1674
|
module HumanTransferMode
|
|
1713
1675
|
extend Revox::Internal::Type::Enum
|
|
1714
1676
|
|
|
@@ -2306,9 +2268,17 @@ module Revox
|
|
|
2306
2268
|
)
|
|
2307
2269
|
end
|
|
2308
2270
|
|
|
2309
|
-
# The Slack
|
|
2310
|
-
|
|
2311
|
-
|
|
2271
|
+
# The Slack channels eligible to receive the notification. When more than one is
|
|
2272
|
+
# configured, the agent prompt may define routing rules to narrow it down per
|
|
2273
|
+
# call; with no such rules every channel here is notified.
|
|
2274
|
+
sig do
|
|
2275
|
+
returns(
|
|
2276
|
+
T::Array[
|
|
2277
|
+
Revox::Models::AssistantCloneResponse::Assistant::Slack::Channel
|
|
2278
|
+
]
|
|
2279
|
+
)
|
|
2280
|
+
end
|
|
2281
|
+
attr_accessor :channels
|
|
2312
2282
|
|
|
2313
2283
|
# The Nango connection ID linking the org's Slack workspace to Revox.
|
|
2314
2284
|
sig { returns(String) }
|
|
@@ -2325,45 +2295,43 @@ module Revox
|
|
|
2325
2295
|
end
|
|
2326
2296
|
attr_accessor :outcomes
|
|
2327
2297
|
|
|
2328
|
-
# Human-readable Slack channel name, cached for display in the UI.
|
|
2329
|
-
sig { returns(T.nilable(String)) }
|
|
2330
|
-
attr_accessor :channel_name
|
|
2331
|
-
|
|
2332
2298
|
# Optional message template. Supports {{summary}}, {{outcome}}, {{phone}},
|
|
2333
2299
|
# {{call_url}}, {{assistant_name}}, {{campaign_name}}, {{first_name}},
|
|
2334
|
-
# {{last_name}}, {{email}}, {{company}}, {{
|
|
2335
|
-
# prompt_variables and structured_output keys. When
|
|
2336
|
-
# is used.
|
|
2300
|
+
# {{last_name}}, {{email}}, {{company}}, {{job_title}}, {{contact_name}},
|
|
2301
|
+
# {{contact_line}}, plus prompt_variables and structured_output keys. When
|
|
2302
|
+
# null/empty a default template is used.
|
|
2337
2303
|
sig { returns(T.nilable(String)) }
|
|
2338
2304
|
attr_accessor :template
|
|
2339
2305
|
|
|
2340
2306
|
sig do
|
|
2341
2307
|
params(
|
|
2342
|
-
|
|
2308
|
+
channels:
|
|
2309
|
+
T::Array[
|
|
2310
|
+
Revox::Models::AssistantCloneResponse::Assistant::Slack::Channel::OrHash
|
|
2311
|
+
],
|
|
2343
2312
|
connection_id: String,
|
|
2344
2313
|
outcomes:
|
|
2345
2314
|
T::Array[
|
|
2346
2315
|
Revox::Models::AssistantCloneResponse::Assistant::Slack::Outcome::OrSymbol
|
|
2347
2316
|
],
|
|
2348
|
-
channel_name: T.nilable(String),
|
|
2349
2317
|
template: T.nilable(String)
|
|
2350
2318
|
).returns(T.attached_class)
|
|
2351
2319
|
end
|
|
2352
2320
|
def self.new(
|
|
2353
|
-
# The Slack
|
|
2354
|
-
|
|
2321
|
+
# The Slack channels eligible to receive the notification. When more than one is
|
|
2322
|
+
# configured, the agent prompt may define routing rules to narrow it down per
|
|
2323
|
+
# call; with no such rules every channel here is notified.
|
|
2324
|
+
channels:,
|
|
2355
2325
|
# The Nango connection ID linking the org's Slack workspace to Revox.
|
|
2356
2326
|
connection_id:,
|
|
2357
2327
|
# Which call outcomes trigger a Slack notification (e.g. ['interested', 'none']).
|
|
2358
2328
|
# Use 'none' to notify when outcome is null.
|
|
2359
2329
|
outcomes:,
|
|
2360
|
-
# Human-readable Slack channel name, cached for display in the UI.
|
|
2361
|
-
channel_name: nil,
|
|
2362
2330
|
# Optional message template. Supports {{summary}}, {{outcome}}, {{phone}},
|
|
2363
2331
|
# {{call_url}}, {{assistant_name}}, {{campaign_name}}, {{first_name}},
|
|
2364
|
-
# {{last_name}}, {{email}}, {{company}}, {{
|
|
2365
|
-
# prompt_variables and structured_output keys. When
|
|
2366
|
-
# is used.
|
|
2332
|
+
# {{last_name}}, {{email}}, {{company}}, {{job_title}}, {{contact_name}},
|
|
2333
|
+
# {{contact_line}}, plus prompt_variables and structured_output keys. When
|
|
2334
|
+
# null/empty a default template is used.
|
|
2367
2335
|
template: nil
|
|
2368
2336
|
)
|
|
2369
2337
|
end
|
|
@@ -2371,13 +2339,15 @@ module Revox
|
|
|
2371
2339
|
sig do
|
|
2372
2340
|
override.returns(
|
|
2373
2341
|
{
|
|
2374
|
-
|
|
2342
|
+
channels:
|
|
2343
|
+
T::Array[
|
|
2344
|
+
Revox::Models::AssistantCloneResponse::Assistant::Slack::Channel
|
|
2345
|
+
],
|
|
2375
2346
|
connection_id: String,
|
|
2376
2347
|
outcomes:
|
|
2377
2348
|
T::Array[
|
|
2378
2349
|
Revox::Models::AssistantCloneResponse::Assistant::Slack::Outcome::TaggedSymbol
|
|
2379
2350
|
],
|
|
2380
|
-
channel_name: T.nilable(String),
|
|
2381
2351
|
template: T.nilable(String)
|
|
2382
2352
|
}
|
|
2383
2353
|
)
|
|
@@ -2385,6 +2355,43 @@ module Revox
|
|
|
2385
2355
|
def to_hash
|
|
2386
2356
|
end
|
|
2387
2357
|
|
|
2358
|
+
class Channel < Revox::Internal::Type::BaseModel
|
|
2359
|
+
OrHash =
|
|
2360
|
+
T.type_alias do
|
|
2361
|
+
T.any(
|
|
2362
|
+
Revox::Models::AssistantCloneResponse::Assistant::Slack::Channel,
|
|
2363
|
+
Revox::Internal::AnyHash
|
|
2364
|
+
)
|
|
2365
|
+
end
|
|
2366
|
+
|
|
2367
|
+
# The Slack channel ID (e.g. 'C01234567').
|
|
2368
|
+
sig { returns(String) }
|
|
2369
|
+
attr_accessor :id
|
|
2370
|
+
|
|
2371
|
+
# Human-readable Slack channel name, cached for display in the UI and given to the
|
|
2372
|
+
# LLM when the agent prompt routes by channel name.
|
|
2373
|
+
sig { returns(T.nilable(String)) }
|
|
2374
|
+
attr_accessor :name
|
|
2375
|
+
|
|
2376
|
+
sig do
|
|
2377
|
+
params(id: String, name: T.nilable(String)).returns(
|
|
2378
|
+
T.attached_class
|
|
2379
|
+
)
|
|
2380
|
+
end
|
|
2381
|
+
def self.new(
|
|
2382
|
+
# The Slack channel ID (e.g. 'C01234567').
|
|
2383
|
+
id:,
|
|
2384
|
+
# Human-readable Slack channel name, cached for display in the UI and given to the
|
|
2385
|
+
# LLM when the agent prompt routes by channel name.
|
|
2386
|
+
name: nil
|
|
2387
|
+
)
|
|
2388
|
+
end
|
|
2389
|
+
|
|
2390
|
+
sig { override.returns({ id: String, name: T.nilable(String) }) }
|
|
2391
|
+
def to_hash
|
|
2392
|
+
end
|
|
2393
|
+
end
|
|
2394
|
+
|
|
2388
2395
|
module Outcome
|
|
2389
2396
|
extend Revox::Internal::Type::Enum
|
|
2390
2397
|
|
|
@@ -2417,21 +2424,6 @@ module Revox
|
|
|
2417
2424
|
:requested_callback_later,
|
|
2418
2425
|
Revox::Models::AssistantCloneResponse::Assistant::Slack::Outcome::TaggedSymbol
|
|
2419
2426
|
)
|
|
2420
|
-
REQUESTED_CALLBACK_NEW_NUMBER =
|
|
2421
|
-
T.let(
|
|
2422
|
-
:requested_callback_new_number,
|
|
2423
|
-
Revox::Models::AssistantCloneResponse::Assistant::Slack::Outcome::TaggedSymbol
|
|
2424
|
-
)
|
|
2425
|
-
DO_NOT_CONTACT =
|
|
2426
|
-
T.let(
|
|
2427
|
-
:do_not_contact,
|
|
2428
|
-
Revox::Models::AssistantCloneResponse::Assistant::Slack::Outcome::TaggedSymbol
|
|
2429
|
-
)
|
|
2430
|
-
AI_AVERSE =
|
|
2431
|
-
T.let(
|
|
2432
|
-
:ai_averse,
|
|
2433
|
-
Revox::Models::AssistantCloneResponse::Assistant::Slack::Outcome::TaggedSymbol
|
|
2434
|
-
)
|
|
2435
2427
|
NONE =
|
|
2436
2428
|
T.let(
|
|
2437
2429
|
:none,
|
|
@@ -2744,6 +2736,34 @@ module Revox
|
|
|
2744
2736
|
end
|
|
2745
2737
|
end
|
|
2746
2738
|
|
|
2739
|
+
class TransferDestination < Revox::Internal::Type::BaseModel
|
|
2740
|
+
OrHash =
|
|
2741
|
+
T.type_alias do
|
|
2742
|
+
T.any(
|
|
2743
|
+
Revox::Models::AssistantCloneResponse::Assistant::TransferDestination,
|
|
2744
|
+
Revox::Internal::AnyHash
|
|
2745
|
+
)
|
|
2746
|
+
end
|
|
2747
|
+
|
|
2748
|
+
sig { returns(String) }
|
|
2749
|
+
attr_accessor :label
|
|
2750
|
+
|
|
2751
|
+
sig { returns(String) }
|
|
2752
|
+
attr_accessor :phone_number
|
|
2753
|
+
|
|
2754
|
+
sig do
|
|
2755
|
+
params(label: String, phone_number: String).returns(
|
|
2756
|
+
T.attached_class
|
|
2757
|
+
)
|
|
2758
|
+
end
|
|
2759
|
+
def self.new(label:, phone_number:)
|
|
2760
|
+
end
|
|
2761
|
+
|
|
2762
|
+
sig { override.returns({ label: String, phone_number: String }) }
|
|
2763
|
+
def to_hash
|
|
2764
|
+
end
|
|
2765
|
+
end
|
|
2766
|
+
|
|
2747
2767
|
module Type
|
|
2748
2768
|
extend Revox::Internal::Type::Enum
|
|
2749
2769
|
|
|
@@ -2824,7 +2844,7 @@ module Revox
|
|
|
2824
2844
|
attr_writer :model
|
|
2825
2845
|
|
|
2826
2846
|
# The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
2827
|
-
# 0.7–1.2. Default is 1.0.
|
|
2847
|
+
# 0.7–1.2, Gradium 0.6–1.5. Default is 1.0.
|
|
2828
2848
|
sig { returns(T.nilable(Float)) }
|
|
2829
2849
|
attr_reader :speed
|
|
2830
2850
|
|
|
@@ -2859,7 +2879,7 @@ module Revox
|
|
|
2859
2879
|
# for other providers.
|
|
2860
2880
|
model: nil,
|
|
2861
2881
|
# The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
2862
|
-
# 0.7–1.2. Default is 1.0.
|
|
2882
|
+
# 0.7–1.2, Gradium 0.6–1.5. Default is 1.0.
|
|
2863
2883
|
speed: nil,
|
|
2864
2884
|
# Volume of the voice (Cartesia only). 0.5–2.0, default 1.0. Ignored for other
|
|
2865
2885
|
# providers.
|
|
@@ -2906,6 +2926,11 @@ module Revox
|
|
|
2906
2926
|
:elevenlabs,
|
|
2907
2927
|
Revox::Models::AssistantCloneResponse::Assistant::Voice::Provider::TaggedSymbol
|
|
2908
2928
|
)
|
|
2929
|
+
GRADIUM =
|
|
2930
|
+
T.let(
|
|
2931
|
+
:gradium,
|
|
2932
|
+
Revox::Models::AssistantCloneResponse::Assistant::Voice::Provider::TaggedSymbol
|
|
2933
|
+
)
|
|
2909
2934
|
|
|
2910
2935
|
sig do
|
|
2911
2936
|
override.returns(
|
|
@@ -3136,21 +3161,6 @@ module Revox
|
|
|
3136
3161
|
:requested_callback_later,
|
|
3137
3162
|
Revox::Models::AssistantCloneResponse::Assistant::Zoho::Outcome::TaggedSymbol
|
|
3138
3163
|
)
|
|
3139
|
-
REQUESTED_CALLBACK_NEW_NUMBER =
|
|
3140
|
-
T.let(
|
|
3141
|
-
:requested_callback_new_number,
|
|
3142
|
-
Revox::Models::AssistantCloneResponse::Assistant::Zoho::Outcome::TaggedSymbol
|
|
3143
|
-
)
|
|
3144
|
-
DO_NOT_CONTACT =
|
|
3145
|
-
T.let(
|
|
3146
|
-
:do_not_contact,
|
|
3147
|
-
Revox::Models::AssistantCloneResponse::Assistant::Zoho::Outcome::TaggedSymbol
|
|
3148
|
-
)
|
|
3149
|
-
AI_AVERSE =
|
|
3150
|
-
T.let(
|
|
3151
|
-
:ai_averse,
|
|
3152
|
-
Revox::Models::AssistantCloneResponse::Assistant::Zoho::Outcome::TaggedSymbol
|
|
3153
|
-
)
|
|
3154
3164
|
NONE =
|
|
3155
3165
|
T.let(
|
|
3156
3166
|
:none,
|