retell-sdk 4.60.0 → 4.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -196,18 +196,14 @@ export interface LlmResponse {
196
196
  * Select the underlying text LLM. If not set, would default to gpt-4.1.
197
197
  */
198
198
  model?:
199
- | 'gpt-5'
200
- | 'gpt-5-mini'
201
- | 'gpt-5-nano'
202
- | 'gpt-4o'
203
- | 'gpt-4o-mini'
204
199
  | 'gpt-4.1'
205
200
  | 'gpt-4.1-mini'
206
201
  | 'gpt-4.1-nano'
207
- | 'claude-3.7-sonnet'
208
- | 'claude-3.5-haiku'
209
- | 'gemini-2.0-flash'
210
- | 'gemini-2.0-flash-lite'
202
+ | 'gpt-5'
203
+ | 'gpt-5-mini'
204
+ | 'gpt-5-nano'
205
+ | 'claude-4.5-sonnet'
206
+ | 'claude-4.5-haiku'
211
207
  | 'gemini-2.5-flash'
212
208
  | 'gemini-2.5-flash-lite'
213
209
  | null;
@@ -297,7 +293,8 @@ export namespace LlmResponse {
297
293
 
298
294
  transfer_option:
299
295
  | TransferCallTool.TransferOptionColdTransfer
300
- | TransferCallTool.TransferOptionWarmTransfer;
296
+ | TransferCallTool.TransferOptionWarmTransfer
297
+ | TransferCallTool.TransferOptionAgenticWarmTransfer;
301
298
 
302
299
  type: 'transfer_call';
303
300
 
@@ -479,6 +476,105 @@ export namespace LlmResponse {
479
476
  type?: 'static_message';
480
477
  }
481
478
  }
479
+
480
+ export interface TransferOptionAgenticWarmTransfer {
481
+ /**
482
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
483
+ */
484
+ agentic_transfer_config: TransferOptionAgenticWarmTransfer.AgenticTransferConfig;
485
+
486
+ /**
487
+ * The type of the transfer.
488
+ */
489
+ type: 'agentic_warm_transfer';
490
+
491
+ /**
492
+ * Whether to play an audio cue when bridging the call. Defaults to true.
493
+ */
494
+ enable_bridge_audio_cue?: boolean;
495
+
496
+ /**
497
+ * The music to play while the caller is being transferred.
498
+ */
499
+ on_hold_music?: 'none' | 'relaxing_sound' | 'uplifting_beats' | 'ringtone';
500
+
501
+ /**
502
+ * If set, when transfer is successful, will say the handoff message to both the
503
+ * transferee and the agent receiving the transfer. Can leave either a static
504
+ * message or a dynamic one based on prompt. Set to null to disable warm handoff.
505
+ */
506
+ public_handoff_option?:
507
+ | TransferOptionAgenticWarmTransfer.WarmTransferPrompt
508
+ | TransferOptionAgenticWarmTransfer.WarmTransferStaticMessage;
509
+
510
+ /**
511
+ * If set to true, will show transferee (the user, not the AI agent) as caller when
512
+ * transferring, requires the telephony side to support caller id override. Retell
513
+ * Twilio numbers support this option.
514
+ */
515
+ show_transferee_as_caller?: boolean;
516
+ }
517
+
518
+ export namespace TransferOptionAgenticWarmTransfer {
519
+ /**
520
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
521
+ */
522
+ export interface AgenticTransferConfig {
523
+ /**
524
+ * The action to take when the transfer agent times out without making a decision.
525
+ * Defaults to cancel_transfer.
526
+ */
527
+ action_on_timeout?: 'bridge_transfer' | 'cancel_transfer';
528
+
529
+ /**
530
+ * The agent that will mediate the transfer decision.
531
+ */
532
+ transfer_agent?: AgenticTransferConfig.TransferAgent;
533
+
534
+ /**
535
+ * The maximum time to wait for the transfer agent to make a decision, in
536
+ * milliseconds. Defaults to 30000 (30 seconds).
537
+ */
538
+ transfer_timeout_ms?: number;
539
+ }
540
+
541
+ export namespace AgenticTransferConfig {
542
+ /**
543
+ * The agent that will mediate the transfer decision.
544
+ */
545
+ export interface TransferAgent {
546
+ /**
547
+ * The agent ID of the transfer agent. This agent must have isTransferAgent set to
548
+ * true and should use bridge_transfer and cancel_transfer tools (for Retell LLM)
549
+ * or BridgeTransferNode and CancelTransferNode (for Conversation Flow).
550
+ */
551
+ agent_id: string;
552
+
553
+ /**
554
+ * The version of the transfer agent to use.
555
+ */
556
+ agent_version: number;
557
+ }
558
+ }
559
+
560
+ export interface WarmTransferPrompt {
561
+ /**
562
+ * The prompt to be used for warm handoff. Can contain dynamic variables.
563
+ */
564
+ prompt?: string;
565
+
566
+ type?: 'prompt';
567
+ }
568
+
569
+ export interface WarmTransferStaticMessage {
570
+ /**
571
+ * The static message to be used for warm handoff. Can contain dynamic variables.
572
+ */
573
+ message?: string;
574
+
575
+ type?: 'static_message';
576
+ }
577
+ }
482
578
  }
