How It Works
A transfer is part of the conversation, not a menu. When a caller asks for a person, or reaches a point you described as a transfer condition, the agent:- Confirms the destination with the caller in one sentence (“I can connect you to our support desk, is that alright?”).
- Says the handoff sentence (“One moment, I am connecting you now.”).
- Rings the destination number. The caller hears the ringing.
- Bridges the caller and the person once they answer. The agent goes quiet; the call stays one call on your account, with one recording and one webhook.
timeout_seconds, is busy or declines, the agent resumes the conversation and offers what you configured as the fallback (continuing now, or a callback). Once max_attempts is reached the agent no longer offers a transfer on that call.
The caller’s own number is never handed to the agent as a destination and the destination numbers are never spoken: the agent only ever chooses between the destinations you configured, by their labels.
Transfers work on standard campaigns, outbound and inbound alike. A campaign in the realtime mode does not offer them. The person receiving the call sees the campaign’s own number as the caller ID.
Configure the destinations
Setconfig.transfer on the campaign. Each destination has a stable id (what the agent chooses between), a label (what the caller hears and what you get back), the number in E.164, and a when condition written in the third person, which is the rule the agent follows to pick it.
The block is validated when you save the campaign and again on every call. Use
PATCH /v1/campaigns/{id} to change it; the next call picks it up.
Write the prompt for it
The agent already knows how to operate the transfer. Your campaign instructions should say when a person is the right outcome and what to offer when the person cannot be reached. Two lines are usually enough:Read the outcome
The call object (GET /v1/calls/{id}) and the completion webhook carry two extra fields when a transfer was attempted:
A completed transfer sets
disposition to Transferred. Webhook subscriptions receive call.completed.transferred. The call’s duration covers the whole call, including the time the caller spent with the person, and is billed as one call. The recording covers the whole call as well.
The transcript stops at the handoff sentence: the conversation with the person is not transcribed.
Limits
- One destination is rung at a time; there is no simultaneous ring.
- The person is not briefed before the bridge and cannot accept or decline with a key press.
- The caller’s own number cannot be shown to the person; the campaign number is used.
- Destinations must be ordinary phone numbers in the allowed prefixes. SIP addresses are not accepted.