retell-sdk 5.49.1 → 5.49.2
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.
- package/CHANGELOG.md +12 -0
- package/client.d.mts +9 -9
- package/client.d.mts.map +1 -1
- package/client.d.ts +9 -9
- package/client.d.ts.map +1 -1
- package/package.json +1 -1
- package/resources/agent.d.mts +69 -69
- package/resources/agent.d.mts.map +1 -1
- package/resources/agent.d.ts +69 -69
- package/resources/agent.d.ts.map +1 -1
- package/resources/agent.js +30 -30
- package/resources/agent.js.map +1 -1
- package/resources/agent.mjs +30 -30
- package/resources/agent.mjs.map +1 -1
- package/resources/call.d.mts +1350 -1350
- package/resources/call.d.mts.map +1 -1
- package/resources/call.d.ts +1350 -1350
- package/resources/call.d.ts.map +1 -1
- package/resources/call.js +60 -60
- package/resources/call.js.map +1 -1
- package/resources/call.mjs +60 -60
- package/resources/call.mjs.map +1 -1
- package/resources/chat-agent.d.mts +70 -70
- package/resources/chat-agent.d.mts.map +1 -1
- package/resources/chat-agent.d.ts +70 -70
- package/resources/chat-agent.d.ts.map +1 -1
- package/resources/chat-agent.js +31 -31
- package/resources/chat-agent.js.map +1 -1
- package/resources/chat-agent.mjs +31 -31
- package/resources/chat-agent.mjs.map +1 -1
- package/resources/chat.d.mts +97 -97
- package/resources/chat.d.mts.map +1 -1
- package/resources/chat.d.ts +97 -97
- package/resources/chat.d.ts.map +1 -1
- package/resources/chat.js +55 -55
- package/resources/chat.js.map +1 -1
- package/resources/chat.mjs +55 -55
- package/resources/chat.mjs.map +1 -1
- package/resources/conversation-flow-component.d.mts +25 -25
- package/resources/conversation-flow-component.d.mts.map +1 -1
- package/resources/conversation-flow-component.d.ts +25 -25
- package/resources/conversation-flow-component.d.ts.map +1 -1
- package/resources/conversation-flow-component.js +12 -12
- package/resources/conversation-flow-component.js.map +1 -1
- package/resources/conversation-flow-component.mjs +12 -12
- package/resources/conversation-flow-component.mjs.map +1 -1
- package/resources/conversation-flow.d.mts +25 -25
- package/resources/conversation-flow.d.mts.map +1 -1
- package/resources/conversation-flow.d.ts +25 -25
- package/resources/conversation-flow.d.ts.map +1 -1
- package/resources/conversation-flow.js +12 -12
- package/resources/conversation-flow.js.map +1 -1
- package/resources/conversation-flow.mjs +12 -12
- package/resources/conversation-flow.mjs.map +1 -1
- package/resources/index.d.mts +9 -9
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +9 -9
- package/resources/index.d.ts.map +1 -1
- package/resources/llm.d.mts +24 -24
- package/resources/llm.d.mts.map +1 -1
- package/resources/llm.d.ts +24 -24
- package/resources/llm.d.ts.map +1 -1
- package/resources/llm.js +11 -11
- package/resources/llm.js.map +1 -1
- package/resources/llm.mjs +11 -11
- package/resources/llm.mjs.map +1 -1
- package/resources/phone-number.d.mts +130 -130
- package/resources/phone-number.d.mts.map +1 -1
- package/resources/phone-number.d.ts +130 -130
- package/resources/phone-number.d.ts.map +1 -1
- package/resources/phone-number.js +27 -27
- package/resources/phone-number.js.map +1 -1
- package/resources/phone-number.mjs +27 -27
- package/resources/phone-number.mjs.map +1 -1
- package/resources/tests.d.mts +95 -95
- package/resources/tests.d.mts.map +1 -1
- package/resources/tests.d.ts +95 -95
- package/resources/tests.d.ts.map +1 -1
- package/resources/tests.js +27 -27
- package/resources/tests.js.map +1 -1
- package/resources/tests.mjs +27 -27
- package/resources/tests.mjs.map +1 -1
- package/resources/voice.d.mts +8 -8
- package/resources/voice.d.mts.map +1 -1
- package/resources/voice.d.ts +8 -8
- package/resources/voice.d.ts.map +1 -1
- package/resources/voice.js +12 -12
- package/resources/voice.js.map +1 -1
- package/resources/voice.mjs +12 -12
- package/resources/voice.mjs.map +1 -1
- package/src/client.ts +18 -18
- package/src/resources/agent.ts +90 -90
- package/src/resources/call.ts +1821 -1821
- package/src/resources/chat-agent.ts +95 -95
- package/src/resources/chat.ts +112 -112
- package/src/resources/conversation-flow-component.ts +34 -34
- package/src/resources/conversation-flow.ts +34 -34
- package/src/resources/index.ts +18 -18
- package/src/resources/llm.ts +30 -30
- package/src/resources/phone-number.ts +152 -152
- package/src/resources/tests.ts +136 -136
- package/src/resources/voice.ts +12 -12
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/resources/call.d.ts
CHANGED
|
@@ -3,100 +3,100 @@ import { APIPromise } from "../core/api-promise.js";
|
|
|
3
3
|
import { RequestOptions } from "../internal/request-options.js";
|
|
4
4
|
export declare class Call extends APIResource {
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Retrieve details of a specific call
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
9
9
|
* ```ts
|
|
10
|
-
* const
|
|
11
|
-
*
|
|
12
|
-
* from_number: '+14157774444',
|
|
13
|
-
* to_number: '+12137774445',
|
|
14
|
-
* },
|
|
10
|
+
* const callResponse = await client.call.retrieve(
|
|
11
|
+
* '119c3f8e47135a29e65947eeb34cf12d',
|
|
15
12
|
* );
|
|
16
13
|
* ```
|
|
17
14
|
*/
|
|
18
|
-
|
|
15
|
+
retrieve(callID: string, options?: RequestOptions): APIPromise<CallResponse>;
|
|
19
16
|
/**
|
|
20
|
-
*
|
|
17
|
+
* Update metadata and sensitive data storage settings for an existing call.
|
|
21
18
|
*
|
|
22
19
|
* @example
|
|
23
20
|
* ```ts
|
|
24
|
-
* const
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
21
|
+
* const callResponse = await client.call.update(
|
|
22
|
+
* 'call_a4441234567890777c4a4a123e6',
|
|
23
|
+
* {
|
|
24
|
+
* data_storage_setting: 'everything_except_pii',
|
|
25
|
+
* metadata: {
|
|
26
|
+
* customer_id: 'cust_123',
|
|
27
|
+
* notes: 'Follow-up required',
|
|
28
|
+
* },
|
|
29
|
+
* },
|
|
30
|
+
* );
|
|
28
31
|
* ```
|
|
29
32
|
*/
|
|
30
|
-
|
|
33
|
+
update(callID: string, body: CallUpdateParams, options?: RequestOptions): APIPromise<CallResponse>;
|
|
31
34
|
/**
|
|
32
|
-
*
|
|
35
|
+
* List calls with unified cursor pagination response.
|
|
33
36
|
*
|
|
34
37
|
* @example
|
|
35
38
|
* ```ts
|
|
36
|
-
* const
|
|
37
|
-
* agent_id: 'oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD',
|
|
38
|
-
* });
|
|
39
|
+
* const calls = await client.call.list();
|
|
39
40
|
* ```
|
|
40
41
|
*/
|
|
41
|
-
|
|
42
|
+
list(body?: CallListParams | null | undefined, options?: RequestOptions): APIPromise<CallListResponse>;
|
|
42
43
|
/**
|
|
43
|
-
*
|
|
44
|
+
* Delete a specific call and its associated data
|
|
44
45
|
*
|
|
45
46
|
* @example
|
|
46
47
|
* ```ts
|
|
47
|
-
*
|
|
48
|
+
* await client.call.delete(
|
|
48
49
|
* '119c3f8e47135a29e65947eeb34cf12d',
|
|
49
50
|
* );
|
|
50
51
|
* ```
|
|
51
52
|
*/
|
|
52
|
-
|
|
53
|
+
delete(callID: string, options?: RequestOptions): APIPromise<void>;
|
|
53
54
|
/**
|
|
54
|
-
*
|
|
55
|
+
* Create a new outbound phone call
|
|
55
56
|
*
|
|
56
57
|
* @example
|
|
57
58
|
* ```ts
|
|
58
|
-
* const
|
|
59
|
+
* const phoneCallResponse = await client.call.createPhoneCall(
|
|
60
|
+
* {
|
|
61
|
+
* from_number: '+14157774444',
|
|
62
|
+
* to_number: '+12137774445',
|
|
63
|
+
* },
|
|
64
|
+
* );
|
|
59
65
|
* ```
|
|
60
66
|
*/
|
|
61
|
-
|
|
67
|
+
createPhoneCall(body: CallCreatePhoneCallParams, options?: RequestOptions): APIPromise<PhoneCallResponse>;
|
|
62
68
|
/**
|
|
63
|
-
*
|
|
69
|
+
* Create a new web call
|
|
64
70
|
*
|
|
65
71
|
* @example
|
|
66
72
|
* ```ts
|
|
67
|
-
* const
|
|
68
|
-
* '
|
|
69
|
-
*
|
|
70
|
-
* data_storage_setting: 'everything_except_pii',
|
|
71
|
-
* metadata: {
|
|
72
|
-
* customer_id: 'cust_123',
|
|
73
|
-
* notes: 'Follow-up required',
|
|
74
|
-
* },
|
|
75
|
-
* },
|
|
76
|
-
* );
|
|
73
|
+
* const webCallResponse = await client.call.createWebCall({
|
|
74
|
+
* agent_id: 'oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD',
|
|
75
|
+
* });
|
|
77
76
|
* ```
|
|
78
77
|
*/
|
|
79
|
-
|
|
78
|
+
createWebCall(body: CallCreateWebCallParams, options?: RequestOptions): APIPromise<WebCallResponse>;
|
|
80
79
|
/**
|
|
81
|
-
*
|
|
80
|
+
* Register a new phone call for custom telephony
|
|
82
81
|
*
|
|
83
82
|
* @example
|
|
84
83
|
* ```ts
|
|
85
|
-
*
|
|
84
|
+
* const phoneCallResponse =
|
|
85
|
+
* await client.call.registerPhoneCall({
|
|
86
|
+
* agent_id: 'oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD',
|
|
87
|
+
* });
|
|
86
88
|
* ```
|
|
87
89
|
*/
|
|
88
|
-
|
|
90
|
+
registerPhoneCall(body: CallRegisterPhoneCallParams, options?: RequestOptions): APIPromise<PhoneCallResponse>;
|
|
89
91
|
/**
|
|
90
|
-
*
|
|
92
|
+
* Stop an ongoing call.
|
|
91
93
|
*
|
|
92
94
|
* @example
|
|
93
95
|
* ```ts
|
|
94
|
-
* await client.call.
|
|
95
|
-
* '119c3f8e47135a29e65947eeb34cf12d',
|
|
96
|
-
* );
|
|
96
|
+
* await client.call.stop('call_a4441234567890777c4a4a123e6');
|
|
97
97
|
* ```
|
|
98
98
|
*/
|
|
99
|
-
|
|
99
|
+
stop(callID: string, options?: RequestOptions): APIPromise<void>;
|
|
100
100
|
}
|
|
101
101
|
export type CallResponse = WebCallResponse | PhoneCallResponse;
|
|
102
102
|
export interface PhoneCallResponse {
|
|
@@ -3235,993 +3235,705 @@ export declare namespace CallListResponse {
|
|
|
3235
3235
|
}
|
|
3236
3236
|
}
|
|
3237
3237
|
}
|
|
3238
|
-
export interface
|
|
3238
|
+
export interface CallUpdateParams {
|
|
3239
3239
|
/**
|
|
3240
|
-
*
|
|
3241
|
-
*
|
|
3240
|
+
* Custom attributes for the call, as key-value pairs. Each attribute must first be
|
|
3241
|
+
* defined for your organization in the Retell dashboard (Call History → Actions →
|
|
3242
|
+
* Custom attributes) before it can be set here. The object key must match the id
|
|
3243
|
+
* of an existing organization-level custom attribute; keys that do not match a
|
|
3244
|
+
* defined attribute are ignored and will not be saved. Values must be a string,
|
|
3245
|
+
* number, or boolean.
|
|
3242
3246
|
*/
|
|
3243
|
-
|
|
3247
|
+
custom_attributes?: {
|
|
3248
|
+
[key: string]: string | number | boolean;
|
|
3249
|
+
};
|
|
3244
3250
|
/**
|
|
3245
|
-
*
|
|
3246
|
-
*
|
|
3251
|
+
* Data storage setting for this call. Overrides the agent's default setting.
|
|
3252
|
+
* "everything" stores all data, "everything_except_pii" excludes PII when
|
|
3253
|
+
* possible, "basic_attributes_only" stores only metadata. Cannot be downgraded
|
|
3254
|
+
* from more restrictive to less restrictive settings.
|
|
3247
3255
|
*/
|
|
3248
|
-
|
|
3256
|
+
data_storage_setting?: 'everything' | 'everything_except_pii' | 'basic_attributes_only';
|
|
3249
3257
|
/**
|
|
3250
|
-
*
|
|
3251
|
-
*
|
|
3252
|
-
* the
|
|
3258
|
+
* An arbitrary object for storage purpose only. You can put anything here like
|
|
3259
|
+
* your internal customer id associated with the call. Not used for processing. You
|
|
3260
|
+
* can later get this field from the call object. Size limited to 50kB max.
|
|
3253
3261
|
*/
|
|
3254
|
-
|
|
3262
|
+
metadata?: unknown;
|
|
3263
|
+
}
|
|
3264
|
+
export interface CallListParams {
|
|
3255
3265
|
/**
|
|
3256
|
-
*
|
|
3266
|
+
* Filter criteria for calls. All conditions are implicitly connected with AND.
|
|
3257
3267
|
*/
|
|
3258
|
-
|
|
3259
|
-
[key: string]: string;
|
|
3260
|
-
};
|
|
3268
|
+
filter_criteria?: CallListParams.FilterCriteria;
|
|
3261
3269
|
/**
|
|
3262
|
-
*
|
|
3263
|
-
*
|
|
3264
|
-
*
|
|
3265
|
-
*
|
|
3270
|
+
* Whether to include `total` (count of all calls matching `filter_criteria`,
|
|
3271
|
+
* ignoring `limit`/`skip`/`pagination_key`) in the response. Defaults to false.
|
|
3272
|
+
* Each enabled request triggers an additional aggregate query, so opt in only when
|
|
3273
|
+
* the total is needed.
|
|
3266
3274
|
*/
|
|
3267
|
-
|
|
3275
|
+
include_total?: boolean;
|
|
3268
3276
|
/**
|
|
3269
|
-
*
|
|
3270
|
-
* your internal customer id associated with the call. Not used for processing. You
|
|
3271
|
-
* can later get this field from the call object.
|
|
3277
|
+
* Maximum number of calls to return.
|
|
3272
3278
|
*/
|
|
3273
|
-
|
|
3279
|
+
limit?: number;
|
|
3274
3280
|
/**
|
|
3275
|
-
*
|
|
3276
|
-
* not bind the agent to this number, this is for one time override.
|
|
3281
|
+
* Opaque pagination cursor from a previous response.
|
|
3277
3282
|
*/
|
|
3278
|
-
|
|
3283
|
+
pagination_key?: string;
|
|
3279
3284
|
/**
|
|
3280
|
-
*
|
|
3281
|
-
* This does not bind the agent version to this number, this is for one time
|
|
3282
|
-
* override.
|
|
3285
|
+
* Number of records to skip for pagination.
|
|
3283
3286
|
*/
|
|
3284
|
-
|
|
3287
|
+
skip?: number;
|
|
3285
3288
|
/**
|
|
3286
|
-
*
|
|
3287
|
-
* your Response Engine prompt and tool description. Only applicable for Response
|
|
3288
|
-
* Engine.
|
|
3289
|
+
* Sort calls by `start_timestamp` in ascending or descending order.
|
|
3289
3290
|
*/
|
|
3290
|
-
|
|
3291
|
-
[key: string]: string;
|
|
3292
|
-
};
|
|
3291
|
+
sort_order?: 'ascending' | 'descending';
|
|
3293
3292
|
}
|
|
3294
|
-
export declare namespace
|
|
3293
|
+
export declare namespace CallListParams {
|
|
3295
3294
|
/**
|
|
3296
|
-
*
|
|
3297
|
-
* allows you to customize agent behavior for individual calls without modifying
|
|
3298
|
-
* the base agent.
|
|
3295
|
+
* Filter criteria for calls. All conditions are implicitly connected with AND.
|
|
3299
3296
|
*/
|
|
3300
|
-
interface
|
|
3297
|
+
interface FilterCriteria {
|
|
3301
3298
|
/**
|
|
3302
|
-
*
|
|
3303
|
-
* override the base agent configuration for this call.
|
|
3299
|
+
* Filter by agent(s). Agent filters are connected by OR.
|
|
3304
3300
|
*/
|
|
3305
|
-
agent?:
|
|
3301
|
+
agent?: Array<FilterCriteria.Agent>;
|
|
3306
3302
|
/**
|
|
3307
|
-
*
|
|
3308
|
-
* conversation flow as the response engine. Supported attributes - model_choice,
|
|
3309
|
-
* model_temperature, tool_call_strict_mode, knowledge_base_ids, kb_config,
|
|
3310
|
-
* start_speaker, begin_after_user_silence_ms.
|
|
3303
|
+
* Filter by agent environment tag(s) (e.g. "prod", "staging").
|
|
3311
3304
|
*/
|
|
3312
|
-
|
|
3305
|
+
agent_tag?: FilterCriteria.AgentTag;
|
|
3313
3306
|
/**
|
|
3314
|
-
*
|
|
3315
|
-
* LLM as the response engine. Supported attributes - model, s2s_model,
|
|
3316
|
-
* model_temperature, model_high_priority, tool_call_strict_mode,
|
|
3317
|
-
* knowledge_base_ids, kb_config, start_speaker, begin_after_user_silence_ms,
|
|
3318
|
-
* begin_message.
|
|
3307
|
+
* Filter by batch call ID.
|
|
3319
3308
|
*/
|
|
3320
|
-
|
|
3321
|
-
}
|
|
3322
|
-
namespace AgentOverride {
|
|
3309
|
+
batch_call_id?: FilterCriteria.BatchCallID;
|
|
3323
3310
|
/**
|
|
3324
|
-
*
|
|
3325
|
-
* override the base agent configuration for this call.
|
|
3311
|
+
* Filter by call ID.
|
|
3326
3312
|
*/
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
|
|
3378
|
-
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3313
|
+
call_id?: FilterCriteria.StringFilter | FilterCriteria.EnumFilter;
|
|
3314
|
+
call_status?: FilterCriteria.CallStatus;
|
|
3315
|
+
/**
|
|
3316
|
+
* Filter by whether the call was successful.
|
|
3317
|
+
*/
|
|
3318
|
+
call_successful?: FilterCriteria.CallSuccessful;
|
|
3319
|
+
call_type?: FilterCriteria.CallType;
|
|
3320
|
+
/**
|
|
3321
|
+
* Filter by combined cost of the call.
|
|
3322
|
+
*/
|
|
3323
|
+
combined_cost?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
|
|
3324
|
+
/**
|
|
3325
|
+
* Filter by custom analysis data fields.
|
|
3326
|
+
*/
|
|
3327
|
+
custom_analysis_data?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
|
|
3328
|
+
/**
|
|
3329
|
+
* Filter by custom attributes fields.
|
|
3330
|
+
*/
|
|
3331
|
+
custom_attributes?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
|
|
3332
|
+
data_storage_setting?: FilterCriteria.DataStorageSetting;
|
|
3333
|
+
direction?: FilterCriteria.Direction;
|
|
3334
|
+
disconnection_reason?: FilterCriteria.DisconnectionReason;
|
|
3335
|
+
/**
|
|
3336
|
+
* Filter by call duration in milliseconds.
|
|
3337
|
+
*/
|
|
3338
|
+
duration_ms?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
|
|
3339
|
+
/**
|
|
3340
|
+
* Filter by dynamic variables.
|
|
3341
|
+
*/
|
|
3342
|
+
dynamic_variables?: Array<FilterCriteria.DynamicVariable>;
|
|
3343
|
+
/**
|
|
3344
|
+
* Filter by end-to-end latency p50.
|
|
3345
|
+
*/
|
|
3346
|
+
e2e_latency_p50?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
|
|
3347
|
+
/**
|
|
3348
|
+
* Filter by call end timestamp (epoch ms).
|
|
3349
|
+
*/
|
|
3350
|
+
end_timestamp?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
|
|
3351
|
+
/**
|
|
3352
|
+
* Filter by from number.
|
|
3353
|
+
*/
|
|
3354
|
+
from_number?: FilterCriteria.FromNumber;
|
|
3355
|
+
/**
|
|
3356
|
+
* Filter by whether the call is in voicemail.
|
|
3357
|
+
*/
|
|
3358
|
+
in_voicemail?: FilterCriteria.InVoicemail;
|
|
3359
|
+
/**
|
|
3360
|
+
* Filter by metadata fields.
|
|
3361
|
+
*/
|
|
3362
|
+
metadata?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
|
|
3363
|
+
/**
|
|
3364
|
+
* Filter by call start timestamp (epoch ms).
|
|
3365
|
+
*/
|
|
3366
|
+
start_timestamp?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
|
|
3367
|
+
/**
|
|
3368
|
+
* Filter by to number.
|
|
3369
|
+
*/
|
|
3370
|
+
to_number?: FilterCriteria.ToNumber;
|
|
3371
|
+
/**
|
|
3372
|
+
* Filter by tool call criteria. Tool call filters are connected by AND.
|
|
3373
|
+
*/
|
|
3374
|
+
tool_calls?: Array<FilterCriteria.ToolCall>;
|
|
3375
|
+
user_sentiment?: FilterCriteria.UserSentiment;
|
|
3376
|
+
}
|
|
3377
|
+
namespace FilterCriteria {
|
|
3378
|
+
interface Agent {
|
|
3392
3379
|
/**
|
|
3393
|
-
*
|
|
3394
|
-
* these words are more likely to get transcribed. Commonly used for names, brands,
|
|
3395
|
-
* street, etc. Entries may reference dynamic variables with `{{variable}}` syntax.
|
|
3380
|
+
* The agent ID to filter on.
|
|
3396
3381
|
*/
|
|
3397
|
-
|
|
3382
|
+
agent_id: string;
|
|
3398
3383
|
/**
|
|
3399
|
-
*
|
|
3400
|
-
* instructions for identity and call purpose questions. Set this to null to
|
|
3401
|
-
* disable call screen prompt instructions.
|
|
3384
|
+
* Specific versions to filter on. If not provided, all versions are included.
|
|
3402
3385
|
*/
|
|
3403
|
-
|
|
3386
|
+
version?: Array<number>;
|
|
3387
|
+
}
|
|
3388
|
+
/**
|
|
3389
|
+
* Filter by agent environment tag(s) (e.g. "prod", "staging").
|
|
3390
|
+
*/
|
|
3391
|
+
interface AgentTag {
|
|
3404
3392
|
/**
|
|
3405
|
-
*
|
|
3393
|
+
* in: value is one of the listed values
|
|
3406
3394
|
*/
|
|
3407
|
-
|
|
3395
|
+
op: 'in';
|
|
3396
|
+
type: 'enum';
|
|
3397
|
+
value: Array<string>;
|
|
3398
|
+
}
|
|
3399
|
+
/**
|
|
3400
|
+
* Filter by batch call ID.
|
|
3401
|
+
*/
|
|
3402
|
+
interface BatchCallID {
|
|
3408
3403
|
/**
|
|
3409
|
-
*
|
|
3410
|
-
* between 1 and 730 days. If not set, data is retained forever (no automatic
|
|
3411
|
-
* deletion).
|
|
3404
|
+
* eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
|
|
3412
3405
|
*/
|
|
3413
|
-
|
|
3406
|
+
op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
|
|
3407
|
+
type: 'string';
|
|
3408
|
+
value: string;
|
|
3409
|
+
}
|
|
3410
|
+
interface StringFilter {
|
|
3414
3411
|
/**
|
|
3415
|
-
*
|
|
3416
|
-
* recordings, logs, etc.). This replaces the deprecated
|
|
3417
|
-
* `opt_out_sensitive_data_storage` field.
|
|
3418
|
-
*
|
|
3419
|
-
* - `everything`: Store all data including transcripts, recordings, and logs.
|
|
3420
|
-
* - `everything_except_pii`: Store data without PII when PII is detected.
|
|
3421
|
-
* - `basic_attributes_only`: Store only basic attributes; no
|
|
3422
|
-
* transcripts/recordings/logs. If not set, default value of "everything" will
|
|
3423
|
-
* apply.
|
|
3412
|
+
* eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
|
|
3424
3413
|
*/
|
|
3425
|
-
|
|
3414
|
+
op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
|
|
3415
|
+
type: 'string';
|
|
3416
|
+
value: string;
|
|
3417
|
+
}
|
|
3418
|
+
interface EnumFilter {
|
|
3426
3419
|
/**
|
|
3427
|
-
*
|
|
3428
|
-
* audio denoising. Default to noise-cancellation.
|
|
3420
|
+
* in: value is one of the listed values
|
|
3429
3421
|
*/
|
|
3430
|
-
|
|
3422
|
+
op: 'in';
|
|
3423
|
+
type: 'enum';
|
|
3424
|
+
value: Array<string>;
|
|
3425
|
+
}
|
|
3426
|
+
interface CallStatus {
|
|
3431
3427
|
/**
|
|
3432
|
-
*
|
|
3433
|
-
* phrases like "yeah", "uh-huh" to signify interest and engagement). Backchannel
|
|
3434
|
-
* when enabled tends to show up more in longer user utterances. If not set, agent
|
|
3435
|
-
* will not backchannel.
|
|
3428
|
+
* in: value is one of the listed values
|
|
3436
3429
|
*/
|
|
3437
|
-
|
|
3430
|
+
op: 'in';
|
|
3431
|
+
type: 'enum';
|
|
3432
|
+
value: Array<'not_connected' | 'ongoing' | 'ended' | 'error'>;
|
|
3433
|
+
}
|
|
3434
|
+
/**
|
|
3435
|
+
* Filter by whether the call was successful.
|
|
3436
|
+
*/
|
|
3437
|
+
interface CallSuccessful {
|
|
3438
|
+
op: 'eq';
|
|
3439
|
+
type: 'boolean';
|
|
3440
|
+
value: boolean;
|
|
3441
|
+
}
|
|
3442
|
+
interface CallType {
|
|
3438
3443
|
/**
|
|
3439
|
-
*
|
|
3440
|
-
* on the user's speech rate and past turn-taking behavior in the call. If unset,
|
|
3441
|
-
* default value false will apply.
|
|
3444
|
+
* in: value is one of the listed values
|
|
3442
3445
|
*/
|
|
3443
|
-
|
|
3446
|
+
op: 'in';
|
|
3447
|
+
type: 'enum';
|
|
3448
|
+
value: Array<'web_call' | 'phone_call'>;
|
|
3449
|
+
}
|
|
3450
|
+
interface NumberFilter {
|
|
3444
3451
|
/**
|
|
3445
|
-
*
|
|
3446
|
-
*
|
|
3452
|
+
* eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
|
|
3453
|
+
* than, le: less than or equal
|
|
3447
3454
|
*/
|
|
3448
|
-
|
|
3455
|
+
op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
|
|
3456
|
+
type: 'number';
|
|
3457
|
+
value: number;
|
|
3458
|
+
}
|
|
3459
|
+
interface RangeFilter {
|
|
3449
3460
|
/**
|
|
3450
|
-
*
|
|
3451
|
-
* tags to the audio it generates. Only applicable for platform voices. If unset,
|
|
3452
|
-
* defaults to false.
|
|
3461
|
+
* bt: between
|
|
3453
3462
|
*/
|
|
3454
|
-
|
|
3463
|
+
op: 'bt';
|
|
3464
|
+
type: 'range';
|
|
3455
3465
|
/**
|
|
3456
|
-
*
|
|
3457
|
-
* value allowed is 10,000 ms (10 s). By default, this is set to 600000 (10 min).
|
|
3466
|
+
* [lower_bound, upper_bound]
|
|
3458
3467
|
*/
|
|
3459
|
-
|
|
3468
|
+
value: Array<number>;
|
|
3469
|
+
}
|
|
3470
|
+
interface StringFilter {
|
|
3460
3471
|
/**
|
|
3461
|
-
*
|
|
3462
|
-
* enable_expressive_mode is true. Custom tags defined in the system prompt are
|
|
3463
|
-
* still allowed. If empty, the agent follows general expressive guidance without a
|
|
3464
|
-
* fixed tag set.
|
|
3472
|
+
* eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
|
|
3465
3473
|
*/
|
|
3466
|
-
|
|
3474
|
+
op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
|
|
3475
|
+
type: 'string';
|
|
3476
|
+
value: string;
|
|
3467
3477
|
/**
|
|
3468
|
-
*
|
|
3469
|
-
* prompt when enable_expressive_mode is true. If omitted or blank, the default
|
|
3470
|
-
* expressive prompt will be used.
|
|
3478
|
+
* The field name to filter on.
|
|
3471
3479
|
*/
|
|
3472
|
-
|
|
3480
|
+
key?: string;
|
|
3481
|
+
}
|
|
3482
|
+
interface NumberFilter {
|
|
3473
3483
|
/**
|
|
3474
|
-
*
|
|
3475
|
-
*
|
|
3476
|
-
* must be from different TTS providers. The system would go through the list in
|
|
3477
|
-
* order, if the first one in the list is also having outage, it would use the next
|
|
3478
|
-
* one. Set to null to remove voice fallback for the agent.
|
|
3484
|
+
* eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
|
|
3485
|
+
* than, le: less than or equal
|
|
3479
3486
|
*/
|
|
3480
|
-
|
|
3487
|
+
op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
|
|
3488
|
+
type: 'number';
|
|
3489
|
+
value: number;
|
|
3481
3490
|
/**
|
|
3482
|
-
*
|
|
3483
|
-
* agent output and user input.
|
|
3491
|
+
* The field name to filter on.
|
|
3484
3492
|
*/
|
|
3485
|
-
|
|
3493
|
+
key?: string;
|
|
3494
|
+
}
|
|
3495
|
+
interface BooleanFilter {
|
|
3496
|
+
op: 'eq';
|
|
3497
|
+
type: 'boolean';
|
|
3498
|
+
value: boolean;
|
|
3486
3499
|
/**
|
|
3487
|
-
*
|
|
3500
|
+
* The field name to filter on.
|
|
3488
3501
|
*/
|
|
3489
|
-
|
|
3502
|
+
key?: string;
|
|
3503
|
+
}
|
|
3504
|
+
interface RangeFilter {
|
|
3490
3505
|
/**
|
|
3491
|
-
*
|
|
3492
|
-
* [0,1]. Lower value means it will take longer / more words for user to interrupt
|
|
3493
|
-
* agent, while higher value means it's easier for user to interrupt agent. If
|
|
3494
|
-
* unset, default value 1 will apply. When this is set to 0, agent would never be
|
|
3495
|
-
* interrupted.
|
|
3506
|
+
* bt: between
|
|
3496
3507
|
*/
|
|
3497
|
-
|
|
3508
|
+
op: 'bt';
|
|
3509
|
+
type: 'range';
|
|
3498
3510
|
/**
|
|
3499
|
-
*
|
|
3500
|
-
* the call. Actions defined will be applied when the IVR is detected. Set this to
|
|
3501
|
-
* null to disable IVR detection.
|
|
3511
|
+
* [lower_bound, upper_bound]
|
|
3502
3512
|
*/
|
|
3503
|
-
|
|
3513
|
+
value: Array<number>;
|
|
3504
3514
|
/**
|
|
3505
|
-
*
|
|
3506
|
-
* scalar locale (e.g. `en-US`), the legacy scalar value `multi` for multilingual
|
|
3507
|
-
* support, or an array of concrete locale codes for explicit multi-locale
|
|
3508
|
-
* selection (e.g. `["en-US","es-ES"]`). The array form must contain concrete
|
|
3509
|
-
* locale codes only — the `multi` value is valid only as the scalar legacy form
|
|
3510
|
-
* and must not appear inside an array. Single-element arrays are normalized to the
|
|
3511
|
-
* equivalent scalar on output. If unset, defaults to `en-US`.
|
|
3515
|
+
* The field name to filter on.
|
|
3512
3516
|
*/
|
|
3513
|
-
|
|
3517
|
+
key?: string;
|
|
3518
|
+
}
|
|
3519
|
+
interface EnumFilter {
|
|
3514
3520
|
/**
|
|
3515
|
-
*
|
|
3516
|
-
* minimum value allowed is 60,000 ms (1 min), and maximum value allowed is
|
|
3517
|
-
* 7,200,000 (2 hours). By default, this is set to 3,600,000 (1 hour).
|
|
3521
|
+
* in: value is one of the listed values
|
|
3518
3522
|
*/
|
|
3519
|
-
|
|
3523
|
+
op: 'in';
|
|
3524
|
+
type: 'enum';
|
|
3525
|
+
value: Array<string>;
|
|
3520
3526
|
/**
|
|
3521
|
-
*
|
|
3522
|
-
* enabled, the generated URLs will include security signatures that restrict
|
|
3523
|
-
* access and automatically expire after 24 hours.
|
|
3527
|
+
* The field name to filter on.
|
|
3524
3528
|
*/
|
|
3525
|
-
|
|
3529
|
+
key?: string;
|
|
3530
|
+
}
|
|
3531
|
+
interface PresentFilter {
|
|
3526
3532
|
/**
|
|
3527
|
-
*
|
|
3533
|
+
* pr: present (has value), np: not present
|
|
3528
3534
|
*/
|
|
3529
|
-
|
|
3535
|
+
op: 'pr' | 'np';
|
|
3536
|
+
type: 'present';
|
|
3530
3537
|
/**
|
|
3531
|
-
*
|
|
3532
|
-
* pre-defined variables extracted in the call analysis. This will be available
|
|
3533
|
-
* after the call ends.
|
|
3538
|
+
* The field name to filter on.
|
|
3534
3539
|
*/
|
|
3535
|
-
|
|
3540
|
+
key?: string;
|
|
3541
|
+
}
|
|
3542
|
+
interface StringFilter {
|
|
3536
3543
|
/**
|
|
3537
|
-
*
|
|
3544
|
+
* eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
|
|
3538
3545
|
*/
|
|
3539
|
-
|
|
3546
|
+
op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
|
|
3547
|
+
type: 'string';
|
|
3548
|
+
value: string;
|
|
3540
3549
|
/**
|
|
3541
|
-
*
|
|
3542
|
-
* synthesize for consistent pronunciation. Check the dashboard to see what
|
|
3543
|
-
* provider supports this feature. Set to null to remove pronunciation dictionary
|
|
3544
|
-
* from this agent.
|
|
3550
|
+
* The field name to filter on.
|
|
3545
3551
|
*/
|
|
3546
|
-
|
|
3552
|
+
key?: string;
|
|
3553
|
+
}
|
|
3554
|
+
interface NumberFilter {
|
|
3547
3555
|
/**
|
|
3548
|
-
*
|
|
3549
|
-
*
|
|
3550
|
-
* apply (remind once). Set to 0 to disable agent from reminding.
|
|
3556
|
+
* eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
|
|
3557
|
+
* than, le: less than or equal
|
|
3551
3558
|
*/
|
|
3552
|
-
|
|
3559
|
+
op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
|
|
3560
|
+
type: 'number';
|
|
3561
|
+
value: number;
|
|
3553
3562
|
/**
|
|
3554
|
-
*
|
|
3555
|
-
* user has been silent for the specified duration after some agent speech. Must be
|
|
3556
|
-
* a positive number. If unset, default value of 10000 ms (10 s) will apply.
|
|
3563
|
+
* The field name to filter on.
|
|
3557
3564
|
*/
|
|
3558
|
-
|
|
3565
|
+
key?: string;
|
|
3566
|
+
}
|
|
3567
|
+
interface BooleanFilter {
|
|
3568
|
+
op: 'eq';
|
|
3569
|
+
type: 'boolean';
|
|
3570
|
+
value: boolean;
|
|
3559
3571
|
/**
|
|
3560
|
-
* The
|
|
3561
|
-
* the agent. You need to create a Response Engine first before attaching it to an
|
|
3562
|
-
* agent.
|
|
3572
|
+
* The field name to filter on.
|
|
3563
3573
|
*/
|
|
3564
|
-
|
|
3574
|
+
key?: string;
|
|
3575
|
+
}
|
|
3576
|
+
interface RangeFilter {
|
|
3565
3577
|
/**
|
|
3566
|
-
*
|
|
3567
|
-
* means less responsive agent (wait more, respond slower), while higher value
|
|
3568
|
-
* means faster exchanges (respond when it can). If unset, default value 1 will
|
|
3569
|
-
* apply.
|
|
3578
|
+
* bt: between
|
|
3570
3579
|
*/
|
|
3571
|
-
|
|
3580
|
+
op: 'bt';
|
|
3581
|
+
type: 'range';
|
|
3572
3582
|
/**
|
|
3573
|
-
*
|
|
3574
|
-
* This applies for both outbound call ringtime, and call transfer ringtime.
|
|
3575
|
-
* Default to 30000 (30 s). Valid range is [5000, 300000].
|
|
3583
|
+
* [lower_bound, upper_bound]
|
|
3576
3584
|
*/
|
|
3577
|
-
|
|
3585
|
+
value: Array<number>;
|
|
3578
3586
|
/**
|
|
3579
|
-
* The
|
|
3580
|
-
* opt_in_signed_url is true. If not set, default value of 86400000 (24 hours) will
|
|
3581
|
-
* apply.
|
|
3587
|
+
* The field name to filter on.
|
|
3582
3588
|
*/
|
|
3583
|
-
|
|
3589
|
+
key?: string;
|
|
3590
|
+
}
|
|
3591
|
+
interface EnumFilter {
|
|
3584
3592
|
/**
|
|
3585
|
-
*
|
|
3586
|
-
* Default to fast mode. When set to custom, custom_stt_config must be provided.
|
|
3593
|
+
* in: value is one of the listed values
|
|
3587
3594
|
*/
|
|
3588
|
-
|
|
3595
|
+
op: 'in';
|
|
3596
|
+
type: 'enum';
|
|
3597
|
+
value: Array<string>;
|
|
3589
3598
|
/**
|
|
3590
|
-
*
|
|
3591
|
-
* America/Los_Angeles if not set.
|
|
3599
|
+
* The field name to filter on.
|
|
3592
3600
|
*/
|
|
3593
|
-
|
|
3594
|
-
|
|
3601
|
+
key?: string;
|
|
3602
|
+
}
|
|
3603
|
+
interface PresentFilter {
|
|
3595
3604
|
/**
|
|
3596
|
-
*
|
|
3597
|
-
* documentation.
|
|
3605
|
+
* pr: present (has value), np: not present
|
|
3598
3606
|
*/
|
|
3599
|
-
|
|
3607
|
+
op: 'pr' | 'np';
|
|
3608
|
+
type: 'present';
|
|
3600
3609
|
/**
|
|
3601
|
-
*
|
|
3610
|
+
* The field name to filter on.
|
|
3602
3611
|
*/
|
|
3603
|
-
|
|
3612
|
+
key?: string;
|
|
3613
|
+
}
|
|
3614
|
+
interface DataStorageSetting {
|
|
3604
3615
|
/**
|
|
3605
|
-
*
|
|
3606
|
-
* only applies for English agents, for non English agent, this setting is a no-op.
|
|
3607
|
-
* Default to general.
|
|
3616
|
+
* in: value is one of the listed values
|
|
3608
3617
|
*/
|
|
3609
|
-
|
|
3618
|
+
op: 'in';
|
|
3619
|
+
type: 'enum';
|
|
3620
|
+
value: Array<'everything' | 'everything_except_pii' | 'basic_attributes_only'>;
|
|
3621
|
+
}
|
|
3622
|
+
interface Direction {
|
|
3610
3623
|
/**
|
|
3611
|
-
*
|
|
3612
|
-
* Cartesia and Minimax TTS providers. If unset, no emotion will be used.
|
|
3624
|
+
* in: value is one of the listed values
|
|
3613
3625
|
*/
|
|
3614
|
-
|
|
3626
|
+
op: 'in';
|
|
3627
|
+
type: 'enum';
|
|
3628
|
+
value: Array<'inbound' | 'outbound'>;
|
|
3629
|
+
}
|
|
3630
|
+
interface DisconnectionReason {
|
|
3615
3631
|
/**
|
|
3616
|
-
*
|
|
3617
|
-
* preview in Dashboard.
|
|
3632
|
+
* in: value is one of the listed values
|
|
3618
3633
|
*/
|
|
3619
|
-
|
|
3634
|
+
op: 'in';
|
|
3635
|
+
type: 'enum';
|
|
3636
|
+
value: Array<'user_hangup' | 'agent_hangup' | 'call_transfer' | 'voicemail_reached' | 'ivr_reached' | 'inactivity' | 'max_duration_reached' | 'concurrency_limit_reached' | 'no_concurrency_fallback' | 'no_valid_payment' | 'scam_detected' | 'dial_busy' | 'dial_failed' | 'dial_no_answer' | 'invalid_destination' | 'telephony_provider_permission_denied' | 'telephony_provider_unavailable' | 'sip_routing_error' | 'marked_as_spam' | 'user_declined' | 'error_llm_websocket_open' | 'error_llm_websocket_lost_connection' | 'error_llm_websocket_runtime' | 'error_llm_websocket_corrupt_payload' | 'error_no_audio_received' | 'error_asr' | 'error_retell' | 'error_unknown' | 'error_user_not_joined' | 'registered_call_timeout' | 'transfer_bridged' | 'transfer_cancelled' | 'manual_stopped' | 'call_take_over'>;
|
|
3637
|
+
}
|
|
3638
|
+
interface NumberFilter {
|
|
3620
3639
|
/**
|
|
3621
|
-
*
|
|
3622
|
-
*
|
|
3623
|
-
* ones will apply. Check out dashboard for more details of each voice model.
|
|
3640
|
+
* eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
|
|
3641
|
+
* than, le: less than or equal
|
|
3624
3642
|
*/
|
|
3625
|
-
|
|
3643
|
+
op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
|
|
3644
|
+
type: 'number';
|
|
3645
|
+
value: number;
|
|
3646
|
+
}
|
|
3647
|
+
interface RangeFilter {
|
|
3626
3648
|
/**
|
|
3627
|
-
*
|
|
3628
|
-
* speech, while higher value means faster speech rate. If unset, default value 1
|
|
3629
|
-
* will apply.
|
|
3649
|
+
* bt: between
|
|
3630
3650
|
*/
|
|
3631
|
-
|
|
3651
|
+
op: 'bt';
|
|
3652
|
+
type: 'range';
|
|
3632
3653
|
/**
|
|
3633
|
-
*
|
|
3634
|
-
* more stable, and higher value means more variant speech generation. Check the
|
|
3635
|
-
* dashboard to see what provider supports this feature. If unset, default value 1
|
|
3636
|
-
* will apply.
|
|
3654
|
+
* [lower_bound, upper_bound]
|
|
3637
3655
|
*/
|
|
3638
|
-
|
|
3656
|
+
value: Array<number>;
|
|
3657
|
+
}
|
|
3658
|
+
interface DynamicVariable {
|
|
3639
3659
|
/**
|
|
3640
|
-
*
|
|
3641
|
-
* minutes of the call. Actions defined (hangup, or leave a message) will be
|
|
3642
|
-
* applied when the voicemail is detected. Set this to null to disable voicemail
|
|
3643
|
-
* detection.
|
|
3660
|
+
* The dynamic variable name to filter on.
|
|
3644
3661
|
*/
|
|
3645
|
-
|
|
3662
|
+
key: string;
|
|
3646
3663
|
/**
|
|
3647
|
-
*
|
|
3648
|
-
* value means quieter agent speech, while higher value means louder agent speech.
|
|
3649
|
-
* If unset, default value 1 will apply.
|
|
3664
|
+
* eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
|
|
3650
3665
|
*/
|
|
3651
|
-
|
|
3666
|
+
op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
|
|
3667
|
+
type: 'string';
|
|
3668
|
+
value: string;
|
|
3669
|
+
}
|
|
3670
|
+
interface NumberFilter {
|
|
3652
3671
|
/**
|
|
3653
|
-
*
|
|
3654
|
-
*
|
|
3672
|
+
* eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
|
|
3673
|
+
* than, le: less than or equal
|
|
3655
3674
|
*/
|
|
3656
|
-
|
|
3675
|
+
op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
|
|
3676
|
+
type: 'number';
|
|
3677
|
+
value: number;
|
|
3678
|
+
}
|
|
3679
|
+
interface RangeFilter {
|
|
3657
3680
|
/**
|
|
3658
|
-
*
|
|
3659
|
-
* will apply.
|
|
3681
|
+
* bt: between
|
|
3660
3682
|
*/
|
|
3661
|
-
|
|
3683
|
+
op: 'bt';
|
|
3684
|
+
type: 'range';
|
|
3662
3685
|
/**
|
|
3663
|
-
*
|
|
3664
|
-
* [webhook doc](/features/webhook). If set, will binds webhook events for this
|
|
3665
|
-
* agent to the specified url, and will ignore the account level webhook for this
|
|
3666
|
-
* agent. Set to `null` to remove webhook url from this agent.
|
|
3686
|
+
* [lower_bound, upper_bound]
|
|
3667
3687
|
*/
|
|
3668
|
-
|
|
3688
|
+
value: Array<number>;
|
|
3669
3689
|
}
|
|
3670
|
-
|
|
3690
|
+
interface NumberFilter {
|
|
3671
3691
|
/**
|
|
3672
|
-
*
|
|
3673
|
-
*
|
|
3674
|
-
* disable call screen prompt instructions.
|
|
3692
|
+
* eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
|
|
3693
|
+
* than, le: less than or equal
|
|
3675
3694
|
*/
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
agent_identity: string;
|
|
3682
|
-
/**
|
|
3683
|
-
* Purpose the agent should provide when a call screen asks why it is calling.
|
|
3684
|
-
* Dynamic variables are supported.
|
|
3685
|
-
*/
|
|
3686
|
-
call_purpose: string;
|
|
3687
|
-
}
|
|
3695
|
+
op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
|
|
3696
|
+
type: 'number';
|
|
3697
|
+
value: number;
|
|
3698
|
+
}
|
|
3699
|
+
interface RangeFilter {
|
|
3688
3700
|
/**
|
|
3689
|
-
*
|
|
3701
|
+
* bt: between
|
|
3690
3702
|
*/
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
* Endpointing timeout in milliseconds. Minimum is 100 for Azure, 10 for Deepgram,
|
|
3694
|
-
* 500 for Soniox, 100 for AssemblyAI.
|
|
3695
|
-
*/
|
|
3696
|
-
endpointing_ms: number;
|
|
3697
|
-
/**
|
|
3698
|
-
* ASR provider name.
|
|
3699
|
-
*/
|
|
3700
|
-
provider: 'azure' | 'deepgram' | 'soniox' | 'assemblyai';
|
|
3701
|
-
}
|
|
3703
|
+
op: 'bt';
|
|
3704
|
+
type: 'range';
|
|
3702
3705
|
/**
|
|
3703
|
-
*
|
|
3704
|
-
* agent output and user input.
|
|
3706
|
+
* [lower_bound, upper_bound]
|
|
3705
3707
|
*/
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
input_topics?: Array<'platform_integrity_jailbreaking'> | null;
|
|
3713
|
-
/**
|
|
3714
|
-
* Selected prohibited agent topic categories to check. When agent messages contain
|
|
3715
|
-
* these topics, they will be replaced with a placeholder message.
|
|
3716
|
-
*/
|
|
3717
|
-
output_topics?: Array<'harassment' | 'self_harm' | 'sexual_exploitation' | 'violence' | 'defense_and_national_security' | 'illicit_and_harmful_activity' | 'gambling' | 'regulated_professional_advice' | 'child_safety_and_exploitation'> | null;
|
|
3718
|
-
}
|
|
3708
|
+
value: Array<number>;
|
|
3709
|
+
}
|
|
3710
|
+
/**
|
|
3711
|
+
* Filter by from number.
|
|
3712
|
+
*/
|
|
3713
|
+
interface FromNumber {
|
|
3719
3714
|
/**
|
|
3720
|
-
*
|
|
3715
|
+
* eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
|
|
3721
3716
|
*/
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3717
|
+
op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
|
|
3718
|
+
type: 'string';
|
|
3719
|
+
value: string;
|
|
3720
|
+
}
|
|
3721
|
+
/**
|
|
3722
|
+
* Filter by whether the call is in voicemail.
|
|
3723
|
+
*/
|
|
3724
|
+
interface InVoicemail {
|
|
3725
|
+
op: 'eq';
|
|
3726
|
+
type: 'boolean';
|
|
3727
|
+
value: boolean;
|
|
3728
|
+
}
|
|
3729
|
+
interface StringFilter {
|
|
3730
|
+
/**
|
|
3731
|
+
* eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
|
|
3732
|
+
*/
|
|
3733
|
+
op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
|
|
3734
|
+
type: 'string';
|
|
3735
|
+
value: string;
|
|
3736
|
+
/**
|
|
3737
|
+
* The field name to filter on.
|
|
3738
|
+
*/
|
|
3739
|
+
key?: string;
|
|
3740
|
+
}
|
|
3741
|
+
interface NumberFilter {
|
|
3742
|
+
/**
|
|
3743
|
+
* eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
|
|
3744
|
+
* than, le: less than or equal
|
|
3745
|
+
*/
|
|
3746
|
+
op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
|
|
3747
|
+
type: 'number';
|
|
3748
|
+
value: number;
|
|
3749
|
+
/**
|
|
3750
|
+
* The field name to filter on.
|
|
3751
|
+
*/
|
|
3752
|
+
key?: string;
|
|
3753
|
+
}
|
|
3754
|
+
interface BooleanFilter {
|
|
3755
|
+
op: 'eq';
|
|
3756
|
+
type: 'boolean';
|
|
3757
|
+
value: boolean;
|
|
3758
|
+
/**
|
|
3759
|
+
* The field name to filter on.
|
|
3760
|
+
*/
|
|
3761
|
+
key?: string;
|
|
3762
|
+
}
|
|
3763
|
+
interface RangeFilter {
|
|
3764
|
+
/**
|
|
3765
|
+
* bt: between
|
|
3766
|
+
*/
|
|
3767
|
+
op: 'bt';
|
|
3768
|
+
type: 'range';
|
|
3769
|
+
/**
|
|
3770
|
+
* [lower_bound, upper_bound]
|
|
3771
|
+
*/
|
|
3772
|
+
value: Array<number>;
|
|
3773
|
+
/**
|
|
3774
|
+
* The field name to filter on.
|
|
3775
|
+
*/
|
|
3776
|
+
key?: string;
|
|
3777
|
+
}
|
|
3778
|
+
interface EnumFilter {
|
|
3779
|
+
/**
|
|
3780
|
+
* in: value is one of the listed values
|
|
3781
|
+
*/
|
|
3782
|
+
op: 'in';
|
|
3783
|
+
type: 'enum';
|
|
3784
|
+
value: Array<string>;
|
|
3785
|
+
/**
|
|
3786
|
+
* The field name to filter on.
|
|
3787
|
+
*/
|
|
3788
|
+
key?: string;
|
|
3789
|
+
}
|
|
3790
|
+
interface PresentFilter {
|
|
3791
|
+
/**
|
|
3792
|
+
* pr: present (has value), np: not present
|
|
3793
|
+
*/
|
|
3794
|
+
op: 'pr' | 'np';
|
|
3795
|
+
type: 'present';
|
|
3796
|
+
/**
|
|
3797
|
+
* The field name to filter on.
|
|
3798
|
+
*/
|
|
3799
|
+
key?: string;
|
|
3800
|
+
}
|
|
3801
|
+
interface NumberFilter {
|
|
3802
|
+
/**
|
|
3803
|
+
* eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
|
|
3804
|
+
* than, le: less than or equal
|
|
3805
|
+
*/
|
|
3806
|
+
op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
|
|
3807
|
+
type: 'number';
|
|
3808
|
+
value: number;
|
|
3809
|
+
}
|
|
3810
|
+
interface RangeFilter {
|
|
3811
|
+
/**
|
|
3812
|
+
* bt: between
|
|
3813
|
+
*/
|
|
3814
|
+
op: 'bt';
|
|
3815
|
+
type: 'range';
|
|
3816
|
+
/**
|
|
3817
|
+
* [lower_bound, upper_bound]
|
|
3818
|
+
*/
|
|
3819
|
+
value: Array<number>;
|
|
3820
|
+
}
|
|
3821
|
+
/**
|
|
3822
|
+
* Filter by to number.
|
|
3823
|
+
*/
|
|
3824
|
+
interface ToNumber {
|
|
3825
|
+
/**
|
|
3826
|
+
* eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
|
|
3827
|
+
*/
|
|
3828
|
+
op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
|
|
3829
|
+
type: 'string';
|
|
3830
|
+
value: string;
|
|
3831
|
+
}
|
|
3832
|
+
interface ToolCall {
|
|
3833
|
+
/**
|
|
3834
|
+
* Filter by tool call latency in milliseconds.
|
|
3835
|
+
*/
|
|
3836
|
+
latency_ms?: ToolCall.NumberFilter | ToolCall.RangeFilter;
|
|
3837
|
+
/**
|
|
3838
|
+
* The tool call name to filter on.
|
|
3839
|
+
*/
|
|
3840
|
+
name?: string;
|
|
3841
|
+
/**
|
|
3842
|
+
* Filter by tool call success status.
|
|
3843
|
+
*/
|
|
3844
|
+
success?: ToolCall.Success;
|
|
3845
|
+
/**
|
|
3846
|
+
* The tool call type to filter on.
|
|
3847
|
+
*/
|
|
3848
|
+
type?: string;
|
|
3849
|
+
}
|
|
3850
|
+
namespace ToolCall {
|
|
3851
|
+
interface NumberFilter {
|
|
3754
3852
|
/**
|
|
3755
|
-
*
|
|
3853
|
+
* eq: equal, ne: not equal, gt: greater than, ge: greater than or equal, lt: less
|
|
3854
|
+
* than, le: less than or equal
|
|
3756
3855
|
*/
|
|
3757
|
-
|
|
3856
|
+
op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
|
|
3857
|
+
type: 'number';
|
|
3858
|
+
value: number;
|
|
3859
|
+
}
|
|
3860
|
+
interface RangeFilter {
|
|
3758
3861
|
/**
|
|
3759
|
-
*
|
|
3760
|
-
* error (voice only).
|
|
3862
|
+
* bt: between
|
|
3761
3863
|
*/
|
|
3762
|
-
|
|
3864
|
+
op: 'bt';
|
|
3865
|
+
type: 'range';
|
|
3763
3866
|
/**
|
|
3764
|
-
*
|
|
3867
|
+
* [lower_bound, upper_bound]
|
|
3765
3868
|
*/
|
|
3766
|
-
|
|
3869
|
+
value: Array<number>;
|
|
3767
3870
|
}
|
|
3768
3871
|
/**
|
|
3769
|
-
*
|
|
3770
|
-
* the call. Actions defined will be applied when the IVR is detected. Set this to
|
|
3771
|
-
* null to disable IVR detection.
|
|
3872
|
+
* Filter by tool call success status.
|
|
3772
3873
|
*/
|
|
3773
|
-
interface
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
* default definition.
|
|
3778
|
-
*/
|
|
3779
|
-
detection_prompt?: string | null;
|
|
3780
|
-
}
|
|
3781
|
-
namespace IvrOption {
|
|
3782
|
-
interface Action {
|
|
3783
|
-
type: 'hangup';
|
|
3784
|
-
}
|
|
3874
|
+
interface Success {
|
|
3875
|
+
op: 'eq';
|
|
3876
|
+
type: 'boolean';
|
|
3877
|
+
value: boolean;
|
|
3785
3878
|
}
|
|
3879
|
+
}
|
|
3880
|
+
interface UserSentiment {
|
|
3786
3881
|
/**
|
|
3787
|
-
*
|
|
3882
|
+
* in: value is one of the listed values
|
|
3788
3883
|
*/
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
* is only active when this list is non-empty; an empty array means no PII
|
|
3793
|
-
* scrubbing is performed.
|
|
3794
|
-
*/
|
|
3795
|
-
categories: Array<'person_name' | 'address' | 'email' | 'phone_number' | 'ssn' | 'passport' | 'driver_license' | 'credit_card' | 'bank_account' | 'password' | 'pin' | 'medical_id' | 'date_of_birth' | 'customer_account_number'>;
|
|
3796
|
-
/**
|
|
3797
|
-
* The processing mode for PII scrubbing. Currently only post-call is supported.
|
|
3798
|
-
*/
|
|
3799
|
-
mode: 'post_call';
|
|
3800
|
-
}
|
|
3801
|
-
interface StringAnalysisData {
|
|
3802
|
-
/**
|
|
3803
|
-
* Description of the variable.
|
|
3804
|
-
*/
|
|
3805
|
-
description: string;
|
|
3806
|
-
/**
|
|
3807
|
-
* Name of the variable.
|
|
3808
|
-
*/
|
|
3809
|
-
name: string;
|
|
3810
|
-
/**
|
|
3811
|
-
* Type of the variable to extract.
|
|
3812
|
-
*/
|
|
3813
|
-
type: 'string';
|
|
3814
|
-
/**
|
|
3815
|
-
* Optional instruction to help decide whether this field needs to be populated in
|
|
3816
|
-
* the analysis. If not set, the field is always included. If required is true,
|
|
3817
|
-
* this is ignored.
|
|
3818
|
-
*/
|
|
3819
|
-
conditional_prompt?: string;
|
|
3820
|
-
/**
|
|
3821
|
-
* Examples of the variable value to teach model the style and syntax.
|
|
3822
|
-
*/
|
|
3823
|
-
examples?: Array<string>;
|
|
3824
|
-
/**
|
|
3825
|
-
* Whether this data is required. If true and the data is not extracted, the call
|
|
3826
|
-
* will be marked as unsuccessful.
|
|
3827
|
-
*/
|
|
3828
|
-
required?: boolean;
|
|
3829
|
-
}
|
|
3830
|
-
interface EnumAnalysisData {
|
|
3831
|
-
/**
|
|
3832
|
-
* The possible values of the variable, must be non empty array.
|
|
3833
|
-
*/
|
|
3834
|
-
choices: Array<string>;
|
|
3835
|
-
/**
|
|
3836
|
-
* Description of the variable.
|
|
3837
|
-
*/
|
|
3838
|
-
description: string;
|
|
3839
|
-
/**
|
|
3840
|
-
* Name of the variable.
|
|
3841
|
-
*/
|
|
3842
|
-
name: string;
|
|
3843
|
-
/**
|
|
3844
|
-
* Type of the variable to extract.
|
|
3845
|
-
*/
|
|
3846
|
-
type: 'enum';
|
|
3847
|
-
/**
|
|
3848
|
-
* Optional instruction to help decide whether this field needs to be populated in
|
|
3849
|
-
* the analysis. If not set, the field is always included. If required is true,
|
|
3850
|
-
* this is ignored.
|
|
3851
|
-
*/
|
|
3852
|
-
conditional_prompt?: string;
|
|
3853
|
-
/**
|
|
3854
|
-
* Whether this data is required. If true and the data is not extracted, the call
|
|
3855
|
-
* will be marked as unsuccessful.
|
|
3856
|
-
*/
|
|
3857
|
-
required?: boolean;
|
|
3858
|
-
}
|
|
3859
|
-
interface BooleanAnalysisData {
|
|
3860
|
-
/**
|
|
3861
|
-
* Description of the variable.
|
|
3862
|
-
*/
|
|
3863
|
-
description: string;
|
|
3864
|
-
/**
|
|
3865
|
-
* Name of the variable.
|
|
3866
|
-
*/
|
|
3867
|
-
name: string;
|
|
3868
|
-
/**
|
|
3869
|
-
* Type of the variable to extract.
|
|
3870
|
-
*/
|
|
3871
|
-
type: 'boolean';
|
|
3872
|
-
/**
|
|
3873
|
-
* Optional instruction to help decide whether this field needs to be populated in
|
|
3874
|
-
* the analysis. If not set, the field is always included. If required is true,
|
|
3875
|
-
* this is ignored.
|
|
3876
|
-
*/
|
|
3877
|
-
conditional_prompt?: string;
|
|
3878
|
-
/**
|
|
3879
|
-
* Whether this data is required. If true and the data is not extracted, the call
|
|
3880
|
-
* will be marked as unsuccessful.
|
|
3881
|
-
*/
|
|
3882
|
-
required?: boolean;
|
|
3883
|
-
}
|
|
3884
|
-
interface NumberAnalysisData {
|
|
3885
|
-
/**
|
|
3886
|
-
* Description of the variable.
|
|
3887
|
-
*/
|
|
3888
|
-
description: string;
|
|
3889
|
-
/**
|
|
3890
|
-
* Name of the variable.
|
|
3891
|
-
*/
|
|
3892
|
-
name: string;
|
|
3893
|
-
/**
|
|
3894
|
-
* Type of the variable to extract.
|
|
3895
|
-
*/
|
|
3896
|
-
type: 'number';
|
|
3897
|
-
/**
|
|
3898
|
-
* Optional instruction to help decide whether this field needs to be populated in
|
|
3899
|
-
* the analysis. If not set, the field is always included. If required is true,
|
|
3900
|
-
* this is ignored.
|
|
3901
|
-
*/
|
|
3902
|
-
conditional_prompt?: string;
|
|
3903
|
-
/**
|
|
3904
|
-
* Whether this data is required. If true and the data is not extracted, the call
|
|
3905
|
-
* will be marked as unsuccessful.
|
|
3906
|
-
*/
|
|
3907
|
-
required?: boolean;
|
|
3908
|
-
}
|
|
3909
|
-
/**
|
|
3910
|
-
* System preset for post-call analysis (voice agents). Use in
|
|
3911
|
-
* post_call_analysis_data to override prompts or mark fields optional.
|
|
3912
|
-
*/
|
|
3913
|
-
interface CallPresetAnalysisData {
|
|
3914
|
-
/**
|
|
3915
|
-
* Preset identifier for voice agent analysis.
|
|
3916
|
-
*/
|
|
3917
|
-
name: 'call_summary' | 'call_successful' | 'user_sentiment';
|
|
3918
|
-
/**
|
|
3919
|
-
* Identifies this item as a system preset.
|
|
3920
|
-
*/
|
|
3921
|
-
type: 'system-presets';
|
|
3922
|
-
/**
|
|
3923
|
-
* Optional instruction to help decide whether this field needs to be populated. If
|
|
3924
|
-
* not set, the field is always included.
|
|
3925
|
-
*/
|
|
3926
|
-
conditional_prompt?: string;
|
|
3927
|
-
/**
|
|
3928
|
-
* Prompt or description for this preset.
|
|
3929
|
-
*/
|
|
3930
|
-
description?: string;
|
|
3931
|
-
/**
|
|
3932
|
-
* If false, this field is optional in the analysis. If true or unset, the field is
|
|
3933
|
-
* required.
|
|
3934
|
-
*/
|
|
3935
|
-
required?: boolean;
|
|
3936
|
-
}
|
|
3937
|
-
interface PronunciationDictionary {
|
|
3938
|
-
/**
|
|
3939
|
-
* The phonetic alphabet to be used for pronunciation.
|
|
3940
|
-
*/
|
|
3941
|
-
alphabet: 'ipa' | 'cmu';
|
|
3942
|
-
/**
|
|
3943
|
-
* Pronunciation of the word in the format of a IPA / CMU pronunciation.
|
|
3944
|
-
*/
|
|
3945
|
-
phoneme: string;
|
|
3946
|
-
/**
|
|
3947
|
-
* The string of word / phrase to be annotated with pronunciation.
|
|
3948
|
-
*/
|
|
3949
|
-
word: string;
|
|
3950
|
-
}
|
|
3951
|
-
interface ResponseEngineRetellLm {
|
|
3952
|
-
/**
|
|
3953
|
-
* id of the Retell LLM Response Engine.
|
|
3954
|
-
*/
|
|
3955
|
-
llm_id: string;
|
|
3956
|
-
/**
|
|
3957
|
-
* type of the Response Engine.
|
|
3958
|
-
*/
|
|
3959
|
-
type: 'retell-llm';
|
|
3960
|
-
/**
|
|
3961
|
-
* Version of the Retell LLM Response Engine.
|
|
3962
|
-
*/
|
|
3963
|
-
version?: number | null;
|
|
3964
|
-
}
|
|
3965
|
-
interface ResponseEngineCustomLm {
|
|
3966
|
-
/**
|
|
3967
|
-
* LLM websocket url of the custom LLM.
|
|
3968
|
-
*/
|
|
3969
|
-
llm_websocket_url: string;
|
|
3970
|
-
/**
|
|
3971
|
-
* type of the Response Engine.
|
|
3972
|
-
*/
|
|
3973
|
-
type: 'custom-llm';
|
|
3974
|
-
}
|
|
3975
|
-
interface ResponseEngineConversationFlow {
|
|
3976
|
-
/**
|
|
3977
|
-
* ID of the Conversation Flow Response Engine.
|
|
3978
|
-
*/
|
|
3979
|
-
conversation_flow_id: string;
|
|
3980
|
-
/**
|
|
3981
|
-
* type of the Response Engine.
|
|
3982
|
-
*/
|
|
3983
|
-
type: 'conversation-flow';
|
|
3984
|
-
/**
|
|
3985
|
-
* Version of the Conversation Flow Response Engine.
|
|
3986
|
-
*/
|
|
3987
|
-
version?: number | null;
|
|
3988
|
-
}
|
|
3989
|
-
interface UserDtmfOptions {
|
|
3990
|
-
/**
|
|
3991
|
-
* The maximum number of digits allowed in the user's DTMF (Dual-Tone
|
|
3992
|
-
* Multi-Frequency) input per turn. Once this limit is reached, the input is
|
|
3993
|
-
* considered complete and a response will be generated immediately.
|
|
3994
|
-
*/
|
|
3995
|
-
digit_limit?: number | null;
|
|
3996
|
-
/**
|
|
3997
|
-
* A single key that signals the end of DTMF input. Acceptable values include any
|
|
3998
|
-
* digit (0-9), the pound/hash symbol (#), or the asterisk (\*).
|
|
3999
|
-
*/
|
|
4000
|
-
termination_key?: string | null;
|
|
4001
|
-
/**
|
|
4002
|
-
* The time (in milliseconds) to wait for user DTMF input before timing out. The
|
|
4003
|
-
* timer resets with each digit received.
|
|
4004
|
-
*/
|
|
4005
|
-
timeout_ms?: number;
|
|
4006
|
-
}
|
|
4007
|
-
/**
|
|
4008
|
-
* If this option is set, the call will try to detect voicemail in the first 3
|
|
4009
|
-
* minutes of the call. Actions defined (hangup, or leave a message) will be
|
|
4010
|
-
* applied when the voicemail is detected. Set this to null to disable voicemail
|
|
4011
|
-
* detection.
|
|
4012
|
-
*/
|
|
4013
|
-
interface VoicemailOption {
|
|
4014
|
-
action: VoicemailOption.VoicemailActionPrompt | VoicemailOption.VoicemailActionStaticText | VoicemailOption.VoicemailActionHangup | VoicemailOption.VoicemailActionBridgeTransfer;
|
|
4015
|
-
/**
|
|
4016
|
-
* Optionally describe what should be treated as voicemail. Leave as null to use
|
|
4017
|
-
* the default definition.
|
|
4018
|
-
*/
|
|
4019
|
-
detection_prompt?: string | null;
|
|
4020
|
-
}
|
|
4021
|
-
namespace VoicemailOption {
|
|
4022
|
-
interface VoicemailActionPrompt {
|
|
4023
|
-
/**
|
|
4024
|
-
* The prompt used to generate the text to be spoken when the call is detected to
|
|
4025
|
-
* be in voicemail.
|
|
4026
|
-
*/
|
|
4027
|
-
text: string;
|
|
4028
|
-
type: 'prompt';
|
|
4029
|
-
}
|
|
4030
|
-
interface VoicemailActionStaticText {
|
|
4031
|
-
/**
|
|
4032
|
-
* The text to be spoken when the call is detected to be in voicemail.
|
|
4033
|
-
*/
|
|
4034
|
-
text: string;
|
|
4035
|
-
type: 'static_text';
|
|
4036
|
-
}
|
|
4037
|
-
interface VoicemailActionHangup {
|
|
4038
|
-
type: 'hangup';
|
|
4039
|
-
}
|
|
4040
|
-
interface VoicemailActionBridgeTransfer {
|
|
4041
|
-
type: 'bridge_transfer';
|
|
4042
|
-
}
|
|
4043
|
-
}
|
|
4044
|
-
}
|
|
4045
|
-
/**
|
|
4046
|
-
* Override conversation flow configuration settings. Only applicable when using
|
|
4047
|
-
* conversation flow as the response engine. Supported attributes - model_choice,
|
|
4048
|
-
* model_temperature, tool_call_strict_mode, knowledge_base_ids, kb_config,
|
|
4049
|
-
* start_speaker, begin_after_user_silence_ms.
|
|
4050
|
-
*/
|
|
4051
|
-
interface ConversationFlow {
|
|
4052
|
-
/**
|
|
4053
|
-
* If set, the AI will begin the conversation after waiting for the user for the
|
|
4054
|
-
* duration (in milliseconds) specified by this attribute. This only applies if the
|
|
4055
|
-
* agent is configured to wait for the user to speak first. If not set, the agent
|
|
4056
|
-
* will wait indefinitely for the user to speak.
|
|
4057
|
-
*/
|
|
4058
|
-
begin_after_user_silence_ms?: number | null;
|
|
4059
|
-
/**
|
|
4060
|
-
* Knowledge base configuration for RAG retrieval.
|
|
4061
|
-
*/
|
|
4062
|
-
kb_config?: ConversationFlow.KBConfig;
|
|
4063
|
-
/**
|
|
4064
|
-
* Knowledge base IDs for RAG (Retrieval-Augmented Generation).
|
|
4065
|
-
*/
|
|
4066
|
-
knowledge_base_ids?: Array<string> | null;
|
|
4067
|
-
/**
|
|
4068
|
-
* The model choice for the conversation flow.
|
|
4069
|
-
*/
|
|
4070
|
-
model_choice?: ConversationFlow.ModelChoice;
|
|
4071
|
-
/**
|
|
4072
|
-
* Controls the randomness of the model's responses. Lower values make responses
|
|
4073
|
-
* more deterministic.
|
|
4074
|
-
*/
|
|
4075
|
-
model_temperature?: number | null;
|
|
4076
|
-
/**
|
|
4077
|
-
* Who starts the conversation - user or agent.
|
|
4078
|
-
*/
|
|
4079
|
-
start_speaker?: 'user' | 'agent';
|
|
4080
|
-
/**
|
|
4081
|
-
* Whether to use strict mode for tool calls. Only applicable when using certain
|
|
4082
|
-
* supported models.
|
|
4083
|
-
*/
|
|
4084
|
-
tool_call_strict_mode?: boolean | null;
|
|
4085
|
-
}
|
|
4086
|
-
namespace ConversationFlow {
|
|
4087
|
-
/**
|
|
4088
|
-
* Knowledge base configuration for RAG retrieval.
|
|
4089
|
-
*/
|
|
4090
|
-
interface KBConfig {
|
|
4091
|
-
/**
|
|
4092
|
-
* Similarity threshold for filtering search results
|
|
4093
|
-
*/
|
|
4094
|
-
filter_score?: number;
|
|
4095
|
-
/**
|
|
4096
|
-
* Max number of knowledge base chunks to retrieve
|
|
4097
|
-
*/
|
|
4098
|
-
top_k?: number;
|
|
4099
|
-
}
|
|
4100
|
-
/**
|
|
4101
|
-
* The model choice for the conversation flow.
|
|
4102
|
-
*/
|
|
4103
|
-
interface ModelChoice {
|
|
4104
|
-
/**
|
|
4105
|
-
* The LLM model to use
|
|
4106
|
-
*/
|
|
4107
|
-
model: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash';
|
|
4108
|
-
/**
|
|
4109
|
-
* Type of model choice
|
|
4110
|
-
*/
|
|
4111
|
-
type: 'cascading';
|
|
4112
|
-
/**
|
|
4113
|
-
* Whether to use high priority pool with more dedicated resource, default false
|
|
4114
|
-
*/
|
|
4115
|
-
high_priority?: boolean;
|
|
4116
|
-
}
|
|
4117
|
-
}
|
|
4118
|
-
/**
|
|
4119
|
-
* Override Retell LLM configuration settings. Only applicable when using Retell
|
|
4120
|
-
* LLM as the response engine. Supported attributes - model, s2s_model,
|
|
4121
|
-
* model_temperature, model_high_priority, tool_call_strict_mode,
|
|
4122
|
-
* knowledge_base_ids, kb_config, start_speaker, begin_after_user_silence_ms,
|
|
4123
|
-
* begin_message.
|
|
4124
|
-
*/
|
|
4125
|
-
interface RetellLlm {
|
|
4126
|
-
/**
|
|
4127
|
-
* If set, the AI will begin the conversation after waiting for the user for the
|
|
4128
|
-
* duration (in milliseconds) specified by this attribute. This only applies if the
|
|
4129
|
-
* agent is configured to wait for the user to speak first. If not set, the agent
|
|
4130
|
-
* will wait indefinitely for the user to speak.
|
|
4131
|
-
*/
|
|
4132
|
-
begin_after_user_silence_ms?: number | null;
|
|
4133
|
-
/**
|
|
4134
|
-
* First utterance said by the agent in the call. If not set, LLM will dynamically
|
|
4135
|
-
* generate a message. If set to "", agent will wait for user to speak first.
|
|
4136
|
-
*/
|
|
4137
|
-
begin_message?: string | null;
|
|
4138
|
-
/**
|
|
4139
|
-
* Knowledge base configuration for RAG retrieval.
|
|
4140
|
-
*/
|
|
4141
|
-
kb_config?: RetellLlm.KBConfig | null;
|
|
4142
|
-
/**
|
|
4143
|
-
* A list of knowledge base ids to use for this resource.
|
|
4144
|
-
*/
|
|
4145
|
-
knowledge_base_ids?: Array<string> | null;
|
|
4146
|
-
/**
|
|
4147
|
-
* Select the underlying text LLM. If not set, would default to gpt-4.1.
|
|
4148
|
-
*/
|
|
4149
|
-
model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash' | null;
|
|
4150
|
-
/**
|
|
4151
|
-
* If set to true, will use high priority pool with more dedicated resource to
|
|
4152
|
-
* ensure lower and more consistent latency, default to false. This feature usually
|
|
4153
|
-
* comes with a higher cost.
|
|
4154
|
-
*/
|
|
4155
|
-
model_high_priority?: boolean | null;
|
|
4156
|
-
/**
|
|
4157
|
-
* If set, will control the randomness of the response. Value ranging from [0,1].
|
|
4158
|
-
* Lower value means more deterministic, while higher value means more random. If
|
|
4159
|
-
* unset, default value 0 will apply. Note that for tool calling, a lower value is
|
|
4160
|
-
* recommended.
|
|
4161
|
-
*/
|
|
4162
|
-
model_temperature?: number;
|
|
4163
|
-
/**
|
|
4164
|
-
* Select the underlying speech to speech model. Can only set this or model, not
|
|
4165
|
-
* both.
|
|
4166
|
-
*/
|
|
4167
|
-
s2s_model?: 'gpt-realtime-2.1' | 'gpt-realtime-2.1-mini' | 'gpt-realtime-2' | 'gpt-realtime-1.5' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
|
|
4168
|
-
/**
|
|
4169
|
-
* The speaker who starts the conversation. Required. Must be either 'user' or
|
|
4170
|
-
* 'agent'.
|
|
4171
|
-
*/
|
|
4172
|
-
start_speaker?: 'user' | 'agent';
|
|
4173
|
-
/**
|
|
4174
|
-
* Whether to use strict mode for tool calls. Only applicable when using certain
|
|
4175
|
-
* supported models.
|
|
4176
|
-
*/
|
|
4177
|
-
tool_call_strict_mode?: boolean | null;
|
|
4178
|
-
}
|
|
4179
|
-
namespace RetellLlm {
|
|
4180
|
-
/**
|
|
4181
|
-
* Knowledge base configuration for RAG retrieval.
|
|
4182
|
-
*/
|
|
4183
|
-
interface KBConfig {
|
|
4184
|
-
/**
|
|
4185
|
-
* Similarity threshold for filtering search results
|
|
4186
|
-
*/
|
|
4187
|
-
filter_score?: number;
|
|
4188
|
-
/**
|
|
4189
|
-
* Max number of knowledge base chunks to retrieve
|
|
4190
|
-
*/
|
|
4191
|
-
top_k?: number;
|
|
4192
|
-
}
|
|
3884
|
+
op: 'in';
|
|
3885
|
+
type: 'enum';
|
|
3886
|
+
value: Array<'Negative' | 'Positive' | 'Neutral' | 'Unknown'>;
|
|
4193
3887
|
}
|
|
4194
3888
|
}
|
|
4195
3889
|
}
|
|
4196
|
-
export interface
|
|
3890
|
+
export interface CallCreatePhoneCallParams {
|
|
4197
3891
|
/**
|
|
4198
|
-
* The
|
|
3892
|
+
* The number you own in E.164 format. Must be a number purchased from Retell or
|
|
3893
|
+
* imported to Retell.
|
|
3894
|
+
*/
|
|
3895
|
+
from_number: string;
|
|
3896
|
+
/**
|
|
3897
|
+
* The number you want to call, in E.164 format. If using a number purchased from
|
|
3898
|
+
* Retell, only US numbers are supported as destination.
|
|
4199
3899
|
*/
|
|
4200
|
-
|
|
3900
|
+
to_number: string;
|
|
4201
3901
|
/**
|
|
4202
3902
|
* For this particular call, override agent configuration with these settings. This
|
|
4203
3903
|
* allows you to customize agent behavior for individual calls without modifying
|
|
4204
3904
|
* the base agent.
|
|
4205
3905
|
*/
|
|
4206
|
-
agent_override?:
|
|
4207
|
-
/**
|
|
4208
|
-
* The version of the agent to use for the call.
|
|
4209
|
-
*/
|
|
4210
|
-
agent_version?: string | number;
|
|
3906
|
+
agent_override?: CallCreatePhoneCallParams.AgentOverride;
|
|
4211
3907
|
/**
|
|
4212
|
-
*
|
|
3908
|
+
* Add optional custom SIP headers to the call.
|
|
4213
3909
|
*/
|
|
4214
|
-
|
|
3910
|
+
custom_sip_headers?: {
|
|
3911
|
+
[key: string]: string;
|
|
3912
|
+
};
|
|
4215
3913
|
/**
|
|
4216
|
-
*
|
|
3914
|
+
* If true, the e.164 validation will be ignored for the from_number. This can be
|
|
3915
|
+
* useful when you want to dial to internal pseudo numbers. This only applies when
|
|
3916
|
+
* you are using custom telephony and does not apply when you are using Retell
|
|
3917
|
+
* Telephony. If omitted, the default value is false.
|
|
4217
3918
|
*/
|
|
4218
|
-
|
|
3919
|
+
ignore_e164_validation?: boolean;
|
|
4219
3920
|
/**
|
|
4220
3921
|
* An arbitrary object for storage purpose only. You can put anything here like
|
|
4221
3922
|
* your internal customer id associated with the call. Not used for processing. You
|
|
4222
3923
|
* can later get this field from the call object.
|
|
4223
3924
|
*/
|
|
4224
3925
|
metadata?: unknown;
|
|
3926
|
+
/**
|
|
3927
|
+
* For this particular call, override the agent used with this agent id. This does
|
|
3928
|
+
* not bind the agent to this number, this is for one time override.
|
|
3929
|
+
*/
|
|
3930
|
+
override_agent_id?: string;
|
|
3931
|
+
/**
|
|
3932
|
+
* For this particular call, override the agent version used with this version.
|
|
3933
|
+
* This does not bind the agent version to this number, this is for one time
|
|
3934
|
+
* override.
|
|
3935
|
+
*/
|
|
3936
|
+
override_agent_version?: string | number;
|
|
4225
3937
|
/**
|
|
4226
3938
|
* Add optional dynamic variables in key value pairs of string that injects into
|
|
4227
3939
|
* your Response Engine prompt and tool description. Only applicable for Response
|
|
@@ -4230,12 +3942,8 @@ export interface CallRegisterPhoneCallParams {
|
|
|
4230
3942
|
retell_llm_dynamic_variables?: {
|
|
4231
3943
|
[key: string]: string;
|
|
4232
3944
|
};
|
|
4233
|
-
/**
|
|
4234
|
-
* The number you want to call, in E.164 format. Stored for tracking purpose.
|
|
4235
|
-
*/
|
|
4236
|
-
to_number?: string;
|
|
4237
3945
|
}
|
|
4238
|
-
export declare namespace
|
|
3946
|
+
export declare namespace CallCreatePhoneCallParams {
|
|
4239
3947
|
/**
|
|
4240
3948
|
* For this particular call, override agent configuration with these settings. This
|
|
4241
3949
|
* allows you to customize agent behavior for individual calls without modifying
|
|
@@ -6082,659 +5790,951 @@ export declare namespace CallCreateWebCallParams {
|
|
|
6082
5790
|
}
|
|
6083
5791
|
}
|
|
6084
5792
|
}
|
|
6085
|
-
export interface
|
|
5793
|
+
export interface CallRegisterPhoneCallParams {
|
|
6086
5794
|
/**
|
|
6087
|
-
*
|
|
5795
|
+
* The agent to use for the call.
|
|
6088
5796
|
*/
|
|
6089
|
-
|
|
5797
|
+
agent_id: string;
|
|
6090
5798
|
/**
|
|
6091
|
-
*
|
|
6092
|
-
*
|
|
6093
|
-
*
|
|
6094
|
-
* the total is needed.
|
|
5799
|
+
* For this particular call, override agent configuration with these settings. This
|
|
5800
|
+
* allows you to customize agent behavior for individual calls without modifying
|
|
5801
|
+
* the base agent.
|
|
6095
5802
|
*/
|
|
6096
|
-
|
|
5803
|
+
agent_override?: CallRegisterPhoneCallParams.AgentOverride;
|
|
6097
5804
|
/**
|
|
6098
|
-
*
|
|
5805
|
+
* The version of the agent to use for the call.
|
|
6099
5806
|
*/
|
|
6100
|
-
|
|
5807
|
+
agent_version?: string | number;
|
|
6101
5808
|
/**
|
|
6102
|
-
*
|
|
5809
|
+
* Direction of the phone call. Stored for tracking purpose.
|
|
6103
5810
|
*/
|
|
6104
|
-
|
|
5811
|
+
direction?: 'inbound' | 'outbound';
|
|
6105
5812
|
/**
|
|
6106
|
-
*
|
|
5813
|
+
* The number you own in E.164 format. Stored for tracking purpose.
|
|
6107
5814
|
*/
|
|
6108
|
-
|
|
5815
|
+
from_number?: string;
|
|
6109
5816
|
/**
|
|
6110
|
-
*
|
|
5817
|
+
* An arbitrary object for storage purpose only. You can put anything here like
|
|
5818
|
+
* your internal customer id associated with the call. Not used for processing. You
|
|
5819
|
+
* can later get this field from the call object.
|
|
6111
5820
|
*/
|
|
6112
|
-
|
|
5821
|
+
metadata?: unknown;
|
|
5822
|
+
/**
|
|
5823
|
+
* Add optional dynamic variables in key value pairs of string that injects into
|
|
5824
|
+
* your Response Engine prompt and tool description. Only applicable for Response
|
|
5825
|
+
* Engine.
|
|
5826
|
+
*/
|
|
5827
|
+
retell_llm_dynamic_variables?: {
|
|
5828
|
+
[key: string]: string;
|
|
5829
|
+
};
|
|
5830
|
+
/**
|
|
5831
|
+
* The number you want to call, in E.164 format. Stored for tracking purpose.
|
|
5832
|
+
*/
|
|
5833
|
+
to_number?: string;
|
|
6113
5834
|
}
|
|
6114
|
-
export declare namespace
|
|
5835
|
+
export declare namespace CallRegisterPhoneCallParams {
|
|
6115
5836
|
/**
|
|
6116
|
-
*
|
|
5837
|
+
* For this particular call, override agent configuration with these settings. This
|
|
5838
|
+
* allows you to customize agent behavior for individual calls without modifying
|
|
5839
|
+
* the base agent.
|
|
6117
5840
|
*/
|
|
6118
|
-
interface
|
|
6119
|
-
/**
|
|
6120
|
-
* Filter by agent(s). Agent filters are connected by OR.
|
|
6121
|
-
*/
|
|
6122
|
-
agent?: Array<FilterCriteria.Agent>;
|
|
6123
|
-
/**
|
|
6124
|
-
* Filter by agent environment tag(s) (e.g. "prod", "staging").
|
|
6125
|
-
*/
|
|
6126
|
-
agent_tag?: FilterCriteria.AgentTag;
|
|
6127
|
-
/**
|
|
6128
|
-
* Filter by batch call ID.
|
|
6129
|
-
*/
|
|
6130
|
-
batch_call_id?: FilterCriteria.BatchCallID;
|
|
6131
|
-
/**
|
|
6132
|
-
* Filter by call ID.
|
|
6133
|
-
*/
|
|
6134
|
-
call_id?: FilterCriteria.StringFilter | FilterCriteria.EnumFilter;
|
|
6135
|
-
call_status?: FilterCriteria.CallStatus;
|
|
6136
|
-
/**
|
|
6137
|
-
* Filter by whether the call was successful.
|
|
6138
|
-
*/
|
|
6139
|
-
call_successful?: FilterCriteria.CallSuccessful;
|
|
6140
|
-
call_type?: FilterCriteria.CallType;
|
|
6141
|
-
/**
|
|
6142
|
-
* Filter by combined cost of the call.
|
|
6143
|
-
*/
|
|
6144
|
-
combined_cost?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
|
|
6145
|
-
/**
|
|
6146
|
-
* Filter by custom analysis data fields.
|
|
6147
|
-
*/
|
|
6148
|
-
custom_analysis_data?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
|
|
6149
|
-
/**
|
|
6150
|
-
* Filter by custom attributes fields.
|
|
6151
|
-
*/
|
|
6152
|
-
custom_attributes?: Array<FilterCriteria.StringFilter | FilterCriteria.NumberFilter | FilterCriteria.BooleanFilter | FilterCriteria.RangeFilter | FilterCriteria.EnumFilter | FilterCriteria.PresentFilter>;
|
|
6153
|
-
data_storage_setting?: FilterCriteria.DataStorageSetting;
|
|
6154
|
-
direction?: FilterCriteria.Direction;
|
|
6155
|
-
disconnection_reason?: FilterCriteria.DisconnectionReason;
|
|
6156
|
-
/**
|
|
6157
|
-
* Filter by call duration in milliseconds.
|
|
6158
|
-
*/
|
|
6159
|
-
duration_ms?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
|
|
6160
|
-
/**
|
|
6161
|
-
* Filter by dynamic variables.
|
|
6162
|
-
*/
|
|
6163
|
-
dynamic_variables?: Array<FilterCriteria.DynamicVariable>;
|
|
6164
|
-
/**
|
|
6165
|
-
* Filter by end-to-end latency p50.
|
|
6166
|
-
*/
|
|
6167
|
-
e2e_latency_p50?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
|
|
6168
|
-
/**
|
|
6169
|
-
* Filter by call end timestamp (epoch ms).
|
|
6170
|
-
*/
|
|
6171
|
-
end_timestamp?: FilterCriteria.NumberFilter | FilterCriteria.RangeFilter;
|
|
6172
|
-
/**
|
|
6173
|
-
* Filter by from number.
|
|
6174
|
-
*/
|
|
6175
|
-
from_number?: FilterCriteria.FromNumber;
|
|
6176
|
-
/**
|
|
6177
|
-
* Filter by whether the call is in voicemail.
|
|
6178
|
-
*/
|
|
6179
|
-
in_voicemail?: FilterCriteria.InVoicemail;
|
|
5841
|
+
interface AgentOverride {
|
|
6180
5842
|
/**
|
|
6181
|
-
*
|
|
5843
|
+
* Override agent configuration settings. Any properties specified here will
|
|
5844
|
+
* override the base agent configuration for this call.
|
|
6182
5845
|
*/
|
|
6183
|
-
|
|
5846
|
+
agent?: AgentOverride.Agent;
|
|
6184
5847
|
/**
|
|
6185
|
-
*
|
|
5848
|
+
* Override conversation flow configuration settings. Only applicable when using
|
|
5849
|
+
* conversation flow as the response engine. Supported attributes - model_choice,
|
|
5850
|
+
* model_temperature, tool_call_strict_mode, knowledge_base_ids, kb_config,
|
|
5851
|
+
* start_speaker, begin_after_user_silence_ms.
|
|
6186
5852
|
*/
|
|
6187
|
-
|
|
5853
|
+
conversation_flow?: AgentOverride.ConversationFlow;
|
|
6188
5854
|
/**
|
|
6189
|
-
*
|
|
5855
|
+
* Override Retell LLM configuration settings. Only applicable when using Retell
|
|
5856
|
+
* LLM as the response engine. Supported attributes - model, s2s_model,
|
|
5857
|
+
* model_temperature, model_high_priority, tool_call_strict_mode,
|
|
5858
|
+
* knowledge_base_ids, kb_config, start_speaker, begin_after_user_silence_ms,
|
|
5859
|
+
* begin_message.
|
|
6190
5860
|
*/
|
|
6191
|
-
|
|
5861
|
+
retell_llm?: AgentOverride.RetellLlm;
|
|
5862
|
+
}
|
|
5863
|
+
namespace AgentOverride {
|
|
6192
5864
|
/**
|
|
6193
|
-
*
|
|
5865
|
+
* Override agent configuration settings. Any properties specified here will
|
|
5866
|
+
* override the base agent configuration for this call.
|
|
6194
5867
|
*/
|
|
6195
|
-
tool_calls?: Array<FilterCriteria.ToolCall>;
|
|
6196
|
-
user_sentiment?: FilterCriteria.UserSentiment;
|
|
6197
|
-
}
|
|
6198
|
-
namespace FilterCriteria {
|
|
6199
5868
|
interface Agent {
|
|
6200
5869
|
/**
|
|
6201
|
-
* The agent
|
|
5870
|
+
* The name of the agent. Only used for your own reference.
|
|
5871
|
+
*/
|
|
5872
|
+
agent_name?: string | null;
|
|
5873
|
+
/**
|
|
5874
|
+
* If set to true, DTMF input will interrupt the agent even when
|
|
5875
|
+
* interruption_sensitivity is 0. Can be overridden per conversation or subagent
|
|
5876
|
+
* node. Default to false.
|
|
5877
|
+
*/
|
|
5878
|
+
allow_dtmf_interruption?: boolean;
|
|
5879
|
+
/**
|
|
5880
|
+
* If set to true, DTMF input will be accepted and processed. If false, any DTMF
|
|
5881
|
+
* input will be ignored. Default to true.
|
|
5882
|
+
*/
|
|
5883
|
+
allow_user_dtmf?: boolean;
|
|
5884
|
+
/**
|
|
5885
|
+
* If set, will add ambient environment sound to the call to make experience more
|
|
5886
|
+
* realistic. Currently supports the following options:
|
|
5887
|
+
*
|
|
5888
|
+
* - `coffee-shop`: Coffee shop ambience with people chatting in background.
|
|
5889
|
+
* [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/coffee-shop.wav)
|
|
5890
|
+
* - `convention-hall`: Convention hall ambience, with some echo and people
|
|
5891
|
+
* chatting in background.
|
|
5892
|
+
* [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/convention-hall.wav)
|
|
5893
|
+
* - `summer-outdoor`: Summer outdoor ambience with cicada chirping.
|
|
5894
|
+
* [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/summer-outdoor.wav)
|
|
5895
|
+
* - `mountain-outdoor`: Mountain outdoor ambience with birds singing.
|
|
5896
|
+
* [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/mountain-outdoor.wav)
|
|
5897
|
+
* - `static-noise`: Constant static noise.
|
|
5898
|
+
* [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/static-noise.wav)
|
|
5899
|
+
* - `call-center`: Call center work noise.
|
|
5900
|
+
* [Listen to Ambience](https://retell-utils-public.s3.us-west-2.amazonaws.com/call-center.wav)
|
|
5901
|
+
* Set to `null` to remove ambient sound from this agent.
|
|
5902
|
+
*/
|
|
5903
|
+
ambient_sound?: 'coffee-shop' | 'convention-hall' | 'summer-outdoor' | 'mountain-outdoor' | 'static-noise' | 'call-center' | null;
|
|
5904
|
+
/**
|
|
5905
|
+
* If set, will control the volume of the ambient sound. Value ranging from [0,2].
|
|
5906
|
+
* Lower value means quieter ambient sound, while higher value means louder ambient
|
|
5907
|
+
* sound. If unset, default value 1 will apply.
|
|
5908
|
+
*/
|
|
5909
|
+
ambient_sound_volume?: number;
|
|
5910
|
+
/**
|
|
5911
|
+
* Only applicable when enable_backchannel is true. Controls how often the agent
|
|
5912
|
+
* would backchannel when a backchannel is possible. Value ranging from [0,1].
|
|
5913
|
+
* Lower value means less frequent backchannel, while higher value means more
|
|
5914
|
+
* frequent backchannel. If unset, default value 0.8 will apply.
|
|
5915
|
+
*/
|
|
5916
|
+
backchannel_frequency?: number;
|
|
5917
|
+
/**
|
|
5918
|
+
* Only applicable when enable_backchannel is true. A list of words that the agent
|
|
5919
|
+
* would use as backchannel. If not set, default backchannel words will apply.
|
|
5920
|
+
* Check out
|
|
5921
|
+
* [backchannel default words](/agent/interaction-configuration#backchannel) for
|
|
5922
|
+
* more details. Note that certain voices do not work too well with certain words,
|
|
5923
|
+
* so it's recommended to experiment before adding any words.
|
|
5924
|
+
*/
|
|
5925
|
+
backchannel_words?: Array<string> | null;
|
|
5926
|
+
/**
|
|
5927
|
+
* If set, will delay the first message by the specified amount of milliseconds, so
|
|
5928
|
+
* that it gives user more time to prepare to take the call. Valid range is [0,
|
|
5929
|
+
* 5000]. If not set or set to 0, agent will speak immediately. Only applicable
|
|
5930
|
+
* when agent speaks first.
|
|
5931
|
+
*/
|
|
5932
|
+
begin_message_delay_ms?: number;
|
|
5933
|
+
/**
|
|
5934
|
+
* Provide a customized list of keywords to bias the transcriber model, so that
|
|
5935
|
+
* these words are more likely to get transcribed. Commonly used for names, brands,
|
|
5936
|
+
* street, etc. Entries may reference dynamic variables with `{{variable}}` syntax.
|
|
5937
|
+
*/
|
|
5938
|
+
boosted_keywords?: Array<string> | null;
|
|
5939
|
+
/**
|
|
5940
|
+
* If this option is set, the agent prompt will include call screen handling
|
|
5941
|
+
* instructions for identity and call purpose questions. Set this to null to
|
|
5942
|
+
* disable call screen prompt instructions.
|
|
5943
|
+
*/
|
|
5944
|
+
call_screening_option?: Agent.CallScreeningOption | null;
|
|
5945
|
+
/**
|
|
5946
|
+
* Custom STT configuration. Only used when stt_mode is set to custom.
|
|
6202
5947
|
*/
|
|
6203
|
-
|
|
5948
|
+
custom_stt_config?: Agent.CustomSttConfig | null;
|
|
6204
5949
|
/**
|
|
6205
|
-
*
|
|
5950
|
+
* Number of days to retain call/chat data before automatic deletion. Must be
|
|
5951
|
+
* between 1 and 730 days. If not set, data is retained forever (no automatic
|
|
5952
|
+
* deletion).
|
|
6206
5953
|
*/
|
|
6207
|
-
|
|
6208
|
-
}
|
|
6209
|
-
/**
|
|
6210
|
-
* Filter by agent environment tag(s) (e.g. "prod", "staging").
|
|
6211
|
-
*/
|
|
6212
|
-
interface AgentTag {
|
|
5954
|
+
data_storage_retention_days?: number | null;
|
|
6213
5955
|
/**
|
|
6214
|
-
*
|
|
5956
|
+
* Granular setting to manage how Retell stores sensitive data (transcripts,
|
|
5957
|
+
* recordings, logs, etc.). This replaces the deprecated
|
|
5958
|
+
* `opt_out_sensitive_data_storage` field.
|
|
5959
|
+
*
|
|
5960
|
+
* - `everything`: Store all data including transcripts, recordings, and logs.
|
|
5961
|
+
* - `everything_except_pii`: Store data without PII when PII is detected.
|
|
5962
|
+
* - `basic_attributes_only`: Store only basic attributes; no
|
|
5963
|
+
* transcripts/recordings/logs. If not set, default value of "everything" will
|
|
5964
|
+
* apply.
|
|
6215
5965
|
*/
|
|
6216
|
-
|
|
6217
|
-
type: 'enum';
|
|
6218
|
-
value: Array<string>;
|
|
6219
|
-
}
|
|
6220
|
-
/**
|
|
6221
|
-
* Filter by batch call ID.
|
|
6222
|
-
*/
|
|
6223
|
-
interface BatchCallID {
|
|
5966
|
+
data_storage_setting?: 'everything' | 'everything_except_pii' | 'basic_attributes_only';
|
|
6224
5967
|
/**
|
|
6225
|
-
*
|
|
5968
|
+
* If set, determines what denoising mode to use. Use "no-denoise" to bypass all
|
|
5969
|
+
* audio denoising. Default to noise-cancellation.
|
|
6226
5970
|
*/
|
|
6227
|
-
|
|
6228
|
-
type: 'string';
|
|
6229
|
-
value: string;
|
|
6230
|
-
}
|
|
6231
|
-
interface StringFilter {
|
|
5971
|
+
denoising_mode?: 'no-denoise' | 'noise-cancellation' | 'noise-and-background-speech-cancellation';
|
|
6232
5972
|
/**
|
|
6233
|
-
*
|
|
5973
|
+
* Controls whether the agent would backchannel (agent interjects the speaker with
|
|
5974
|
+
* phrases like "yeah", "uh-huh" to signify interest and engagement). Backchannel
|
|
5975
|
+
* when enabled tends to show up more in longer user utterances. If not set, agent
|
|
5976
|
+
* will not backchannel.
|
|
6234
5977
|
*/
|
|
6235
|
-
|
|
6236
|
-
type: 'string';
|
|
6237
|
-
value: string;
|
|
6238
|
-
}
|
|
6239
|
-
interface EnumFilter {
|
|
5978
|
+
enable_backchannel?: boolean;
|
|
6240
5979
|
/**
|
|
6241
|
-
*
|
|
5980
|
+
* If set to true, the agent will dynamically adjust how quickly it responds based
|
|
5981
|
+
* on the user's speech rate and past turn-taking behavior in the call. If unset,
|
|
5982
|
+
* default value false will apply.
|
|
6242
5983
|
*/
|
|
6243
|
-
|
|
6244
|
-
type: 'enum';
|
|
6245
|
-
value: Array<string>;
|
|
6246
|
-
}
|
|
6247
|
-
interface CallStatus {
|
|
5984
|
+
enable_dynamic_responsiveness?: boolean;
|
|
6248
5985
|
/**
|
|
6249
|
-
*
|
|
5986
|
+
* If set to true, will enable dynamic voice speed adjustment based on the user's
|
|
5987
|
+
* speech rate and conversation context. If unset, default value false will apply.
|
|
6250
5988
|
*/
|
|
6251
|
-
|
|
6252
|
-
type: 'enum';
|
|
6253
|
-
value: Array<'not_connected' | 'ongoing' | 'ended' | 'error'>;
|
|
6254
|
-
}
|
|
6255
|
-
/**
|
|
6256
|
-
* Filter by whether the call was successful.
|
|
6257
|
-
*/
|
|
6258
|
-
interface CallSuccessful {
|
|
6259
|
-
op: 'eq';
|
|
6260
|
-
type: 'boolean';
|
|
6261
|
-
value: boolean;
|
|
6262
|
-
}
|
|
6263
|
-
interface CallType {
|
|
5989
|
+
enable_dynamic_voice_speed?: boolean;
|
|
6264
5990
|
/**
|
|
6265
|
-
*
|
|
5991
|
+
* Master toggle for expressive mode. When true, the agent may add expressive voice
|
|
5992
|
+
* tags to the audio it generates. Only applicable for platform voices. If unset,
|
|
5993
|
+
* defaults to false.
|
|
6266
5994
|
*/
|
|
6267
|
-
|
|
6268
|
-
type: 'enum';
|
|
6269
|
-
value: Array<'web_call' | 'phone_call'>;
|
|
6270
|
-
}
|
|
6271
|
-
interface NumberFilter {
|
|
5995
|
+
enable_expressive_mode?: boolean;
|
|
6272
5996
|
/**
|
|
6273
|
-
*
|
|
6274
|
-
*
|
|
5997
|
+
* If users stay silent for a period after agent speech, end the call. The minimum
|
|
5998
|
+
* value allowed is 10,000 ms (10 s). By default, this is set to 600000 (10 min).
|
|
6275
5999
|
*/
|
|
6276
|
-
|
|
6277
|
-
type: 'number';
|
|
6278
|
-
value: number;
|
|
6279
|
-
}
|
|
6280
|
-
interface RangeFilter {
|
|
6000
|
+
end_call_after_silence_ms?: number;
|
|
6281
6001
|
/**
|
|
6282
|
-
*
|
|
6002
|
+
* The expressive voice tags Retell pre-teaches the model to use when
|
|
6003
|
+
* enable_expressive_mode is true. Custom tags defined in the system prompt are
|
|
6004
|
+
* still allowed. If empty, the agent follows general expressive guidance without a
|
|
6005
|
+
* fixed tag set.
|
|
6283
6006
|
*/
|
|
6284
|
-
|
|
6285
|
-
type: 'range';
|
|
6007
|
+
expressive_emotion_tags?: Array<'empathetic' | 'excited' | 'happy' | 'curious' | 'surprised' | 'sigh' | 'clear throat' | 'pause' | 'long pause' | 'emphasis'>;
|
|
6286
6008
|
/**
|
|
6287
|
-
*
|
|
6009
|
+
* Custom expressive voice guidance to use instead of the default Retell expressive
|
|
6010
|
+
* prompt when enable_expressive_mode is true. If omitted or blank, the default
|
|
6011
|
+
* expressive prompt will be used.
|
|
6288
6012
|
*/
|
|
6289
|
-
|
|
6290
|
-
}
|
|
6291
|
-
interface StringFilter {
|
|
6013
|
+
expressive_mode_prompt?: string | null;
|
|
6292
6014
|
/**
|
|
6293
|
-
*
|
|
6015
|
+
* When TTS provider for the selected voice is experiencing outages, we would use
|
|
6016
|
+
* fallback voices listed here for the agent. Voice id and the fallback voice ids
|
|
6017
|
+
* must be from different TTS providers. The system would go through the list in
|
|
6018
|
+
* order, if the first one in the list is also having outage, it would use the next
|
|
6019
|
+
* one. Set to null to remove voice fallback for the agent.
|
|
6294
6020
|
*/
|
|
6295
|
-
|
|
6296
|
-
type: 'string';
|
|
6297
|
-
value: string;
|
|
6021
|
+
fallback_voice_ids?: Array<string> | null;
|
|
6298
6022
|
/**
|
|
6299
|
-
*
|
|
6023
|
+
* Configuration for guardrail checks to detect and prevent prohibited topics in
|
|
6024
|
+
* agent output and user input.
|
|
6300
6025
|
*/
|
|
6301
|
-
|
|
6302
|
-
}
|
|
6303
|
-
interface NumberFilter {
|
|
6026
|
+
guardrail_config?: Agent.GuardrailConfig;
|
|
6304
6027
|
/**
|
|
6305
|
-
*
|
|
6306
|
-
* than, le: less than or equal
|
|
6028
|
+
* Toggle behavior presets on/off to influence agent response style and behaviors.
|
|
6307
6029
|
*/
|
|
6308
|
-
|
|
6309
|
-
type: 'number';
|
|
6310
|
-
value: number;
|
|
6030
|
+
handbook_config?: Agent.HandbookConfig;
|
|
6311
6031
|
/**
|
|
6312
|
-
*
|
|
6032
|
+
* Controls how sensitive the agent is to user interruptions. Value ranging from
|
|
6033
|
+
* [0,1]. Lower value means it will take longer / more words for user to interrupt
|
|
6034
|
+
* agent, while higher value means it's easier for user to interrupt agent. If
|
|
6035
|
+
* unset, default value 1 will apply. When this is set to 0, agent would never be
|
|
6036
|
+
* interrupted.
|
|
6313
6037
|
*/
|
|
6314
|
-
|
|
6315
|
-
}
|
|
6316
|
-
interface BooleanFilter {
|
|
6317
|
-
op: 'eq';
|
|
6318
|
-
type: 'boolean';
|
|
6319
|
-
value: boolean;
|
|
6038
|
+
interruption_sensitivity?: number;
|
|
6320
6039
|
/**
|
|
6321
|
-
*
|
|
6040
|
+
* If this option is set, the call will try to detect IVR in the first 3 minutes of
|
|
6041
|
+
* the call. Actions defined will be applied when the IVR is detected. Set this to
|
|
6042
|
+
* null to disable IVR detection.
|
|
6322
6043
|
*/
|
|
6323
|
-
|
|
6324
|
-
}
|
|
6325
|
-
interface RangeFilter {
|
|
6044
|
+
ivr_option?: Agent.IvrOption | null;
|
|
6326
6045
|
/**
|
|
6327
|
-
*
|
|
6046
|
+
* Specifies what language(s) the agent will operate in. Accepts either a single
|
|
6047
|
+
* scalar locale (e.g. `en-US`), the legacy scalar value `multi` for multilingual
|
|
6048
|
+
* support, or an array of concrete locale codes for explicit multi-locale
|
|
6049
|
+
* selection (e.g. `["en-US","es-ES"]`). The array form must contain concrete
|
|
6050
|
+
* locale codes only — the `multi` value is valid only as the scalar legacy form
|
|
6051
|
+
* and must not appear inside an array. Single-element arrays are normalized to the
|
|
6052
|
+
* equivalent scalar on output. If unset, defaults to `en-US`.
|
|
6328
6053
|
*/
|
|
6329
|
-
|
|
6330
|
-
type: 'range';
|
|
6054
|
+
language?: 'en-US' | 'en-IN' | 'en-GB' | 'en-AU' | 'en-NZ' | 'de-DE' | 'es-ES' | 'es-419' | 'hi-IN' | 'fr-FR' | 'fr-CA' | 'ja-JP' | 'pt-PT' | 'pt-BR' | 'zh-CN' | 'ru-RU' | 'it-IT' | 'ko-KR' | 'nl-NL' | 'nl-BE' | 'pl-PL' | 'tr-TR' | 'vi-VN' | 'ro-RO' | 'bg-BG' | 'ca-ES' | 'th-TH' | 'da-DK' | 'fi-FI' | 'el-GR' | 'hu-HU' | 'id-ID' | 'no-NO' | 'sk-SK' | 'sv-SE' | 'lt-LT' | 'lv-LV' | 'cs-CZ' | 'ms-MY' | 'af-ZA' | 'ar-SA' | 'az-AZ' | 'bs-BA' | 'cy-GB' | 'fa-IR' | 'fil-PH' | 'gl-ES' | 'he-IL' | 'hr-HR' | 'hy-AM' | 'is-IS' | 'kk-KZ' | 'kn-IN' | 'mk-MK' | 'mr-IN' | 'ne-NP' | 'sl-SI' | 'sr-RS' | 'sw-KE' | 'ta-IN' | 'ur-IN' | 'yue-CN' | 'uk-UA' | 'multi' | Array<'en-US' | 'en-IN' | 'en-GB' | 'en-AU' | 'en-NZ' | 'de-DE' | 'es-ES' | 'es-419' | 'hi-IN' | 'fr-FR' | 'fr-CA' | 'ja-JP' | 'pt-PT' | 'pt-BR' | 'zh-CN' | 'ru-RU' | 'it-IT' | 'ko-KR' | 'nl-NL' | 'nl-BE' | 'pl-PL' | 'tr-TR' | 'vi-VN' | 'ro-RO' | 'bg-BG' | 'ca-ES' | 'th-TH' | 'da-DK' | 'fi-FI' | 'el-GR' | 'hu-HU' | 'id-ID' | 'no-NO' | 'sk-SK' | 'sv-SE' | 'lt-LT' | 'lv-LV' | 'cs-CZ' | 'ms-MY' | 'af-ZA' | 'ar-SA' | 'az-AZ' | 'bs-BA' | 'cy-GB' | 'fa-IR' | 'fil-PH' | 'gl-ES' | 'he-IL' | 'hr-HR' | 'hy-AM' | 'is-IS' | 'kk-KZ' | 'kn-IN' | 'mk-MK' | 'mr-IN' | 'ne-NP' | 'sl-SI' | 'sr-RS' | 'sw-KE' | 'ta-IN' | 'ur-IN' | 'yue-CN' | 'uk-UA'>;
|
|
6331
6055
|
/**
|
|
6332
|
-
*
|
|
6056
|
+
* Maximum allowed length for the call, will force end the call if reached. The
|
|
6057
|
+
* minimum value allowed is 60,000 ms (1 min), and maximum value allowed is
|
|
6058
|
+
* 7,200,000 (2 hours). By default, this is set to 3,600,000 (1 hour).
|
|
6333
6059
|
*/
|
|
6334
|
-
|
|
6060
|
+
max_call_duration_ms?: number;
|
|
6335
6061
|
/**
|
|
6336
|
-
*
|
|
6062
|
+
* Whether this agent opts in for signed URLs for public logs and recordings. When
|
|
6063
|
+
* enabled, the generated URLs will include security signatures that restrict
|
|
6064
|
+
* access and automatically expire after 24 hours.
|
|
6337
6065
|
*/
|
|
6338
|
-
|
|
6339
|
-
}
|
|
6340
|
-
interface EnumFilter {
|
|
6066
|
+
opt_in_signed_url?: boolean;
|
|
6341
6067
|
/**
|
|
6342
|
-
*
|
|
6068
|
+
* Configuration for PII scrubbing from transcripts and recordings.
|
|
6343
6069
|
*/
|
|
6344
|
-
|
|
6345
|
-
type: 'enum';
|
|
6346
|
-
value: Array<string>;
|
|
6070
|
+
pii_config?: Agent.PiiConfig;
|
|
6347
6071
|
/**
|
|
6348
|
-
*
|
|
6072
|
+
* Post call analysis data to extract from the call. This data will augment the
|
|
6073
|
+
* pre-defined variables extracted in the call analysis. This will be available
|
|
6074
|
+
* after the call ends.
|
|
6349
6075
|
*/
|
|
6350
|
-
|
|
6351
|
-
}
|
|
6352
|
-
interface PresentFilter {
|
|
6076
|
+
post_call_analysis_data?: Array<Agent.StringAnalysisData | Agent.EnumAnalysisData | Agent.BooleanAnalysisData | Agent.NumberAnalysisData | Agent.CallPresetAnalysisData> | null;
|
|
6353
6077
|
/**
|
|
6354
|
-
*
|
|
6078
|
+
* The model to use for post call analysis. Default to gpt-4.1.
|
|
6355
6079
|
*/
|
|
6356
|
-
|
|
6357
|
-
type: 'present';
|
|
6080
|
+
post_call_analysis_model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash' | null;
|
|
6358
6081
|
/**
|
|
6359
|
-
*
|
|
6082
|
+
* A list of words / phrases and their pronunciation to be used to guide the audio
|
|
6083
|
+
* synthesize for consistent pronunciation. Check the dashboard to see what
|
|
6084
|
+
* provider supports this feature. Set to null to remove pronunciation dictionary
|
|
6085
|
+
* from this agent.
|
|
6360
6086
|
*/
|
|
6361
|
-
|
|
6362
|
-
}
|
|
6363
|
-
interface StringFilter {
|
|
6087
|
+
pronunciation_dictionary?: Array<Agent.PronunciationDictionary> | null;
|
|
6364
6088
|
/**
|
|
6365
|
-
*
|
|
6089
|
+
* If set, controls how many times agent would remind user when user is
|
|
6090
|
+
* unresponsive. Must be a non negative integer. If unset, default value of 1 will
|
|
6091
|
+
* apply (remind once). Set to 0 to disable agent from reminding.
|
|
6366
6092
|
*/
|
|
6367
|
-
|
|
6368
|
-
type: 'string';
|
|
6369
|
-
value: string;
|
|
6093
|
+
reminder_max_count?: number;
|
|
6370
6094
|
/**
|
|
6371
|
-
*
|
|
6095
|
+
* If set (in milliseconds), will trigger a reminder to the agent to speak if the
|
|
6096
|
+
* user has been silent for the specified duration after some agent speech. Must be
|
|
6097
|
+
* a positive number. If unset, default value of 10000 ms (10 s) will apply.
|
|
6372
6098
|
*/
|
|
6373
|
-
|
|
6374
|
-
}
|
|
6375
|
-
interface NumberFilter {
|
|
6099
|
+
reminder_trigger_ms?: number;
|
|
6376
6100
|
/**
|
|
6377
|
-
*
|
|
6378
|
-
*
|
|
6101
|
+
* The Response Engine to attach to the agent. It is used to generate responses for
|
|
6102
|
+
* the agent. You need to create a Response Engine first before attaching it to an
|
|
6103
|
+
* agent.
|
|
6379
6104
|
*/
|
|
6380
|
-
|
|
6381
|
-
type: 'number';
|
|
6382
|
-
value: number;
|
|
6105
|
+
response_engine?: Agent.ResponseEngineRetellLm | Agent.ResponseEngineCustomLm | Agent.ResponseEngineConversationFlow;
|
|
6383
6106
|
/**
|
|
6384
|
-
*
|
|
6107
|
+
* Controls how responsive is the agent. Value ranging from [0,1]. Lower value
|
|
6108
|
+
* means less responsive agent (wait more, respond slower), while higher value
|
|
6109
|
+
* means faster exchanges (respond when it can). If unset, default value 1 will
|
|
6110
|
+
* apply.
|
|
6385
6111
|
*/
|
|
6386
|
-
|
|
6387
|
-
|
|
6388
|
-
|
|
6389
|
-
|
|
6390
|
-
|
|
6391
|
-
|
|
6112
|
+
responsiveness?: number;
|
|
6113
|
+
/**
|
|
6114
|
+
* If set, the phone ringing will last for the specified amount of milliseconds.
|
|
6115
|
+
* This applies for both outbound call ringtime, and call transfer ringtime.
|
|
6116
|
+
* Default to 30000 (30 s). Valid range is [5000, 300000].
|
|
6117
|
+
*/
|
|
6118
|
+
ring_duration_ms?: number;
|
|
6392
6119
|
/**
|
|
6393
|
-
* The
|
|
6120
|
+
* The expiration time for the signed url in milliseconds. Only applicable when
|
|
6121
|
+
* opt_in_signed_url is true. If not set, default value of 86400000 (24 hours) will
|
|
6122
|
+
* apply.
|
|
6394
6123
|
*/
|
|
6395
|
-
|
|
6396
|
-
}
|
|
6397
|
-
interface RangeFilter {
|
|
6124
|
+
signed_url_expiration_ms?: number | null;
|
|
6398
6125
|
/**
|
|
6399
|
-
*
|
|
6126
|
+
* If set, determines whether speech to text should focus on latency or accuracy.
|
|
6127
|
+
* Default to fast mode. When set to custom, custom_stt_config must be provided.
|
|
6400
6128
|
*/
|
|
6401
|
-
|
|
6402
|
-
type: 'range';
|
|
6129
|
+
stt_mode?: 'fast' | 'accurate' | 'custom';
|
|
6403
6130
|
/**
|
|
6404
|
-
*
|
|
6131
|
+
* IANA timezone for the agent (e.g. America/New_York). Defaults to
|
|
6132
|
+
* America/Los_Angeles if not set.
|
|
6405
6133
|
*/
|
|
6406
|
-
|
|
6134
|
+
timezone?: string | null;
|
|
6135
|
+
user_dtmf_options?: Agent.UserDtmfOptions | null;
|
|
6407
6136
|
/**
|
|
6408
|
-
*
|
|
6137
|
+
* Optional description of the agent version. Used for your own reference and
|
|
6138
|
+
* documentation.
|
|
6409
6139
|
*/
|
|
6410
|
-
|
|
6411
|
-
}
|
|
6412
|
-
interface EnumFilter {
|
|
6140
|
+
version_description?: string | null;
|
|
6413
6141
|
/**
|
|
6414
|
-
*
|
|
6142
|
+
* Optional title of the agent version. Used for your own reference.
|
|
6415
6143
|
*/
|
|
6416
|
-
|
|
6417
|
-
type: 'enum';
|
|
6418
|
-
value: Array<string>;
|
|
6144
|
+
version_title?: string | null;
|
|
6419
6145
|
/**
|
|
6420
|
-
*
|
|
6146
|
+
* If set, determines the vocabulary set to use for transcription. This setting
|
|
6147
|
+
* only applies for English agents, for non English agent, this setting is a no-op.
|
|
6148
|
+
* Default to general.
|
|
6421
6149
|
*/
|
|
6422
|
-
|
|
6423
|
-
}
|
|
6424
|
-
interface PresentFilter {
|
|
6150
|
+
vocab_specialization?: 'general' | 'medical';
|
|
6425
6151
|
/**
|
|
6426
|
-
*
|
|
6152
|
+
* Controls the emotional tone of the agent's voice. Currently supported for
|
|
6153
|
+
* Cartesia and Minimax TTS providers. If unset, no emotion will be used.
|
|
6427
6154
|
*/
|
|
6428
|
-
|
|
6429
|
-
type: 'present';
|
|
6155
|
+
voice_emotion?: 'calm' | 'sympathetic' | 'happy' | 'sad' | 'angry' | 'fearful' | 'surprised' | null;
|
|
6430
6156
|
/**
|
|
6431
|
-
*
|
|
6157
|
+
* Unique voice id used for the agent. Find list of available voices and their
|
|
6158
|
+
* preview in Dashboard.
|
|
6432
6159
|
*/
|
|
6433
|
-
|
|
6434
|
-
}
|
|
6435
|
-
interface DataStorageSetting {
|
|
6160
|
+
voice_id?: string;
|
|
6436
6161
|
/**
|
|
6437
|
-
*
|
|
6162
|
+
* Select the voice model used for the selected voice. Each provider has a set of
|
|
6163
|
+
* available voice models. Set to null to remove voice model selection, and default
|
|
6164
|
+
* ones will apply. Check out dashboard for more details of each voice model.
|
|
6438
6165
|
*/
|
|
6439
|
-
|
|
6440
|
-
type: 'enum';
|
|
6441
|
-
value: Array<'everything' | 'everything_except_pii' | 'basic_attributes_only'>;
|
|
6442
|
-
}
|
|
6443
|
-
interface Direction {
|
|
6166
|
+
voice_model?: 'eleven_flash_v2' | 'eleven_flash_v2_5' | 'eleven_multilingual_v2' | 'eleven_v3' | 'sonic-3' | 'sonic-3-latest' | 'sonic-3.5' | 'tts-1' | 'gpt-4o-mini-tts' | 'speech-02-turbo' | 'speech-2.8-turbo' | 's1' | 's2-pro' | 's2.1-pro' | null;
|
|
6444
6167
|
/**
|
|
6445
|
-
*
|
|
6168
|
+
* Controls speed of voice. Value ranging from [0.5,2]. Lower value means slower
|
|
6169
|
+
* speech, while higher value means faster speech rate. If unset, default value 1
|
|
6170
|
+
* will apply.
|
|
6446
6171
|
*/
|
|
6447
|
-
|
|
6448
|
-
type: 'enum';
|
|
6449
|
-
value: Array<'inbound' | 'outbound'>;
|
|
6450
|
-
}
|
|
6451
|
-
interface DisconnectionReason {
|
|
6172
|
+
voice_speed?: number;
|
|
6452
6173
|
/**
|
|
6453
|
-
*
|
|
6174
|
+
* Controls how stable the voice is. Value ranging from [0,2]. Lower value means
|
|
6175
|
+
* more stable, and higher value means more variant speech generation. Check the
|
|
6176
|
+
* dashboard to see what provider supports this feature. If unset, default value 1
|
|
6177
|
+
* will apply.
|
|
6454
6178
|
*/
|
|
6455
|
-
|
|
6456
|
-
type: 'enum';
|
|
6457
|
-
value: Array<'user_hangup' | 'agent_hangup' | 'call_transfer' | 'voicemail_reached' | 'ivr_reached' | 'inactivity' | 'max_duration_reached' | 'concurrency_limit_reached' | 'no_concurrency_fallback' | 'no_valid_payment' | 'scam_detected' | 'dial_busy' | 'dial_failed' | 'dial_no_answer' | 'invalid_destination' | 'telephony_provider_permission_denied' | 'telephony_provider_unavailable' | 'sip_routing_error' | 'marked_as_spam' | 'user_declined' | 'error_llm_websocket_open' | 'error_llm_websocket_lost_connection' | 'error_llm_websocket_runtime' | 'error_llm_websocket_corrupt_payload' | 'error_no_audio_received' | 'error_asr' | 'error_retell' | 'error_unknown' | 'error_user_not_joined' | 'registered_call_timeout' | 'transfer_bridged' | 'transfer_cancelled' | 'manual_stopped' | 'call_take_over'>;
|
|
6458
|
-
}
|
|
6459
|
-
interface NumberFilter {
|
|
6179
|
+
voice_temperature?: number;
|
|
6460
6180
|
/**
|
|
6461
|
-
*
|
|
6462
|
-
*
|
|
6181
|
+
* If this option is set, the call will try to detect voicemail in the first 3
|
|
6182
|
+
* minutes of the call. Actions defined (hangup, or leave a message) will be
|
|
6183
|
+
* applied when the voicemail is detected. Set this to null to disable voicemail
|
|
6184
|
+
* detection.
|
|
6463
6185
|
*/
|
|
6464
|
-
|
|
6465
|
-
type: 'number';
|
|
6466
|
-
value: number;
|
|
6467
|
-
}
|
|
6468
|
-
interface RangeFilter {
|
|
6186
|
+
voicemail_option?: Agent.VoicemailOption | null;
|
|
6469
6187
|
/**
|
|
6470
|
-
*
|
|
6188
|
+
* If set, will control the volume of the agent. Value ranging from [0,2]. Lower
|
|
6189
|
+
* value means quieter agent speech, while higher value means louder agent speech.
|
|
6190
|
+
* If unset, default value 1 will apply.
|
|
6471
6191
|
*/
|
|
6472
|
-
|
|
6473
|
-
type: 'range';
|
|
6192
|
+
volume?: number;
|
|
6474
6193
|
/**
|
|
6475
|
-
*
|
|
6194
|
+
* Which webhook events this agent should receive. If not set, defaults to
|
|
6195
|
+
* call_started, call_ended, call_analyzed.
|
|
6476
6196
|
*/
|
|
6477
|
-
|
|
6478
|
-
}
|
|
6479
|
-
interface DynamicVariable {
|
|
6197
|
+
webhook_events?: Array<'call_started' | 'call_ended' | 'call_analyzed' | 'transcript_updated' | 'transfer_started' | 'transfer_bridged' | 'transfer_cancelled' | 'transfer_ended'> | null;
|
|
6480
6198
|
/**
|
|
6481
|
-
* The
|
|
6199
|
+
* The timeout for the webhook in milliseconds. If not set, default value of 10000
|
|
6200
|
+
* will apply.
|
|
6482
6201
|
*/
|
|
6483
|
-
|
|
6202
|
+
webhook_timeout_ms?: number;
|
|
6484
6203
|
/**
|
|
6485
|
-
*
|
|
6204
|
+
* The webhook for agent to listen to call events. See what events it would get at
|
|
6205
|
+
* [webhook doc](/features/webhook). If set, will binds webhook events for this
|
|
6206
|
+
* agent to the specified url, and will ignore the account level webhook for this
|
|
6207
|
+
* agent. Set to `null` to remove webhook url from this agent.
|
|
6486
6208
|
*/
|
|
6487
|
-
|
|
6488
|
-
type: 'string';
|
|
6489
|
-
value: string;
|
|
6209
|
+
webhook_url?: string | null;
|
|
6490
6210
|
}
|
|
6491
|
-
|
|
6211
|
+
namespace Agent {
|
|
6492
6212
|
/**
|
|
6493
|
-
*
|
|
6494
|
-
*
|
|
6213
|
+
* If this option is set, the agent prompt will include call screen handling
|
|
6214
|
+
* instructions for identity and call purpose questions. Set this to null to
|
|
6215
|
+
* disable call screen prompt instructions.
|
|
6495
6216
|
*/
|
|
6496
|
-
|
|
6497
|
-
|
|
6498
|
-
|
|
6499
|
-
|
|
6500
|
-
|
|
6217
|
+
interface CallScreeningOption {
|
|
6218
|
+
/**
|
|
6219
|
+
* Identity the agent should provide when a call screen asks who is calling.
|
|
6220
|
+
* Dynamic variables are supported.
|
|
6221
|
+
*/
|
|
6222
|
+
agent_identity: string;
|
|
6223
|
+
/**
|
|
6224
|
+
* Purpose the agent should provide when a call screen asks why it is calling.
|
|
6225
|
+
* Dynamic variables are supported.
|
|
6226
|
+
*/
|
|
6227
|
+
call_purpose: string;
|
|
6228
|
+
}
|
|
6501
6229
|
/**
|
|
6502
|
-
*
|
|
6230
|
+
* Custom STT configuration. Only used when stt_mode is set to custom.
|
|
6503
6231
|
*/
|
|
6504
|
-
|
|
6505
|
-
|
|
6232
|
+
interface CustomSttConfig {
|
|
6233
|
+
/**
|
|
6234
|
+
* Endpointing timeout in milliseconds. Minimum is 100 for Azure, 10 for Deepgram,
|
|
6235
|
+
* 500 for Soniox, 100 for AssemblyAI.
|
|
6236
|
+
*/
|
|
6237
|
+
endpointing_ms: number;
|
|
6238
|
+
/**
|
|
6239
|
+
* ASR provider name.
|
|
6240
|
+
*/
|
|
6241
|
+
provider: 'azure' | 'deepgram' | 'soniox' | 'assemblyai';
|
|
6242
|
+
}
|
|
6506
6243
|
/**
|
|
6507
|
-
*
|
|
6244
|
+
* Configuration for guardrail checks to detect and prevent prohibited topics in
|
|
6245
|
+
* agent output and user input.
|
|
6508
6246
|
*/
|
|
6509
|
-
|
|
6510
|
-
|
|
6511
|
-
|
|
6247
|
+
interface GuardrailConfig {
|
|
6248
|
+
/**
|
|
6249
|
+
* Selected prohibited user topic categories to check. When user messages contain
|
|
6250
|
+
* these topics, the agent will respond with a placeholder message instead of
|
|
6251
|
+
* processing the request.
|
|
6252
|
+
*/
|
|
6253
|
+
input_topics?: Array<'platform_integrity_jailbreaking'> | null;
|
|
6254
|
+
/**
|
|
6255
|
+
* Selected prohibited agent topic categories to check. When agent messages contain
|
|
6256
|
+
* these topics, they will be replaced with a placeholder message.
|
|
6257
|
+
*/
|
|
6258
|
+
output_topics?: Array<'harassment' | 'self_harm' | 'sexual_exploitation' | 'violence' | 'defense_and_national_security' | 'illicit_and_harmful_activity' | 'gambling' | 'regulated_professional_advice' | 'child_safety_and_exploitation'> | null;
|
|
6259
|
+
}
|
|
6512
6260
|
/**
|
|
6513
|
-
*
|
|
6514
|
-
* than, le: less than or equal
|
|
6261
|
+
* Toggle behavior presets on/off to influence agent response style and behaviors.
|
|
6515
6262
|
*/
|
|
6516
|
-
|
|
6517
|
-
|
|
6518
|
-
|
|
6519
|
-
|
|
6520
|
-
|
|
6263
|
+
interface HandbookConfig {
|
|
6264
|
+
/**
|
|
6265
|
+
* When asked, acknowledge being a virtual assistant.
|
|
6266
|
+
*/
|
|
6267
|
+
ai_disclosure?: boolean;
|
|
6268
|
+
/**
|
|
6269
|
+
* Enables Conversational Personality. When true, the agent uses the Conversational
|
|
6270
|
+
* Personality handbook preset, skips Professional Rep Personality during prompt
|
|
6271
|
+
* assembly, and enables internal colloquial rewrite behavior.
|
|
6272
|
+
*/
|
|
6273
|
+
conversational_personality?: boolean;
|
|
6274
|
+
/**
|
|
6275
|
+
* Professional call center rep baseline.
|
|
6276
|
+
*/
|
|
6277
|
+
default_personality?: boolean;
|
|
6278
|
+
/**
|
|
6279
|
+
* Repeat back and confirm important details (voice only).
|
|
6280
|
+
*/
|
|
6281
|
+
echo_verification?: boolean;
|
|
6282
|
+
/**
|
|
6283
|
+
* Warm acknowledgment of caller concerns.
|
|
6284
|
+
*/
|
|
6285
|
+
high_empathy?: boolean;
|
|
6286
|
+
/**
|
|
6287
|
+
* Spell using NATO phonetic alphabet style (voice only).
|
|
6288
|
+
*/
|
|
6289
|
+
nato_phonetic_alphabet?: boolean;
|
|
6290
|
+
/**
|
|
6291
|
+
* Sprinkle natural speech fillers like "um", "you know" for a more human,
|
|
6292
|
+
* conversational tone.
|
|
6293
|
+
*/
|
|
6294
|
+
natural_filler_words?: boolean;
|
|
6295
|
+
/**
|
|
6296
|
+
* Stay within prompt/context scope, don't invent details.
|
|
6297
|
+
*/
|
|
6298
|
+
scope_boundaries?: boolean;
|
|
6299
|
+
/**
|
|
6300
|
+
* Treat near-match similar words as same entity to reduce impact of transcription
|
|
6301
|
+
* error (voice only).
|
|
6302
|
+
*/
|
|
6303
|
+
smart_matching?: boolean;
|
|
6304
|
+
/**
|
|
6305
|
+
* Convert numbers/dates/currency to spoken forms (voice only).
|
|
6306
|
+
*/
|
|
6307
|
+
speech_normalization?: boolean;
|
|
6308
|
+
}
|
|
6309
|
+
/**
|
|
6310
|
+
* If this option is set, the call will try to detect IVR in the first 3 minutes of
|
|
6311
|
+
* the call. Actions defined will be applied when the IVR is detected. Set this to
|
|
6312
|
+
* null to disable IVR detection.
|
|
6313
|
+
*/
|
|
6314
|
+
interface IvrOption {
|
|
6315
|
+
action: IvrOption.Action;
|
|
6316
|
+
/**
|
|
6317
|
+
* Optionally describe what should be treated as an IVR. Leave as null to use the
|
|
6318
|
+
* default definition.
|
|
6319
|
+
*/
|
|
6320
|
+
detection_prompt?: string | null;
|
|
6321
|
+
}
|
|
6322
|
+
namespace IvrOption {
|
|
6323
|
+
interface Action {
|
|
6324
|
+
type: 'hangup';
|
|
6325
|
+
}
|
|
6326
|
+
}
|
|
6521
6327
|
/**
|
|
6522
|
-
*
|
|
6328
|
+
* Configuration for PII scrubbing from transcripts and recordings.
|
|
6523
6329
|
*/
|
|
6524
|
-
|
|
6525
|
-
|
|
6330
|
+
interface PiiConfig {
|
|
6331
|
+
/**
|
|
6332
|
+
* List of PII categories to scrub from transcripts and recordings. PII redaction
|
|
6333
|
+
* is only active when this list is non-empty; an empty array means no PII
|
|
6334
|
+
* scrubbing is performed.
|
|
6335
|
+
*/
|
|
6336
|
+
categories: Array<'person_name' | 'address' | 'email' | 'phone_number' | 'ssn' | 'passport' | 'driver_license' | 'credit_card' | 'bank_account' | 'password' | 'pin' | 'medical_id' | 'date_of_birth' | 'customer_account_number'>;
|
|
6337
|
+
/**
|
|
6338
|
+
* The processing mode for PII scrubbing. Currently only post-call is supported.
|
|
6339
|
+
*/
|
|
6340
|
+
mode: 'post_call';
|
|
6341
|
+
}
|
|
6342
|
+
interface StringAnalysisData {
|
|
6343
|
+
/**
|
|
6344
|
+
* Description of the variable.
|
|
6345
|
+
*/
|
|
6346
|
+
description: string;
|
|
6347
|
+
/**
|
|
6348
|
+
* Name of the variable.
|
|
6349
|
+
*/
|
|
6350
|
+
name: string;
|
|
6351
|
+
/**
|
|
6352
|
+
* Type of the variable to extract.
|
|
6353
|
+
*/
|
|
6354
|
+
type: 'string';
|
|
6355
|
+
/**
|
|
6356
|
+
* Optional instruction to help decide whether this field needs to be populated in
|
|
6357
|
+
* the analysis. If not set, the field is always included. If required is true,
|
|
6358
|
+
* this is ignored.
|
|
6359
|
+
*/
|
|
6360
|
+
conditional_prompt?: string;
|
|
6361
|
+
/**
|
|
6362
|
+
* Examples of the variable value to teach model the style and syntax.
|
|
6363
|
+
*/
|
|
6364
|
+
examples?: Array<string>;
|
|
6365
|
+
/**
|
|
6366
|
+
* Whether this data is required. If true and the data is not extracted, the call
|
|
6367
|
+
* will be marked as unsuccessful.
|
|
6368
|
+
*/
|
|
6369
|
+
required?: boolean;
|
|
6370
|
+
}
|
|
6371
|
+
interface EnumAnalysisData {
|
|
6372
|
+
/**
|
|
6373
|
+
* The possible values of the variable, must be non empty array.
|
|
6374
|
+
*/
|
|
6375
|
+
choices: Array<string>;
|
|
6376
|
+
/**
|
|
6377
|
+
* Description of the variable.
|
|
6378
|
+
*/
|
|
6379
|
+
description: string;
|
|
6380
|
+
/**
|
|
6381
|
+
* Name of the variable.
|
|
6382
|
+
*/
|
|
6383
|
+
name: string;
|
|
6384
|
+
/**
|
|
6385
|
+
* Type of the variable to extract.
|
|
6386
|
+
*/
|
|
6387
|
+
type: 'enum';
|
|
6388
|
+
/**
|
|
6389
|
+
* Optional instruction to help decide whether this field needs to be populated in
|
|
6390
|
+
* the analysis. If not set, the field is always included. If required is true,
|
|
6391
|
+
* this is ignored.
|
|
6392
|
+
*/
|
|
6393
|
+
conditional_prompt?: string;
|
|
6394
|
+
/**
|
|
6395
|
+
* Whether this data is required. If true and the data is not extracted, the call
|
|
6396
|
+
* will be marked as unsuccessful.
|
|
6397
|
+
*/
|
|
6398
|
+
required?: boolean;
|
|
6399
|
+
}
|
|
6400
|
+
interface BooleanAnalysisData {
|
|
6401
|
+
/**
|
|
6402
|
+
* Description of the variable.
|
|
6403
|
+
*/
|
|
6404
|
+
description: string;
|
|
6405
|
+
/**
|
|
6406
|
+
* Name of the variable.
|
|
6407
|
+
*/
|
|
6408
|
+
name: string;
|
|
6409
|
+
/**
|
|
6410
|
+
* Type of the variable to extract.
|
|
6411
|
+
*/
|
|
6412
|
+
type: 'boolean';
|
|
6413
|
+
/**
|
|
6414
|
+
* Optional instruction to help decide whether this field needs to be populated in
|
|
6415
|
+
* the analysis. If not set, the field is always included. If required is true,
|
|
6416
|
+
* this is ignored.
|
|
6417
|
+
*/
|
|
6418
|
+
conditional_prompt?: string;
|
|
6419
|
+
/**
|
|
6420
|
+
* Whether this data is required. If true and the data is not extracted, the call
|
|
6421
|
+
* will be marked as unsuccessful.
|
|
6422
|
+
*/
|
|
6423
|
+
required?: boolean;
|
|
6424
|
+
}
|
|
6425
|
+
interface NumberAnalysisData {
|
|
6426
|
+
/**
|
|
6427
|
+
* Description of the variable.
|
|
6428
|
+
*/
|
|
6429
|
+
description: string;
|
|
6430
|
+
/**
|
|
6431
|
+
* Name of the variable.
|
|
6432
|
+
*/
|
|
6433
|
+
name: string;
|
|
6434
|
+
/**
|
|
6435
|
+
* Type of the variable to extract.
|
|
6436
|
+
*/
|
|
6437
|
+
type: 'number';
|
|
6438
|
+
/**
|
|
6439
|
+
* Optional instruction to help decide whether this field needs to be populated in
|
|
6440
|
+
* the analysis. If not set, the field is always included. If required is true,
|
|
6441
|
+
* this is ignored.
|
|
6442
|
+
*/
|
|
6443
|
+
conditional_prompt?: string;
|
|
6444
|
+
/**
|
|
6445
|
+
* Whether this data is required. If true and the data is not extracted, the call
|
|
6446
|
+
* will be marked as unsuccessful.
|
|
6447
|
+
*/
|
|
6448
|
+
required?: boolean;
|
|
6449
|
+
}
|
|
6526
6450
|
/**
|
|
6527
|
-
*
|
|
6451
|
+
* System preset for post-call analysis (voice agents). Use in
|
|
6452
|
+
* post_call_analysis_data to override prompts or mark fields optional.
|
|
6528
6453
|
*/
|
|
6529
|
-
|
|
6530
|
-
|
|
6531
|
-
|
|
6532
|
-
|
|
6533
|
-
|
|
6534
|
-
|
|
6454
|
+
interface CallPresetAnalysisData {
|
|
6455
|
+
/**
|
|
6456
|
+
* Preset identifier for voice agent analysis.
|
|
6457
|
+
*/
|
|
6458
|
+
name: 'call_summary' | 'call_successful' | 'user_sentiment';
|
|
6459
|
+
/**
|
|
6460
|
+
* Identifies this item as a system preset.
|
|
6461
|
+
*/
|
|
6462
|
+
type: 'system-presets';
|
|
6463
|
+
/**
|
|
6464
|
+
* Optional instruction to help decide whether this field needs to be populated. If
|
|
6465
|
+
* not set, the field is always included.
|
|
6466
|
+
*/
|
|
6467
|
+
conditional_prompt?: string;
|
|
6468
|
+
/**
|
|
6469
|
+
* Prompt or description for this preset.
|
|
6470
|
+
*/
|
|
6471
|
+
description?: string;
|
|
6472
|
+
/**
|
|
6473
|
+
* If false, this field is optional in the analysis. If true or unset, the field is
|
|
6474
|
+
* required.
|
|
6475
|
+
*/
|
|
6476
|
+
required?: boolean;
|
|
6477
|
+
}
|
|
6478
|
+
interface PronunciationDictionary {
|
|
6479
|
+
/**
|
|
6480
|
+
* The phonetic alphabet to be used for pronunciation.
|
|
6481
|
+
*/
|
|
6482
|
+
alphabet: 'ipa' | 'cmu';
|
|
6483
|
+
/**
|
|
6484
|
+
* Pronunciation of the word in the format of a IPA / CMU pronunciation.
|
|
6485
|
+
*/
|
|
6486
|
+
phoneme: string;
|
|
6487
|
+
/**
|
|
6488
|
+
* The string of word / phrase to be annotated with pronunciation.
|
|
6489
|
+
*/
|
|
6490
|
+
word: string;
|
|
6491
|
+
}
|
|
6492
|
+
interface ResponseEngineRetellLm {
|
|
6493
|
+
/**
|
|
6494
|
+
* id of the Retell LLM Response Engine.
|
|
6495
|
+
*/
|
|
6496
|
+
llm_id: string;
|
|
6497
|
+
/**
|
|
6498
|
+
* type of the Response Engine.
|
|
6499
|
+
*/
|
|
6500
|
+
type: 'retell-llm';
|
|
6501
|
+
/**
|
|
6502
|
+
* Version of the Retell LLM Response Engine.
|
|
6503
|
+
*/
|
|
6504
|
+
version?: number | null;
|
|
6505
|
+
}
|
|
6506
|
+
interface ResponseEngineCustomLm {
|
|
6507
|
+
/**
|
|
6508
|
+
* LLM websocket url of the custom LLM.
|
|
6509
|
+
*/
|
|
6510
|
+
llm_websocket_url: string;
|
|
6511
|
+
/**
|
|
6512
|
+
* type of the Response Engine.
|
|
6513
|
+
*/
|
|
6514
|
+
type: 'custom-llm';
|
|
6515
|
+
}
|
|
6516
|
+
interface ResponseEngineConversationFlow {
|
|
6517
|
+
/**
|
|
6518
|
+
* ID of the Conversation Flow Response Engine.
|
|
6519
|
+
*/
|
|
6520
|
+
conversation_flow_id: string;
|
|
6521
|
+
/**
|
|
6522
|
+
* type of the Response Engine.
|
|
6523
|
+
*/
|
|
6524
|
+
type: 'conversation-flow';
|
|
6525
|
+
/**
|
|
6526
|
+
* Version of the Conversation Flow Response Engine.
|
|
6527
|
+
*/
|
|
6528
|
+
version?: number | null;
|
|
6529
|
+
}
|
|
6530
|
+
interface UserDtmfOptions {
|
|
6531
|
+
/**
|
|
6532
|
+
* The maximum number of digits allowed in the user's DTMF (Dual-Tone
|
|
6533
|
+
* Multi-Frequency) input per turn. Once this limit is reached, the input is
|
|
6534
|
+
* considered complete and a response will be generated immediately.
|
|
6535
|
+
*/
|
|
6536
|
+
digit_limit?: number | null;
|
|
6537
|
+
/**
|
|
6538
|
+
* A single key that signals the end of DTMF input. Acceptable values include any
|
|
6539
|
+
* digit (0-9), the pound/hash symbol (#), or the asterisk (\*).
|
|
6540
|
+
*/
|
|
6541
|
+
termination_key?: string | null;
|
|
6542
|
+
/**
|
|
6543
|
+
* The time (in milliseconds) to wait for user DTMF input before timing out. The
|
|
6544
|
+
* timer resets with each digit received.
|
|
6545
|
+
*/
|
|
6546
|
+
timeout_ms?: number;
|
|
6547
|
+
}
|
|
6535
6548
|
/**
|
|
6536
|
-
*
|
|
6549
|
+
* If this option is set, the call will try to detect voicemail in the first 3
|
|
6550
|
+
* minutes of the call. Actions defined (hangup, or leave a message) will be
|
|
6551
|
+
* applied when the voicemail is detected. Set this to null to disable voicemail
|
|
6552
|
+
* detection.
|
|
6537
6553
|
*/
|
|
6538
|
-
|
|
6539
|
-
|
|
6540
|
-
|
|
6554
|
+
interface VoicemailOption {
|
|
6555
|
+
action: VoicemailOption.VoicemailActionPrompt | VoicemailOption.VoicemailActionStaticText | VoicemailOption.VoicemailActionHangup | VoicemailOption.VoicemailActionBridgeTransfer;
|
|
6556
|
+
/**
|
|
6557
|
+
* Optionally describe what should be treated as voicemail. Leave as null to use
|
|
6558
|
+
* the default definition.
|
|
6559
|
+
*/
|
|
6560
|
+
detection_prompt?: string | null;
|
|
6561
|
+
}
|
|
6562
|
+
namespace VoicemailOption {
|
|
6563
|
+
interface VoicemailActionPrompt {
|
|
6564
|
+
/**
|
|
6565
|
+
* The prompt used to generate the text to be spoken when the call is detected to
|
|
6566
|
+
* be in voicemail.
|
|
6567
|
+
*/
|
|
6568
|
+
text: string;
|
|
6569
|
+
type: 'prompt';
|
|
6570
|
+
}
|
|
6571
|
+
interface VoicemailActionStaticText {
|
|
6572
|
+
/**
|
|
6573
|
+
* The text to be spoken when the call is detected to be in voicemail.
|
|
6574
|
+
*/
|
|
6575
|
+
text: string;
|
|
6576
|
+
type: 'static_text';
|
|
6577
|
+
}
|
|
6578
|
+
interface VoicemailActionHangup {
|
|
6579
|
+
type: 'hangup';
|
|
6580
|
+
}
|
|
6581
|
+
interface VoicemailActionBridgeTransfer {
|
|
6582
|
+
type: 'bridge_transfer';
|
|
6583
|
+
}
|
|
6584
|
+
}
|
|
6541
6585
|
}
|
|
6542
6586
|
/**
|
|
6543
|
-
*
|
|
6587
|
+
* Override conversation flow configuration settings. Only applicable when using
|
|
6588
|
+
* conversation flow as the response engine. Supported attributes - model_choice,
|
|
6589
|
+
* model_temperature, tool_call_strict_mode, knowledge_base_ids, kb_config,
|
|
6590
|
+
* start_speaker, begin_after_user_silence_ms.
|
|
6544
6591
|
*/
|
|
6545
|
-
interface
|
|
6546
|
-
op: 'eq';
|
|
6547
|
-
type: 'boolean';
|
|
6548
|
-
value: boolean;
|
|
6549
|
-
}
|
|
6550
|
-
interface StringFilter {
|
|
6551
|
-
/**
|
|
6552
|
-
* eq: equal, ne: not equal, sw: starts with, ew: ends with, co: contains
|
|
6553
|
-
*/
|
|
6554
|
-
op: 'eq' | 'ne' | 'sw' | 'ew' | 'co';
|
|
6555
|
-
type: 'string';
|
|
6556
|
-
value: string;
|
|
6592
|
+
interface ConversationFlow {
|
|
6557
6593
|
/**
|
|
6558
|
-
*
|
|
6594
|
+
* If set, the AI will begin the conversation after waiting for the user for the
|
|
6595
|
+
* duration (in milliseconds) specified by this attribute. This only applies if the
|
|
6596
|
+
* agent is configured to wait for the user to speak first. If not set, the agent
|
|
6597
|
+
* will wait indefinitely for the user to speak.
|
|
6559
6598
|
*/
|
|
6560
|
-
|
|
6561
|
-
}
|
|
6562
|
-
interface NumberFilter {
|
|
6599
|
+
begin_after_user_silence_ms?: number | null;
|
|
6563
6600
|
/**
|
|
6564
|
-
*
|
|
6565
|
-
* than, le: less than or equal
|
|
6601
|
+
* Knowledge base configuration for RAG retrieval.
|
|
6566
6602
|
*/
|
|
6567
|
-
|
|
6568
|
-
type: 'number';
|
|
6569
|
-
value: number;
|
|
6603
|
+
kb_config?: ConversationFlow.KBConfig;
|
|
6570
6604
|
/**
|
|
6571
|
-
*
|
|
6605
|
+
* Knowledge base IDs for RAG (Retrieval-Augmented Generation).
|
|
6572
6606
|
*/
|
|
6573
|
-
|
|
6574
|
-
}
|
|
6575
|
-
interface BooleanFilter {
|
|
6576
|
-
op: 'eq';
|
|
6577
|
-
type: 'boolean';
|
|
6578
|
-
value: boolean;
|
|
6607
|
+
knowledge_base_ids?: Array<string> | null;
|
|
6579
6608
|
/**
|
|
6580
|
-
* The
|
|
6609
|
+
* The model choice for the conversation flow.
|
|
6581
6610
|
*/
|
|
6582
|
-
|
|
6583
|
-
}
|
|
6584
|
-
interface RangeFilter {
|
|
6611
|
+
model_choice?: ConversationFlow.ModelChoice;
|
|
6585
6612
|
/**
|
|
6586
|
-
*
|
|
6613
|
+
* Controls the randomness of the model's responses. Lower values make responses
|
|
6614
|
+
* more deterministic.
|
|
6587
6615
|
*/
|
|
6588
|
-
|
|
6589
|
-
type: 'range';
|
|
6616
|
+
model_temperature?: number | null;
|
|
6590
6617
|
/**
|
|
6591
|
-
*
|
|
6618
|
+
* Who starts the conversation - user or agent.
|
|
6592
6619
|
*/
|
|
6593
|
-
|
|
6620
|
+
start_speaker?: 'user' | 'agent';
|
|
6594
6621
|
/**
|
|
6595
|
-
*
|
|
6622
|
+
* Whether to use strict mode for tool calls. Only applicable when using certain
|
|
6623
|
+
* supported models.
|
|
6596
6624
|
*/
|
|
6597
|
-
|
|
6625
|
+
tool_call_strict_mode?: boolean | null;
|
|
6598
6626
|
}
|
|
6599
|
-
|
|
6627
|
+
namespace ConversationFlow {
|
|
6600
6628
|
/**
|
|
6601
|
-
*
|
|
6629
|
+
* Knowledge base configuration for RAG retrieval.
|
|
6602
6630
|
*/
|
|
6603
|
-
|
|
6604
|
-
|
|
6605
|
-
|
|
6631
|
+
interface KBConfig {
|
|
6632
|
+
/**
|
|
6633
|
+
* Similarity threshold for filtering search results
|
|
6634
|
+
*/
|
|
6635
|
+
filter_score?: number;
|
|
6636
|
+
/**
|
|
6637
|
+
* Max number of knowledge base chunks to retrieve
|
|
6638
|
+
*/
|
|
6639
|
+
top_k?: number;
|
|
6640
|
+
}
|
|
6606
6641
|
/**
|
|
6607
|
-
* The
|
|
6642
|
+
* The model choice for the conversation flow.
|
|
6608
6643
|
*/
|
|
6609
|
-
|
|
6644
|
+
interface ModelChoice {
|
|
6645
|
+
/**
|
|
6646
|
+
* The LLM model to use
|
|
6647
|
+
*/
|
|
6648
|
+
model: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash';
|
|
6649
|
+
/**
|
|
6650
|
+
* Type of model choice
|
|
6651
|
+
*/
|
|
6652
|
+
type: 'cascading';
|
|
6653
|
+
/**
|
|
6654
|
+
* Whether to use high priority pool with more dedicated resource, default false
|
|
6655
|
+
*/
|
|
6656
|
+
high_priority?: boolean;
|
|
6657
|
+
}
|
|
6610
6658
|
}
|
|
6611
|
-
|
|
6659
|
+
/**
|
|
6660
|
+
* Override Retell LLM configuration settings. Only applicable when using Retell
|
|
6661
|
+
* LLM as the response engine. Supported attributes - model, s2s_model,
|
|
6662
|
+
* model_temperature, model_high_priority, tool_call_strict_mode,
|
|
6663
|
+
* knowledge_base_ids, kb_config, start_speaker, begin_after_user_silence_ms,
|
|
6664
|
+
* begin_message.
|
|
6665
|
+
*/
|
|
6666
|
+
interface RetellLlm {
|
|
6612
6667
|
/**
|
|
6613
|
-
*
|
|
6668
|
+
* If set, the AI will begin the conversation after waiting for the user for the
|
|
6669
|
+
* duration (in milliseconds) specified by this attribute. This only applies if the
|
|
6670
|
+
* agent is configured to wait for the user to speak first. If not set, the agent
|
|
6671
|
+
* will wait indefinitely for the user to speak.
|
|
6614
6672
|
*/
|
|
6615
|
-
|
|
6616
|
-
type: 'present';
|
|
6673
|
+
begin_after_user_silence_ms?: number | null;
|
|
6617
6674
|
/**
|
|
6618
|
-
*
|
|
6675
|
+
* First utterance said by the agent in the call. If not set, LLM will dynamically
|
|
6676
|
+
* generate a message. If set to "", agent will wait for user to speak first.
|
|
6619
6677
|
*/
|
|
6620
|
-
|
|
6621
|
-
}
|
|
6622
|
-
interface NumberFilter {
|
|
6678
|
+
begin_message?: string | null;
|
|
6623
6679
|
/**
|
|
6624
|
-
*
|
|
6625
|
-
* than, le: less than or equal
|
|
6680
|
+
* Knowledge base configuration for RAG retrieval.
|
|
6626
6681
|
*/
|
|
6627
|
-
|
|
6628
|
-
type: 'number';
|
|
6629
|
-
value: number;
|
|
6630
|
-
}
|
|
6631
|
-
interface RangeFilter {
|
|
6682
|
+
kb_config?: RetellLlm.KBConfig | null;
|
|
6632
6683
|
/**
|
|
6633
|
-
*
|
|
6684
|
+
* A list of knowledge base ids to use for this resource.
|
|
6634
6685
|
*/
|
|
6635
|
-
|
|
6636
|
-
type: 'range';
|
|
6686
|
+
knowledge_base_ids?: Array<string> | null;
|
|
6637
6687
|
/**
|
|
6638
|
-
*
|
|
6688
|
+
* Select the underlying text LLM. If not set, would default to gpt-4.1.
|
|
6639
6689
|
*/
|
|
6640
|
-
|
|
6641
|
-
}
|
|
6642
|
-
/**
|
|
6643
|
-
* Filter by to number.
|
|
6644
|
-
*/
|
|
6645
|
-
interface ToNumber {
|
|
6690
|
+
model?: 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-5-sonnet' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash' | null;
|
|
6646
6691
|
/**
|
|
6647
|
-
*
|
|
6692
|
+
* If set to true, will use high priority pool with more dedicated resource to
|
|
6693
|
+
* ensure lower and more consistent latency, default to false. This feature usually
|
|
6694
|
+
* comes with a higher cost.
|
|
6648
6695
|
*/
|
|
6649
|
-
|
|
6650
|
-
type: 'string';
|
|
6651
|
-
value: string;
|
|
6652
|
-
}
|
|
6653
|
-
interface ToolCall {
|
|
6696
|
+
model_high_priority?: boolean | null;
|
|
6654
6697
|
/**
|
|
6655
|
-
*
|
|
6698
|
+
* If set, will control the randomness of the response. Value ranging from [0,1].
|
|
6699
|
+
* Lower value means more deterministic, while higher value means more random. If
|
|
6700
|
+
* unset, default value 0 will apply. Note that for tool calling, a lower value is
|
|
6701
|
+
* recommended.
|
|
6656
6702
|
*/
|
|
6657
|
-
|
|
6703
|
+
model_temperature?: number;
|
|
6658
6704
|
/**
|
|
6659
|
-
*
|
|
6705
|
+
* Select the underlying speech to speech model. Can only set this or model, not
|
|
6706
|
+
* both.
|
|
6660
6707
|
*/
|
|
6661
|
-
|
|
6708
|
+
s2s_model?: 'gpt-realtime-2.1' | 'gpt-realtime-2.1-mini' | 'gpt-realtime-2' | 'gpt-realtime-1.5' | 'gpt-realtime' | 'gpt-realtime-mini' | null;
|
|
6662
6709
|
/**
|
|
6663
|
-
*
|
|
6710
|
+
* The speaker who starts the conversation. Required. Must be either 'user' or
|
|
6711
|
+
* 'agent'.
|
|
6664
6712
|
*/
|
|
6665
|
-
|
|
6713
|
+
start_speaker?: 'user' | 'agent';
|
|
6666
6714
|
/**
|
|
6667
|
-
*
|
|
6715
|
+
* Whether to use strict mode for tool calls. Only applicable when using certain
|
|
6716
|
+
* supported models.
|
|
6668
6717
|
*/
|
|
6669
|
-
|
|
6718
|
+
tool_call_strict_mode?: boolean | null;
|
|
6670
6719
|
}
|
|
6671
|
-
namespace
|
|
6672
|
-
|
|
6673
|
-
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
*/
|
|
6677
|
-
op: 'eq' | 'ne' | 'gt' | 'ge' | 'lt' | 'le';
|
|
6678
|
-
type: 'number';
|
|
6679
|
-
value: number;
|
|
6680
|
-
}
|
|
6681
|
-
interface RangeFilter {
|
|
6720
|
+
namespace RetellLlm {
|
|
6721
|
+
/**
|
|
6722
|
+
* Knowledge base configuration for RAG retrieval.
|
|
6723
|
+
*/
|
|
6724
|
+
interface KBConfig {
|
|
6682
6725
|
/**
|
|
6683
|
-
*
|
|
6726
|
+
* Similarity threshold for filtering search results
|
|
6684
6727
|
*/
|
|
6685
|
-
|
|
6686
|
-
type: 'range';
|
|
6728
|
+
filter_score?: number;
|
|
6687
6729
|
/**
|
|
6688
|
-
*
|
|
6730
|
+
* Max number of knowledge base chunks to retrieve
|
|
6689
6731
|
*/
|
|
6690
|
-
|
|
6691
|
-
}
|
|
6692
|
-
/**
|
|
6693
|
-
* Filter by tool call success status.
|
|
6694
|
-
*/
|
|
6695
|
-
interface Success {
|
|
6696
|
-
op: 'eq';
|
|
6697
|
-
type: 'boolean';
|
|
6698
|
-
value: boolean;
|
|
6732
|
+
top_k?: number;
|
|
6699
6733
|
}
|
|
6700
6734
|
}
|
|
6701
|
-
interface UserSentiment {
|
|
6702
|
-
/**
|
|
6703
|
-
* in: value is one of the listed values
|
|
6704
|
-
*/
|
|
6705
|
-
op: 'in';
|
|
6706
|
-
type: 'enum';
|
|
6707
|
-
value: Array<'Negative' | 'Positive' | 'Neutral' | 'Unknown'>;
|
|
6708
|
-
}
|
|
6709
6735
|
}
|
|
6710
6736
|
}
|
|
6711
|
-
export interface CallUpdateParams {
|
|
6712
|
-
/**
|
|
6713
|
-
* Custom attributes for the call, as key-value pairs. Each attribute must first be
|
|
6714
|
-
* defined for your organization in the Retell dashboard (Call History → Actions →
|
|
6715
|
-
* Custom attributes) before it can be set here. The object key must match the id
|
|
6716
|
-
* of an existing organization-level custom attribute; keys that do not match a
|
|
6717
|
-
* defined attribute are ignored and will not be saved. Values must be a string,
|
|
6718
|
-
* number, or boolean.
|
|
6719
|
-
*/
|
|
6720
|
-
custom_attributes?: {
|
|
6721
|
-
[key: string]: string | number | boolean;
|
|
6722
|
-
};
|
|
6723
|
-
/**
|
|
6724
|
-
* Data storage setting for this call. Overrides the agent's default setting.
|
|
6725
|
-
* "everything" stores all data, "everything_except_pii" excludes PII when
|
|
6726
|
-
* possible, "basic_attributes_only" stores only metadata. Cannot be downgraded
|
|
6727
|
-
* from more restrictive to less restrictive settings.
|
|
6728
|
-
*/
|
|
6729
|
-
data_storage_setting?: 'everything' | 'everything_except_pii' | 'basic_attributes_only';
|
|
6730
|
-
/**
|
|
6731
|
-
* An arbitrary object for storage purpose only. You can put anything here like
|
|
6732
|
-
* your internal customer id associated with the call. Not used for processing. You
|
|
6733
|
-
* can later get this field from the call object. Size limited to 50kB max.
|
|
6734
|
-
*/
|
|
6735
|
-
metadata?: unknown;
|
|
6736
|
-
}
|
|
6737
6737
|
export declare namespace Call {
|
|
6738
|
-
export { type CallResponse as CallResponse, type PhoneCallResponse as PhoneCallResponse, type WebCallResponse as WebCallResponse, type CallListResponse as CallListResponse, type
|
|
6738
|
+
export { type CallResponse as CallResponse, type PhoneCallResponse as PhoneCallResponse, type WebCallResponse as WebCallResponse, type CallListResponse as CallListResponse, type CallUpdateParams as CallUpdateParams, type CallListParams as CallListParams, type CallCreatePhoneCallParams as CallCreatePhoneCallParams, type CallCreateWebCallParams as CallCreateWebCallParams, type CallRegisterPhoneCallParams as CallRegisterPhoneCallParams, };
|
|
6739
6739
|
}
|
|
6740
6740
|
//# sourceMappingURL=call.d.ts.map
|