483
579
 
484
580
  export interface CheckAvailabilityCalTool {
@@ -1103,7 +1199,8 @@ export namespace LlmResponse {
1103
1199
 
1104
1200
  transfer_option:
1105
1201
  | TransferCallTool.TransferOptionColdTransfer
1106
- | TransferCallTool.TransferOptionWarmTransfer;
1202
+ | TransferCallTool.TransferOptionWarmTransfer
1203
+ | TransferCallTool.TransferOptionAgenticWarmTransfer;
1107
1204
 
1108
1205
  type: 'transfer_call';
1109
1206
 
@@ -1285,6 +1382,105 @@ export namespace LlmResponse {
1285
1382
  type?: 'static_message';
1286
1383
  }
1287
1384
  }
1385
+
1386
+ export interface TransferOptionAgenticWarmTransfer {
1387
+ /**
1388
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
1389
+ */
1390
+ agentic_transfer_config: TransferOptionAgenticWarmTransfer.AgenticTransferConfig;
1391
+
1392
+ /**
1393
+ * The type of the transfer.
1394
+ */
1395
+ type: 'agentic_warm_transfer';
1396
+
1397
+ /**
1398
+ * Whether to play an audio cue when bridging the call. Defaults to true.
1399
+ */
1400
+ enable_bridge_audio_cue?: boolean;
1401
+
1402
+ /**
1403
+ * The music to play while the caller is being transferred.
1404
+ */
1405
+ on_hold_music?: 'none' | 'relaxing_sound' | 'uplifting_beats' | 'ringtone';
1406
+
1407
+ /**
1408
+ * If set, when transfer is successful, will say the handoff message to both the
1409
+ * transferee and the agent receiving the transfer. Can leave either a static
1410
+ * message or a dynamic one based on prompt. Set to null to disable warm handoff.
1411
+ */
1412
+ public_handoff_option?:
1413
+ | TransferOptionAgenticWarmTransfer.WarmTransferPrompt
1414
+ | TransferOptionAgenticWarmTransfer.WarmTransferStaticMessage;
1415
+
1416
+ /**
1417
+ * If set to true, will show transferee (the user, not the AI agent) as caller when
1418
+ * transferring, requires the telephony side to support caller id override. Retell
1419
+ * Twilio numbers support this option.
1420
+ */
1421
+ show_transferee_as_caller?: boolean;
1422
+ }
1423
+
1424
+ export namespace TransferOptionAgenticWarmTransfer {
1425
+ /**
1426
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
1427
+ */
1428
+ export interface AgenticTransferConfig {
1429
+ /**
1430
+ * The action to take when the transfer agent times out without making a decision.
1431
+ * Defaults to cancel_transfer.
1432
+ */
1433
+ action_on_timeout?: 'bridge_transfer' | 'cancel_transfer';
1434
+
1435
+ /**
1436
+ * The agent that will mediate the transfer decision.
1437
+ */
1438
+ transfer_agent?: AgenticTransferConfig.TransferAgent;
1439
+
1440
+ /**
1441
+ * The maximum time to wait for the transfer agent to make a decision, in
1442
+ * milliseconds. Defaults to 30000 (30 seconds).
1443
+ */
1444
+ transfer_timeout_ms?: number;
1445
+ }
1446
+
1447
+ export namespace AgenticTransferConfig {
1448
+ /**
1449
+ * The agent that will mediate the transfer decision.
1450
+ */
1451
+ export interface TransferAgent {
1452
+ /**
1453
+ * The agent ID of the transfer agent. This agent must have isTransferAgent set to
1454
+ * true and should use bridge_transfer and cancel_transfer tools (for Retell LLM)
1455
+ * or BridgeTransferNode and CancelTransferNode (for Conversation Flow).
1456
+ */
1457
+ agent_id: string;
1458
+
1459
+ /**
1460
+ * The version of the transfer agent to use.
1461
+ */
1462
+ agent_version: number;
1463
+ }
1464
+ }
1465
+
1466
+ export interface WarmTransferPrompt {
1467
+ /**
1468
+ * The prompt to be used for warm handoff. Can contain dynamic variables.
1469
+ */
1470
+ prompt?: string;
1471
+
1472
+ type?: 'prompt';
1473
+ }
1474
+
1475
+ export interface WarmTransferStaticMessage {
1476
+ /**
1477
+ * The static message to be used for warm handoff. Can contain dynamic variables.
1478
+ */
1479
+ message?: string;
1480
+
1481
+ type?: 'static_message';
1482
+ }
1483
+ }
1288
1484
  }
