Warm Transfers
A warm transfer connects a caller to a human agent while providing context about the conversation. Unlike cold transfers, the receiving agent knows who’s calling and why before the connection is made.How Warm Transfers Work
Configuring Warm Transfers
Basic Configuration
Brief Templates
Customize what the AI tells the receiving agent:Available Variables
| Variable | Description |
|---|---|
{{caller.name}} | Caller’s name if known |
{{caller.phone}} | Caller’s phone number |
{{intent}} | Detected call intent |
{{conversation.summary}} | AI-generated summary |
{{call_duration}} | Time caller has been on |
{{data.field_name}} | Any collected data |
Hold Experience
Configure what callers hear while waiting:Hold Options
| Type | Description |
|---|---|
music | Play hold music |
message | Play custom message |
silence | Muted hold |
ringback | Standard ringing sound |
Transfer Flow Options
Accept/Decline
The receiving agent can accept or decline:Auto-Connect
Connect immediately without confirmation:Voicemail Fallback
If the transfer is declined or times out:Multi-Destination Transfers
Sequential Dialing
Try destinations in order:Simultaneous Ring
Ring multiple destinations at once:Skill-Based Routing
Route based on agent skills:Skill Groups
Define skill groups for routing:Screen Pop Integration
Send caller information to the receiving agent’s screen:Transfer Events
Monitor transfer status via webhooks:| Event | Description |
|---|---|
transfer.initiated | Transfer started |
transfer.ringing | Destination ringing |
transfer.answered | Recipient answered |
transfer.briefed | Brief delivered |
transfer.accepted | Transfer accepted |
transfer.declined | Transfer declined |
transfer.completed | Parties connected |
transfer.failed | Transfer failed |
Event Payload
Best Practices
Keep briefs concise
Keep briefs concise
Receiving agents are busy. Aim for 10-15 seconds of context, not a full recap.
Set appropriate timeouts
Set appropriate timeouts
30 seconds is typical. Too short and agents can’t answer; too long and callers abandon.
Always have a fallback
Always have a fallback
If no one answers, route to voicemail or offer a callback.
Use whisper for quick context
Use whisper for quick context
If auto-connecting, a whisper gives agents heads-up without delay.
Monitor transfer success rates
Monitor transfer success rates
High decline rates indicate staffing or routing issues.
Troubleshooting
Transfers failing
- Verify destination number is correct
- Check if receiving agents are available
- Ensure timeout isn’t too short
- Verify telephony connection is working
Callers abandoning during hold
- Reduce timeout duration
- Improve hold music/messaging
- Add position-in-queue announcements
- Consider callback option
Context not appearing
- Verify brief template syntax
- Check if variables are being collected
- Test screen pop URL separately
- Review webhook deliverability
Next Steps
- Call Routing — Configure routing rules
- Integrations — Set up telephony
- Webhooks — Handle transfer events