revox 0.3.0 → 0.5.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 +33 -0
- data/README.md +40 -40
- 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_launch_params.rb +182 -1
- data/lib/revox/models/campaign_launch_response.rb +3447 -1574
- 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/resources/assistants.rb +10 -10
- data/lib/revox/resources/call.rb +4 -4
- data/lib/revox/resources/campaigns.rb +35 -31
- data/lib/revox/version.rb +1 -1
- 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_launch_params.rbi +511 -2
- data/rbi/revox/models/campaign_launch_response.rbi +6882 -3163
- 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/resources/assistants.rbi +40 -22
- data/rbi/revox/resources/call.rbi +7 -4
- data/rbi/revox/resources/campaigns.rbi +30 -36
- 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_launch_params.rbs +215 -2
- data/sig/revox/models/campaign_launch_response.rbs +2721 -1219
- 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/resources/assistants.rbs +4 -4
- data/sig/revox/resources/call.rbs +1 -1
- data/sig/revox/resources/campaigns.rbs +3 -7
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 41aac7797615fd013e839d0c86fdfa4d91e63bf84aefd38a5dba8b5b21adaadb
|
|
4
|
+
data.tar.gz: e1debea088c862fc5e8fb25af0e3d3922c182b0f31bf68f39764b97daecc1474
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9d3560afab65ac8e1156b3a82795817bad62024de8e00571a39602e874aa4415c873ce1180339606bbe8120a524c5265f36622c59ec6a9414bed3e28293f96a5
|
|
7
|
+
data.tar.gz: a63fa996ca7d7a93725fd9d55c3f8169b84200e659a4cd48b3d533211414eb444f90025d5dfde9dc453d5a3d7981af1ac8fe07847366f415cd31de9d533e55af
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.0](https://github.com/revoxai/revox-ruby/compare/v0.4.0...v0.5.0) (2026-08-24)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add campaigns.launch for starting campaign calls ([ac41a27](https://github.com/revoxai/revox-ruby/commit/ac41a279c94ddacab86ac8e5d0c79d6909b031f5))
|
|
9
|
+
|
|
10
|
+
## 0.4.0 (2026-08-21)
|
|
11
|
+
|
|
12
|
+
Full Changelog: [v0.3.0...v0.4.0](https://github.com/revoxai/revox-ruby/compare/v0.3.0...v0.4.0)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **api:** api update ([d4a9861](https://github.com/revoxai/revox-ruby/commit/d4a9861ba0312255adf3330b74635d5ee2c5a769))
|
|
17
|
+
* **api:** api update ([d725894](https://github.com/revoxai/revox-ruby/commit/d7258942e389e61f1bb562e0941f80bedb56e321))
|
|
18
|
+
* **api:** api update ([04ceb82](https://github.com/revoxai/revox-ruby/commit/04ceb82dd278caa1d06c6dfb885d99c5808573f8))
|
|
19
|
+
* **api:** api update ([a3b901f](https://github.com/revoxai/revox-ruby/commit/a3b901f6e40b2573a54851874d4c04a588aab6be))
|
|
20
|
+
* **api:** api update ([d72f880](https://github.com/revoxai/revox-ruby/commit/d72f88091b38259374054f908598fc15fa0ad38b))
|
|
21
|
+
* **api:** api update ([44eeb0d](https://github.com/revoxai/revox-ruby/commit/44eeb0df9e5a2dd9ded7562ef180eb0d6fa59a14))
|
|
22
|
+
* **api:** api update ([e760b05](https://github.com/revoxai/revox-ruby/commit/e760b0543518efaf6e3d12bde7f9c20ed0a5301e))
|
|
23
|
+
* **api:** api update ([1705ab1](https://github.com/revoxai/revox-ruby/commit/1705ab1e768706dc0ce9143427a18397c682fa52))
|
|
24
|
+
* **api:** api update ([eeba1ab](https://github.com/revoxai/revox-ruby/commit/eeba1abe2eac35934a3c53745b8666ad4b7807ed))
|
|
25
|
+
* **api:** api update ([9c1e6d5](https://github.com/revoxai/revox-ruby/commit/9c1e6d55985430b6ee51f0fed7138aeca80d8222))
|
|
26
|
+
* **api:** api update ([30302e0](https://github.com/revoxai/revox-ruby/commit/30302e05ae8a8b9a046a6c11021570109fd57ed5))
|
|
27
|
+
* **api:** api update ([0040c51](https://github.com/revoxai/revox-ruby/commit/0040c51ff33cf9c09d105a7caf94bbd0d3b3301f))
|
|
28
|
+
* **api:** api update ([de26330](https://github.com/revoxai/revox-ruby/commit/de26330fd53b845427c10e272b9446774f9655dc))
|
|
29
|
+
* **api:** api update ([c2cac44](https://github.com/revoxai/revox-ruby/commit/c2cac44d1de1509836a5bd9aa53ead2a125fda2f))
|
|
30
|
+
* **api:** api update ([87b5f5d](https://github.com/revoxai/revox-ruby/commit/87b5f5df3311d745e32383ef6797e40f623109d9))
|
|
31
|
+
* **api:** api update ([554ab31](https://github.com/revoxai/revox-ruby/commit/554ab312afd64805475bbceaec5b44f8c65f6fe5))
|
|
32
|
+
* **api:** api update ([ddaef2b](https://github.com/revoxai/revox-ruby/commit/ddaef2bbf4947483638b8ca82f8c156b71d76489))
|
|
33
|
+
* **api:** api update ([82c8134](https://github.com/revoxai/revox-ruby/commit/82c81348c12a478dd9b9abb33dd32e5ab87cd59f))
|
|
34
|
+
* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([702ae8f](https://github.com/revoxai/revox-ruby/commit/702ae8ff3cfd4e6785d909f23b4393a83f2c3c1b))
|
|
35
|
+
|
|
3
36
|
## 0.3.0 (2026-07-17)
|
|
4
37
|
|
|
5
38
|
Full Changelog: [v0.2.0...v0.3.0](https://github.com/revoxai/revox-ruby/compare/v0.2.0...v0.3.0)
|
data/README.md
CHANGED
|
@@ -8,8 +8,8 @@ It is generated with [Stainless](https://www.stainless.com/).
|
|
|
8
8
|
|
|
9
9
|
Use the Revox MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
|
|
10
10
|
|
|
11
|
-
[](https://cursor.com/en-US/install-mcp?name=%40revoxai%2Fsdk-mcp&config=
|
|
12
|
-
[](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40revoxai%2Fsdk-mcp%22%2C%
|
|
11
|
+
[](https://cursor.com/en-US/install-mcp?name=%40revoxai%2Fsdk-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkByZXZveGFpL3Nkay1tY3AiXSwiZW52Ijp7IlJFVk9YX0FQSV9LRVkiOiJNeSBBUEkgS2V5In19)
|
|
12
|
+
[](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40revoxai%2Fsdk-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40revoxai%2Fsdk-mcp%22%5D%2C%22env%22%3A%7B%22REVOX_API_KEY%22%3A%22My%20API%20Key%22%7D%7D)
|
|
13
13
|
|
|
14
14
|
> Note: You may need to set environment variables in your MCP client.
|
|
15
15
|
|
|
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
24
24
|
<!-- x-release-please-start-version -->
|
|
25
25
|
|
|
26
26
|
```ruby
|
|
27
|
-
gem "revox", "~> 0.
|
|
27
|
+
gem "revox", "~> 0.5.0"
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
<!-- x-release-please-end -->
|
|
@@ -41,10 +41,10 @@ revox = Revox::Client.new(
|
|
|
41
41
|
|
|
42
42
|
campaign = revox.campaigns.create(
|
|
43
43
|
assistant_id: "REPLACE_ME",
|
|
44
|
-
contacts: [{prompt_variables: {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
contacts: [{prompt_variables: {
|
|
45
|
+
|
|
46
|
+
}, to_phone_number: "to_phone_number"}],
|
|
47
|
+
name: "REPLACE_ME"
|
|
48
48
|
)
|
|
49
49
|
|
|
50
50
|
puts(campaign.campaign)
|
|
@@ -58,10 +58,10 @@ When the library is unable to connect to the API, or if the API returns a non-su
|
|
|
58
58
|
begin
|
|
59
59
|
campaign = revox.campaigns.create(
|
|
60
60
|
assistant_id: "REPLACE_ME",
|
|
61
|
-
contacts: [{prompt_variables: {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
contacts: [{prompt_variables: {
|
|
62
|
+
|
|
63
|
+
}, to_phone_number: "to_phone_number"}],
|
|
64
|
+
name: "REPLACE_ME"
|
|
65
65
|
)
|
|
66
66
|
rescue Revox::Errors::APIConnectionError => e
|
|
67
67
|
puts("The server could not be reached")
|
|
@@ -107,10 +107,10 @@ revox = Revox::Client.new(
|
|
|
107
107
|
# Or, configure per-request:
|
|
108
108
|
revox.campaigns.create(
|
|
109
109
|
assistant_id: "REPLACE_ME",
|
|
110
|
-
contacts: [{prompt_variables: {
|
|
111
|
-
|
|
110
|
+
contacts: [{prompt_variables: {
|
|
111
|
+
|
|
112
|
+
}, to_phone_number: "to_phone_number"}],
|
|
112
113
|
name: "REPLACE_ME",
|
|
113
|
-
type: "regular",
|
|
114
114
|
request_options: {max_retries: 5}
|
|
115
115
|
)
|
|
116
116
|
```
|
|
@@ -128,10 +128,10 @@ revox = Revox::Client.new(
|
|
|
128
128
|
# Or, configure per-request:
|
|
129
129
|
revox.campaigns.create(
|
|
130
130
|
assistant_id: "REPLACE_ME",
|
|
131
|
-
contacts: [{prompt_variables: {
|
|
132
|
-
|
|
131
|
+
contacts: [{prompt_variables: {
|
|
132
|
+
|
|
133
|
+
}, to_phone_number: "to_phone_number"}],
|
|
133
134
|
name: "REPLACE_ME",
|
|
134
|
-
type: "regular",
|
|
135
135
|
request_options: {timeout: 5}
|
|
136
136
|
)
|
|
137
137
|
```
|
|
@@ -166,10 +166,10 @@ Note: the `extra_` parameters of the same name overrides the documented paramete
|
|
|
166
166
|
campaign =
|
|
167
167
|
revox.campaigns.create(
|
|
168
168
|
assistant_id: "REPLACE_ME",
|
|
169
|
-
contacts: [{prompt_variables: {
|
|
170
|
-
|
|
169
|
+
contacts: [{prompt_variables: {
|
|
170
|
+
|
|
171
|
+
}, to_phone_number: "to_phone_number"}],
|
|
171
172
|
name: "REPLACE_ME",
|
|
172
|
-
type: "regular",
|
|
173
173
|
request_options: {
|
|
174
174
|
extra_query: {my_query_parameter: value},
|
|
175
175
|
extra_body: {my_body_parameter: value},
|
|
@@ -219,13 +219,13 @@ revox.campaigns.create(
|
|
|
219
219
|
assistant_id: "REPLACE_ME",
|
|
220
220
|
contacts: [
|
|
221
221
|
Revox::CampaignCreateParams::Contact.new(
|
|
222
|
-
prompt_variables: {
|
|
222
|
+
prompt_variables: {
|
|
223
|
+
|
|
224
|
+
},
|
|
223
225
|
to_phone_number: "to_phone_number"
|
|
224
226
|
)
|
|
225
227
|
],
|
|
226
|
-
|
|
227
|
-
name: "REPLACE_ME",
|
|
228
|
-
type: "regular"
|
|
228
|
+
name: "REPLACE_ME"
|
|
229
229
|
)
|
|
230
230
|
```
|
|
231
231
|
|
|
@@ -235,10 +235,10 @@ Or, equivalently:
|
|
|
235
235
|
# Hashes work, but are not typesafe:
|
|
236
236
|
revox.campaigns.create(
|
|
237
237
|
assistant_id: "REPLACE_ME",
|
|
238
|
-
contacts: [{prompt_variables: {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
238
|
+
contacts: [{prompt_variables: {
|
|
239
|
+
|
|
240
|
+
}, to_phone_number: "to_phone_number"}],
|
|
241
|
+
name: "REPLACE_ME"
|
|
242
242
|
)
|
|
243
243
|
|
|
244
244
|
# You can also splat a full Params class:
|
|
@@ -246,13 +246,13 @@ params = Revox::CampaignCreateParams.new(
|
|
|
246
246
|
assistant_id: "REPLACE_ME",
|
|
247
247
|
contacts: [
|
|
248
248
|
Revox::CampaignCreateParams::Contact.new(
|
|
249
|
-
prompt_variables: {
|
|
249
|
+
prompt_variables: {
|
|
250
|
+
|
|
251
|
+
},
|
|
250
252
|
to_phone_number: "to_phone_number"
|
|
251
253
|
)
|
|
252
254
|
],
|
|
253
|
-
|
|
254
|
-
name: "REPLACE_ME",
|
|
255
|
-
type: "regular"
|
|
255
|
+
name: "REPLACE_ME"
|
|
256
256
|
)
|
|
257
257
|
revox.campaigns.create(**params)
|
|
258
258
|
```
|
|
@@ -262,25 +262,25 @@ revox.campaigns.create(**params)
|
|
|
262
262
|
Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
|
|
263
263
|
|
|
264
264
|
```ruby
|
|
265
|
-
# :
|
|
266
|
-
puts(Revox::
|
|
265
|
+
# :ai_first
|
|
266
|
+
puts(Revox::CampaignLaunchParams::Mode::AI_FIRST)
|
|
267
267
|
|
|
268
|
-
# Revealed type: `T.all(Revox::
|
|
269
|
-
T.reveal_type(Revox::
|
|
268
|
+
# Revealed type: `T.all(Revox::CampaignLaunchParams::Mode, Symbol)`
|
|
269
|
+
T.reveal_type(Revox::CampaignLaunchParams::Mode::AI_FIRST)
|
|
270
270
|
```
|
|
271
271
|
|
|
272
272
|
Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
|
|
273
273
|
|
|
274
274
|
```ruby
|
|
275
275
|
# Using the enum constants preserves the tagged type information:
|
|
276
|
-
revox.campaigns.
|
|
277
|
-
|
|
276
|
+
revox.campaigns.launch(
|
|
277
|
+
mode: Revox::CampaignLaunchParams::Mode::AI_FIRST,
|
|
278
278
|
# …
|
|
279
279
|
)
|
|
280
280
|
|
|
281
281
|
# Literal values are also permissible:
|
|
282
|
-
revox.campaigns.
|
|
283
|
-
|
|
282
|
+
revox.campaigns.launch(
|
|
283
|
+
mode: :ai_first,
|
|
284
284
|
# …
|
|
285
285
|
)
|
|
286
286
|
```
|
|
@@ -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::AssistantCloneResponse::Assistant::EmailNotificationLanguage]
|
|
96
|
-
required :email_notification_language,
|
|
97
|
-
enum: -> { Revox::Models::AssistantCloneResponse::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
|
|
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::AssistantCloneResponse::Assistant::HumanTransferMode, nil]
|
|
142
135
|
required :human_transfer_mode,
|
|
@@ -192,6 +185,13 @@ module Revox
|
|
|
192
185
|
# @return [Revox::Models::AssistantCloneResponse::Assistant::Position, nil]
|
|
193
186
|
required :position, -> { Revox::Models::AssistantCloneResponse::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
|
|
279
|
-
#
|
|
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 [
|
|
282
|
-
required :
|
|
282
|
+
# @return [Array<Revox::Models::AssistantCloneResponse::Assistant::TransferDestination>, nil]
|
|
283
|
+
required :transfer_destinations,
|
|
284
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantCloneResponse::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::AssistantCloneResponse::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:,
|
|
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::AssistantCloneResponse::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::AssistantCloneResponse::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::AssistantCloneResponse::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::AssistantCloneResponse::Assistant::HumanTransferMode, nil] Warm or cold transfer when
|
|
399
|
+
# @param human_transfer_mode [Symbol, Revox::Models::AssistantCloneResponse::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::AssistantCloneResponse::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::AssistantCloneResponse::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
|
|
443
|
+
# @param transfer_destinations [Array<Revox::Models::AssistantCloneResponse::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::AssistantCloneResponse::Assistant::Type]
|
|
438
446
|
#
|
|
@@ -454,6 +462,8 @@ module Revox
|
|
|
454
462
|
#
|
|
455
463
|
# @param faq_items [Array<Revox::Models::AssistantCloneResponse::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.
|
|
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.
|
|
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::AssistantCloneResponse::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
|
|
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::AssistantCloneResponse::Assistant#human_transfer_mode
|
|
844
836
|
module HumanTransferMode
|
|
@@ -1128,11 +1120,14 @@ module Revox
|
|
|
1128
1120
|
|
|
1129
1121
|
# @see Revox::Models::AssistantCloneResponse::Assistant#slack
|
|
1130
1122
|
class Slack < Revox::Internal::Type::BaseModel
|
|
1131
|
-
# @!attribute
|
|
1132
|
-
# The Slack
|
|
1123
|
+
# @!attribute channels
|
|
1124
|
+
# The Slack channels eligible to receive the notification. When more than one is
|
|
1125
|
+
# configured, the agent prompt may define routing rules to narrow it down per
|
|
1126
|
+
# call; with no such rules every channel here is notified.
|
|
1133
1127
|
#
|
|
1134
|
-
# @return [
|
|
1135
|
-
required :
|
|
1128
|
+
# @return [Array<Revox::Models::AssistantCloneResponse::Assistant::Slack::Channel>]
|
|
1129
|
+
required :channels,
|
|
1130
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::AssistantCloneResponse::Assistant::Slack::Channel] }
|
|
1136
1131
|
|
|
1137
1132
|
# @!attribute connection_id
|
|
1138
1133
|
# The Nango connection ID linking the org's Slack workspace to Revox.
|
|
@@ -1148,37 +1143,53 @@ module Revox
|
|
|
1148
1143
|
required :outcomes,
|
|
1149
1144
|
-> { Revox::Internal::Type::ArrayOf[enum: Revox::Models::AssistantCloneResponse::Assistant::Slack::Outcome] }
|
|
1150
1145
|
|
|
1151
|
-
# @!attribute channel_name
|
|
1152
|
-
# Human-readable Slack channel name, cached for display in the UI.
|
|
1153
|
-
#
|
|
1154
|
-
# @return [String, nil]
|
|
1155
|
-
optional :channel_name, String, nil?: true
|
|
1156
|
-
|
|
1157
1146
|
# @!attribute template
|
|
1158
1147
|
# Optional message template. Supports {{summary}}, {{outcome}}, {{phone}},
|
|
1159
1148
|
# {{call_url}}, {{assistant_name}}, {{campaign_name}}, {{first_name}},
|
|
1160
|
-
# {{last_name}}, {{email}}, {{company}}, {{
|
|
1161
|
-
# prompt_variables and structured_output keys. When
|
|
1162
|
-
# is used.
|
|
1149
|
+
# {{last_name}}, {{email}}, {{company}}, {{job_title}}, {{contact_name}},
|
|
1150
|
+
# {{contact_line}}, plus prompt_variables and structured_output keys. When
|
|
1151
|
+
# null/empty a default template is used.
|
|
1163
1152
|
#
|
|
1164
1153
|
# @return [String, nil]
|
|
1165
1154
|
optional :template, String, nil?: true
|
|
1166
1155
|
|
|
1167
|
-
# @!method initialize(
|
|
1156
|
+
# @!method initialize(channels:, connection_id:, outcomes:, template: nil)
|
|
1168
1157
|
# Some parameter documentations has been truncated, see
|
|
1169
1158
|
# {Revox::Models::AssistantCloneResponse::Assistant::Slack} for more details.
|
|
1170
1159
|
#
|
|
1171
|
-
# @param
|
|
1160
|
+
# @param channels [Array<Revox::Models::AssistantCloneResponse::Assistant::Slack::Channel>] The Slack channels eligible to receive the notification. When more than one is c
|
|
1172
1161
|
#
|
|
1173
1162
|
# @param connection_id [String] The Nango connection ID linking the org's Slack workspace to Revox.
|
|
1174
1163
|
#
|
|
1175
1164
|
# @param outcomes [Array<Symbol, Revox::Models::AssistantCloneResponse::Assistant::Slack::Outcome>] Which call outcomes trigger a Slack notification (e.g. ['interested', 'none']).
|
|
1176
1165
|
#
|
|
1177
|
-
# @param channel_name [String, nil] Human-readable Slack channel name, cached for display in the UI.
|
|
1178
|
-
#
|
|
1179
1166
|
# @param template [String, nil] Optional message template. Supports {{summary}}, {{outcome}}, {{phone}},
|
|
1180
1167
|
# {{call\_
|
|
1181
1168
|
|
|
1169
|
+
class Channel < Revox::Internal::Type::BaseModel
|
|
1170
|
+
# @!attribute id
|
|
1171
|
+
# The Slack channel ID (e.g. 'C01234567').
|
|
1172
|
+
#
|
|
1173
|
+
# @return [String]
|
|
1174
|
+
required :id, String
|
|
1175
|
+
|
|
1176
|
+
# @!attribute name
|
|
1177
|
+
# Human-readable Slack channel name, cached for display in the UI and given to the
|
|
1178
|
+
# LLM when the agent prompt routes by channel name.
|
|
1179
|
+
#
|
|
1180
|
+
# @return [String, nil]
|
|
1181
|
+
optional :name, String, nil?: true
|
|
1182
|
+
|
|
1183
|
+
# @!method initialize(id:, name: nil)
|
|
1184
|
+
# Some parameter documentations has been truncated, see
|
|
1185
|
+
# {Revox::Models::AssistantCloneResponse::Assistant::Slack::Channel} for more
|
|
1186
|
+
# details.
|
|
1187
|
+
#
|
|
1188
|
+
# @param id [String] The Slack channel ID (e.g. 'C01234567').
|
|
1189
|
+
#
|
|
1190
|
+
# @param name [String, nil] Human-readable Slack channel name, cached for display in the UI and given to the
|
|
1191
|
+
end
|
|
1192
|
+
|
|
1182
1193
|
module Outcome
|
|
1183
1194
|
extend Revox::Internal::Type::Enum
|
|
1184
1195
|
|
|
@@ -1186,9 +1197,6 @@ module Revox
|
|
|
1186
1197
|
INTERESTED = :interested
|
|
1187
1198
|
COMPLETED = :completed
|
|
1188
1199
|
REQUESTED_CALLBACK_LATER = :requested_callback_later
|
|
1189
|
-
REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
|
|
1190
|
-
DO_NOT_CONTACT = :do_not_contact
|
|
1191
|
-
AI_AVERSE = :ai_averse
|
|
1192
1200
|
NONE = :none
|
|
1193
1201
|
|
|
1194
1202
|
# @!method self.values
|
|
@@ -1316,6 +1324,22 @@ module Revox
|
|
|
1316
1324
|
# @return [Array<Symbol>]
|
|
1317
1325
|
end
|
|
1318
1326
|
|
|
1327
|
+
class TransferDestination < Revox::Internal::Type::BaseModel
|
|
1328
|
+
# @!attribute label
|
|
1329
|
+
#
|
|
1330
|
+
# @return [String]
|
|
1331
|
+
required :label, String
|
|
1332
|
+
|
|
1333
|
+
# @!attribute phone_number
|
|
1334
|
+
#
|
|
1335
|
+
# @return [String]
|
|
1336
|
+
required :phone_number, String
|
|
1337
|
+
|
|
1338
|
+
# @!method initialize(label:, phone_number:)
|
|
1339
|
+
# @param label [String]
|
|
1340
|
+
# @param phone_number [String]
|
|
1341
|
+
end
|
|
1342
|
+
|
|
1319
1343
|
# @see Revox::Models::AssistantCloneResponse::Assistant#type
|
|
1320
1344
|
module Type
|
|
1321
1345
|
extend Revox::Internal::Type::Enum
|
|
@@ -1351,7 +1375,7 @@ module Revox
|
|
|
1351
1375
|
|
|
1352
1376
|
# @!attribute speed
|
|
1353
1377
|
# The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
1354
|
-
# 0.7–1.2. Default is 1.0.
|
|
1378
|
+
# 0.7–1.2, Gradium 0.6–1.5. Default is 1.0.
|
|
1355
1379
|
#
|
|
1356
1380
|
# @return [Float, nil]
|
|
1357
1381
|
optional :speed, Float
|
|
@@ -1385,6 +1409,7 @@ module Revox
|
|
|
1385
1409
|
|
|
1386
1410
|
CARTESIA = :cartesia
|
|
1387
1411
|
ELEVENLABS = :elevenlabs
|
|
1412
|
+
GRADIUM = :gradium
|
|
1388
1413
|
|
|
1389
1414
|
# @!method self.values
|
|
1390
1415
|
# @return [Array<Symbol>]
|
|
@@ -1499,9 +1524,6 @@ module Revox
|
|
|
1499
1524
|
INTERESTED = :interested
|
|
1500
1525
|
COMPLETED = :completed
|
|
1501
1526
|
REQUESTED_CALLBACK_LATER = :requested_callback_later
|
|
1502
|
-
REQUESTED_CALLBACK_NEW_NUMBER = :requested_callback_new_number
|
|
1503
|
-
DO_NOT_CONTACT = :do_not_contact
|
|
1504
|
-
AI_AVERSE = :ai_averse
|
|
1505
1527
|
NONE = :none
|
|
1506
1528
|
|
|
1507
1529
|
# @!method self.values
|