Skip to main content
When creating a tool with type: "transfer_call" via the Create Tool endpoint, the static_params object configures how calls are transferred — including routing, transfer type, and warm transfer behavior.
When creating a transfer_call tool, the following tool-level fields should be set alongside your static_params:
If you omit speak_during_execution and speak_after_execution, they will default to true (the database default), which is not the intended behavior for transfer calls. Always set them explicitly to false.

Basic Fields

These fields are at the top level of static_params:
You must provide either routing_rules or default_transfer_number (or both). When both are set, routing_rules takes precedence and default_transfer_number serves as a fallback.

Warm Transfer Behavior Settings (transfer_settings)

When transfer_type is "warm", include a transfer_settings object inside static_params to configure the handoff behavior. All fields within use snake_case.

Hold & Ring

IVR Navigation

Human Detection

Whisper Message

A private message spoken only to the transfer target (receiving agent) before connecting them to the original caller.

Human Agent Confirmation

Check Availability Message

A message spoken to the original caller while the AI checks if the transfer target is available.

Transfer Success Message

A message spoken to the original caller when they are about to be connected to the transfer target.

Three-Way Message

A message spoken after the transfer is successful, audible to both the original caller and the transfer target.

Fallback Message

A message spoken to the original caller when the transfer target hangs up or doesn’t answer.

Session Limits


Webhook Fields

These fields are at the top level of static_params and configure webhook-based dynamic routing as an alternative to static routing.

Examples

Cold Transfer to a Static Number

Immediately transfer the call without any debrief.

Cold Transfer with Dynamic Routing

Route calls to different numbers based on conversation context.

Warm Transfer with Debrief

Transfer the call with full warm transfer behavior — whisper message, human detection, and fallback.

Warm Transfer with IVR Navigation

Transfer to a destination that has an automated phone menu.

Webhook-Based Dynamic Routing

Use a webhook to determine the transfer destination at runtime.
When pre_tool_webhook is enabled, your webhook receives call details and can return a transfer_number in the dynamic_variables response object to override the destination. If the webhook fails or times out (3 seconds), the transfer_number configured in static_params is used as a fallback. See the Pre-Tool Webhook documentation for the request/response format.
For the UI-based setup guide, see the Transfer Call Custom Function documentation.