1289
1485
 
1290
1486
  export interface CheckAvailabilityCalTool {
@@ -1815,18 +2011,14 @@ export interface LlmCreateParams {
1815
2011
  * Select the underlying text LLM. If not set, would default to gpt-4.1.
1816
2012
  */
1817
2013
  model?:
1818
- | 'gpt-5'
1819
- | 'gpt-5-mini'
1820
- | 'gpt-5-nano'
1821
- | 'gpt-4o'
1822
- | 'gpt-4o-mini'
1823
2014
  | 'gpt-4.1'
1824
2015
  | 'gpt-4.1-mini'
1825
2016
  | 'gpt-4.1-nano'
1826
- | 'claude-3.7-sonnet'
1827
- | 'claude-3.5-haiku'
1828
- | 'gemini-2.0-flash'
1829
- | 'gemini-2.0-flash-lite'
2017
+ | 'gpt-5'
2018
+ | 'gpt-5-mini'
2019
+ | 'gpt-5-nano'
2020
+ | 'claude-4.5-sonnet'
2021
+ | 'claude-4.5-haiku'
1830
2022
  | 'gemini-2.5-flash'
1831
2023
  | 'gemini-2.5-flash-lite'
1832
2024
  | null;
@@ -1916,7 +2108,8 @@ export namespace LlmCreateParams {
1916
2108
 
1917
2109
  transfer_option:
1918
2110
  | TransferCallTool.TransferOptionColdTransfer
1919
- | TransferCallTool.TransferOptionWarmTransfer;
2111
+ | TransferCallTool.TransferOptionWarmTransfer
2112
+ | TransferCallTool.TransferOptionAgenticWarmTransfer;
1920
2113
 
1921
2114
  type: 'transfer_call';
1922
2115
 
@@ -2098,6 +2291,105 @@ export namespace LlmCreateParams {
2098
2291
  type?: 'static_message';
2099
2292
  }
2100
2293
  }
2294
+
2295
+ export interface TransferOptionAgenticWarmTransfer {
2296
+ /**
2297
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
2298
+ */
2299
+ agentic_transfer_config: TransferOptionAgenticWarmTransfer.AgenticTransferConfig;
2300
+
2301
+ /**
2302
+ * The type of the transfer.
2303
+ */
2304
+ type: 'agentic_warm_transfer';
2305
+
2306
+ /**
2307
+ * Whether to play an audio cue when bridging the call. Defaults to true.
2308
+ */
2309
+ enable_bridge_audio_cue?: boolean;
2310
+
2311
+ /**
2312
+ * The music to play while the caller is being transferred.
2313
+ */
2314
+ on_hold_music?: 'none' | 'relaxing_sound' | 'uplifting_beats' | 'ringtone';
2315
+
2316
+ /**
2317
+ * If set, when transfer is successful, will say the handoff message to both the
2318
+ * transferee and the agent receiving the transfer. Can leave either a static
2319
+ * message or a dynamic one based on prompt. Set to null to disable warm handoff.
2320
+ */
2321
+ public_handoff_option?:
2322
+ | TransferOptionAgenticWarmTransfer.WarmTransferPrompt
2323
+ | TransferOptionAgenticWarmTransfer.WarmTransferStaticMessage;
2324
+
2325
+ /**
2326
+ * If set to true, will show transferee (the user, not the AI agent) as caller when
2327
+ * transferring, requires the telephony side to support caller id override. Retell
2328
+ * Twilio numbers support this option.
2329
+ */
2330
+ show_transferee_as_caller?: boolean;
2331
+ }
2332
+
2333
+ export namespace TransferOptionAgenticWarmTransfer {
2334
+ /**
2335
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
2336
+ */
2337
+ export interface AgenticTransferConfig {
2338
+ /**
2339
+ * The action to take when the transfer agent times out without making a decision.
2340
+ * Defaults to cancel_transfer.
2341
+ */
2342
+ action_on_timeout?: 'bridge_transfer' | 'cancel_transfer';
2343
+
2344
+ /**
2345
+ * The agent that will mediate the transfer decision.
2346
+ */
2347
+ transfer_agent?: AgenticTransferConfig.TransferAgent;
2348
+
2349
+ /**
2350
+ * The maximum time to wait for the transfer agent to make a decision, in
2351
+ * milliseconds. Defaults to 30000 (30 seconds).
2352
+ */
2353
+ transfer_timeout_ms?: number;
2354
+ }
2355
+
2356
+ export namespace AgenticTransferConfig {
2357
+ /**
2358
+ * The agent that will mediate the transfer decision.
2359
+ */
2360
+ export interface TransferAgent {
2361
+ /**
2362
+ * The agent ID of the transfer agent. This agent must have isTransferAgent set to
2363
+ * true and should use bridge_transfer and cancel_transfer tools (for Retell LLM)
2364
+ * or BridgeTransferNode and CancelTransferNode (for Conversation Flow).
2365
+ */
2366
+ agent_id: string;
2367
+
2368
+ /**
2369
+ * The version of the transfer agent to use.
2370
+ */
2371
+ agent_version: number;
2372
+ }
2373
+ }
2374
+
2375
+ export interface WarmTransferPrompt {
2376
+ /**
2377
+ * The prompt to be used for warm handoff. Can contain dynamic variables.
2378
+ */
2379
+ prompt?: string;
2380
+
2381
+ type?: 'prompt';
2382
+ }
2383
+
2384
+ export interface WarmTransferStaticMessage {
2385
+ /**
2386
+ * The static message to be used for warm handoff. Can contain dynamic variables.
2387
+ */
2388
+ message?: string;
2389
+
2390
+ type?: 'static_message';
2391
+ }
2392
+ }
2101
2393
  }
2102
2394
 
2103
2395
  export interface CheckAvailabilityCalTool {
@@ -2722,7 +3014,8 @@ export namespace LlmCreateParams {
2722
3014
 
2723
3015
  transfer_option:
2724
3016
  | TransferCallTool.TransferOptionColdTransfer
2725
- | TransferCallTool.TransferOptionWarmTransfer;
3017
+ | TransferCallTool.TransferOptionWarmTransfer
3018
+ | TransferCallTool.TransferOptionAgenticWarmTransfer;
2726
3019
 
2727
3020
  type: 'transfer_call';
2728
3021
 
@@ -2904,6 +3197,105 @@ export namespace LlmCreateParams {
2904
3197
  type?: 'static_message';
2905
3198
  }
2906
3199
  }
3200
+
3201
+ export interface TransferOptionAgenticWarmTransfer {
3202
+ /**
3203
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
3204
+ */
3205
+ agentic_transfer_config: TransferOptionAgenticWarmTransfer.AgenticTransferConfig;
3206
+
3207
+ /**
3208
+ * The type of the transfer.
3209
+ */
3210
+ type: 'agentic_warm_transfer';
3211
+
3212
+ /**
3213
+ * Whether to play an audio cue when bridging the call. Defaults to true.
3214
+ */
3215
+ enable_bridge_audio_cue?: boolean;
3216
+
3217
+ /**
3218
+ * The music to play while the caller is being transferred.
3219
+ */
3220
+ on_hold_music?: 'none' | 'relaxing_sound' | 'uplifting_beats' | 'ringtone';
3221
+
3222
+ /**
3223
+ * If set, when transfer is successful, will say the handoff message to both the
3224
+ * transferee and the agent receiving the transfer. Can leave either a static
3225
+ * message or a dynamic one based on prompt. Set to null to disable warm handoff.
3226
+ */
3227
+ public_handoff_option?:
3228
+ | TransferOptionAgenticWarmTransfer.WarmTransferPrompt
3229
+ | TransferOptionAgenticWarmTransfer.WarmTransferStaticMessage;
3230
+
3231
+ /**
3232
+ * If set to true, will show transferee (the user, not the AI agent) as caller when
3233
+ * transferring, requires the telephony side to support caller id override. Retell
3234
+ * Twilio numbers support this option.
3235
+ */
3236
+ show_transferee_as_caller?: boolean;
3237
+ }
3238
+
3239
+ export namespace TransferOptionAgenticWarmTransfer {
3240
+ /**
3241
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
3242
+ */
3243
+ export interface AgenticTransferConfig {
3244
+ /**
3245
+ * The action to take when the transfer agent times out without making a decision.
3246
+ * Defaults to cancel_transfer.
3247
+ */
3248
+ action_on_timeout?: 'bridge_transfer' | 'cancel_transfer';
3249
+
3250
+ /**
3251
+ * The agent that will mediate the transfer decision.
3252
+ */
3253
+ transfer_agent?: AgenticTransferConfig.TransferAgent;
3254
+
3255
+ /**
3256
+ * The maximum time to wait for the transfer agent to make a decision, in
3257
+ * milliseconds. Defaults to 30000 (30 seconds).
3258
+ */
3259
+ transfer_timeout_ms?: number;
3260
+ }
3261
+
3262
+ export namespace AgenticTransferConfig {
3263
+ /**
3264
+ * The agent that will mediate the transfer decision.
3265
+ */
3266
+ export interface TransferAgent {
3267
+ /**
3268
+ * The agent ID of the transfer agent. This agent must have isTransferAgent set to
3269
+ * true and should use bridge_transfer and cancel_transfer tools (for Retell LLM)
3270
+ * or BridgeTransferNode and CancelTransferNode (for Conversation Flow).
3271
+ */
3272
+ agent_id: string;
3273
+
3274
+ /**
3275
+ * The version of the transfer agent to use.
3276
+ */
3277
+ agent_version: number;
3278
+ }
3279
+ }
3280
+
3281
+ export interface WarmTransferPrompt {
3282
+ /**
3283
+ * The prompt to be used for warm handoff. Can contain dynamic variables.
3284
+ */
3285
+ prompt?: string;
3286
+
3287
+ type?: 'prompt';
3288
+ }
3289
+
3290
+ export interface WarmTransferStaticMessage {
3291
+ /**
3292
+ * The static message to be used for warm handoff. Can contain dynamic variables.
3293
+ */
3294
+ message?: string;
3295
+
3296
+ type?: 'static_message';
3297
+ }
3298
+ }
2907
3299
  }
2908
3300
 
2909
3301
  export interface CheckAvailabilityCalTool {
@@ -3449,18 +3841,14 @@ export interface LlmUpdateParams {
3449
3841
  * gpt-4.1.
3450
3842
  */
3451
3843
  model?:
3452
- | 'gpt-5'
3453
- | 'gpt-5-mini'
3454
- | 'gpt-5-nano'
3455
- | 'gpt-4o'
3456
- | 'gpt-4o-mini'
3457
3844
  | 'gpt-4.1'
3458
3845
  | 'gpt-4.1-mini'
3459
3846
  | 'gpt-4.1-nano'
3460
- | 'claude-3.7-sonnet'
3461
- | 'claude-3.5-haiku'
3462
- | 'gemini-2.0-flash'
3463
- | 'gemini-2.0-flash-lite'
3847
+ | 'gpt-5'
3848
+ | 'gpt-5-mini'
3849
+ | 'gpt-5-nano'
3850
+ | 'claude-4.5-sonnet'
3851
+ | 'claude-4.5-haiku'
3464
3852
  | 'gemini-2.5-flash'
3465
3853
  | 'gemini-2.5-flash-lite'
3466
3854
  | null;
@@ -3550,7 +3938,8 @@ export namespace LlmUpdateParams {
3550
3938
 
3551
3939
  transfer_option:
3552
3940
  | TransferCallTool.TransferOptionColdTransfer
3553
- | TransferCallTool.TransferOptionWarmTransfer;
3941
+ | TransferCallTool.TransferOptionWarmTransfer
3942
+ | TransferCallTool.TransferOptionAgenticWarmTransfer;
3554
3943
 
3555
3944
  type: 'transfer_call';
3556
3945
 
@@ -3732,6 +4121,105 @@ export namespace LlmUpdateParams {
3732
4121
  type?: 'static_message';
3733
4122
  }
3734
4123
  }
4124
+
4125
+ export interface TransferOptionAgenticWarmTransfer {
4126
+ /**
4127
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
4128
+ */
4129
+ agentic_transfer_config: TransferOptionAgenticWarmTransfer.AgenticTransferConfig;
4130
+
4131
+ /**
4132
+ * The type of the transfer.
4133
+ */
4134
+ type: 'agentic_warm_transfer';
4135
+
4136
+ /**
4137
+ * Whether to play an audio cue when bridging the call. Defaults to true.
4138
+ */
4139
+ enable_bridge_audio_cue?: boolean;
4140
+
4141
+ /**
4142
+ * The music to play while the caller is being transferred.
4143
+ */
4144
+ on_hold_music?: 'none' | 'relaxing_sound' | 'uplifting_beats' | 'ringtone';
4145
+
4146
+ /**
4147
+ * If set, when transfer is successful, will say the handoff message to both the
4148
+ * transferee and the agent receiving the transfer. Can leave either a static
4149
+ * message or a dynamic one based on prompt. Set to null to disable warm handoff.
4150
+ */
4151
+ public_handoff_option?:
4152
+ | TransferOptionAgenticWarmTransfer.WarmTransferPrompt
4153
+ | TransferOptionAgenticWarmTransfer.WarmTransferStaticMessage;
4154
+
4155
+ /**
4156
+ * If set to true, will show transferee (the user, not the AI agent) as caller when
4157
+ * transferring, requires the telephony side to support caller id override. Retell
4158
+ * Twilio numbers support this option.
4159
+ */
4160
+ show_transferee_as_caller?: boolean;
4161
+ }
4162
+
4163
+ export namespace TransferOptionAgenticWarmTransfer {
4164
+ /**
4165
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
4166
+ */
4167
+ export interface AgenticTransferConfig {
4168
+ /**
4169
+ * The action to take when the transfer agent times out without making a decision.
4170
+ * Defaults to cancel_transfer.
4171
+ */
4172
+ action_on_timeout?: 'bridge_transfer' | 'cancel_transfer';
4173
+
4174
+ /**
4175
+ * The agent that will mediate the transfer decision.
4176
+ */
4177
+ transfer_agent?: AgenticTransferConfig.TransferAgent;
4178
+
4179
+ /**
4180
+ * The maximum time to wait for the transfer agent to make a decision, in
4181
+ * milliseconds. Defaults to 30000 (30 seconds).
4182
+ */
4183
+ transfer_timeout_ms?: number;
4184
+ }
4185
+
4186
+ export namespace AgenticTransferConfig {
4187
+ /**
4188
+ * The agent that will mediate the transfer decision.
4189
+ */
4190
+ export interface TransferAgent {
4191
+ /**
4192
+ * The agent ID of the transfer agent. This agent must have isTransferAgent set to
4193
+ * true and should use bridge_transfer and cancel_transfer tools (for Retell LLM)
4194
+ * or BridgeTransferNode and CancelTransferNode (for Conversation Flow).
4195
+ */
4196
+ agent_id: string;
4197
+
4198
+ /**
4199
+ * The version of the transfer agent to use.
4200
+ */
4201
+ agent_version: number;
4202
+ }
4203
+ }
4204
+
4205
+ export interface WarmTransferPrompt {
4206
+ /**
4207
+ * The prompt to be used for warm handoff. Can contain dynamic variables.
4208
+ */
4209
+ prompt?: string;
4210
+
4211
+ type?: 'prompt';
4212
+ }
4213
+
4214
+ export interface WarmTransferStaticMessage {
4215
+ /**
4216
+ * The static message to be used for warm handoff. Can contain dynamic variables.
4217
+ */
4218
+ message?: string;
4219
+
4220
+ type?: 'static_message';
4221
+ }
4222
+ }
3735
4223
  }
3736
4224
 
3737
4225
  export interface CheckAvailabilityCalTool {
@@ -4356,7 +4844,8 @@ export namespace LlmUpdateParams {
4356
4844
 
4357
4845
  transfer_option:
4358
4846
  | TransferCallTool.TransferOptionColdTransfer
4359
- | TransferCallTool.TransferOptionWarmTransfer;
4847
+ | TransferCallTool.TransferOptionWarmTransfer
4848
+ | TransferCallTool.TransferOptionAgenticWarmTransfer;
4360
4849
 
4361
4850
  type: 'transfer_call';
4362
4851
 
@@ -4538,6 +5027,105 @@ export namespace LlmUpdateParams {
4538
5027
  type?: 'static_message';
4539
5028
  }
4540
5029
  }
5030
+
5031
+ export interface TransferOptionAgenticWarmTransfer {
5032
+ /**
5033
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
5034
+ */
5035
+ agentic_transfer_config: TransferOptionAgenticWarmTransfer.AgenticTransferConfig;
5036
+
5037
+ /**
5038
+ * The type of the transfer.
5039
+ */
5040
+ type: 'agentic_warm_transfer';
5041
+
5042
+ /**
5043
+ * Whether to play an audio cue when bridging the call. Defaults to true.
5044
+ */
5045
+ enable_bridge_audio_cue?: boolean;
5046
+
5047
+ /**
5048
+ * The music to play while the caller is being transferred.
5049
+ */
5050
+ on_hold_music?: 'none' | 'relaxing_sound' | 'uplifting_beats' | 'ringtone';
5051
+
5052
+ /**
5053
+ * If set, when transfer is successful, will say the handoff message to both the
5054
+ * transferee and the agent receiving the transfer. Can leave either a static
5055
+ * message or a dynamic one based on prompt. Set to null to disable warm handoff.
5056
+ */
5057
+ public_handoff_option?:
5058
+ | TransferOptionAgenticWarmTransfer.WarmTransferPrompt
5059
+ | TransferOptionAgenticWarmTransfer.WarmTransferStaticMessage;
5060
+
5061
+ /**
5062
+ * If set to true, will show transferee (the user, not the AI agent) as caller when
5063
+ * transferring, requires the telephony side to support caller id override. Retell
5064
+ * Twilio numbers support this option.
5065
+ */
5066
+ show_transferee_as_caller?: boolean;
5067
+ }
5068
+
5069
+ export namespace TransferOptionAgenticWarmTransfer {
5070
+ /**
5071
+ * Configuration for agentic warm transfer. Required for agentic warm transfer.
5072
+ */
5073
+ export interface AgenticTransferConfig {
5074
+ /**
5075
+ * The action to take when the transfer agent times out without making a decision.
5076
+ * Defaults to cancel_transfer.
5077
+ */
5078
+ action_on_timeout?: 'bridge_transfer' | 'cancel_transfer';
5079
+
5080
+ /**
5081
+ * The agent that will mediate the transfer decision.
5082
+ */
5083
+ transfer_agent?: AgenticTransferConfig.TransferAgent;
5084
+
5085
+ /**
5086
+ * The maximum time to wait for the transfer agent to make a decision, in
5087
+ * milliseconds. Defaults to 30000 (30 seconds).
5088
+ */
5089
+ transfer_timeout_ms?: number;
5090
+ }
5091
+
5092
+ export namespace AgenticTransferConfig {
5093
+ /**
5094
+ * The agent that will mediate the transfer decision.
5095
+ */
5096
+ export interface TransferAgent {
5097
+ /**
5098
+ * The agent ID of the transfer agent. This agent must have isTransferAgent set to
5099
+ * true and should use bridge_transfer and cancel_transfer tools (for Retell LLM)
5100
+ * or BridgeTransferNode and CancelTransferNode (for Conversation Flow).
5101
+ */
5102
+ agent_id: string;
5103
+
5104
+ /**
5105
+ * The version of the transfer agent to use.
5106
+ */
5107
+ agent_version: number;
5108
+ }
5109
+ }
5110
+
5111
+ export interface WarmTransferPrompt {
5112
+ /**
5113
+ * The prompt to be used for warm handoff. Can contain dynamic variables.
5114
+ */
5115
+ prompt?: string;
5116
+
5117
+ type?: 'prompt';
5118
+ }
5119
+
5120
+ export interface WarmTransferStaticMessage {
5121
+ /**
5122
+ * The static message to be used for warm handoff. Can contain dynamic variables.
5123
+ */
5124
+ message?: string;
5125
+
5126
+ type?: 'static_message';
5127
+ }
5128
+ }
4541
5129
  }
4542
5130
 
4543
5131
  export interface CheckAvailabilityCalTool {