Skip to main content
Split the problem in two before changing anything: did the agent try to transfer, or did the transfer fail? The transcript in Call history answers this — if the pre-tool message (“I’ll transfer you now”) was spoken, the tool fired.

The agent never tried to transfer

1

Sharpen the tool description

The Description (Prompt) on the transfer tool is what the LLM matches against. Vague text produces missed transfers. Be explicit: “Transfer when the caller asks for a human, a manager, or the sales team, or when they are angry.” See Transfer a call to a human.
2

Confirm the tool is attached to this agent

Tools are configured per agent on the Tools tab. An agent copied before the tool was added will not have it.
3

Check the prompt is not fighting the tool

A system prompt instructing the agent to “always resolve the query yourself” will suppress transfers. Say when to hand off, not only when to help.

The transfer fired but the call did not connect

1

Check the destination format

A phone number must be in international format — +19876543210. A national-format number is the most common failure.
2

If transferring to a SIP URI, check the provider

SIP-URI transfer (sip:1234@sbc.example.com) is supported on Plivo telephony. On other telephony providers a transfer tool with a SIP destination does not fire, and the agent dashboard marks the tool accordingly. See Transfer to a SIP trunk.
3

Verify the destination can actually receive the call

Call the destination number directly from an ordinary phone. A number that is out of hours, unregistered, or blocked by the carrier fails the same way regardless of Bolna.
4

Read the hangup fields

hangup_by and hangup_code on the execution show whether the transfer leg was rejected by the carrier or the destination. See Hangup codes.

The caller heard silence during the transfer

Set a pre-tool message on the transfer tool so the agent explains what is happening, and add one per language for multilingual agents. Transfers take a few seconds to bridge; without a message, callers hang up first.

Getting the transfer reason into your systems

Use the pre-call webhook on the transfer tool to notify your own URL before the transfer bridges, and custom SIP headers to carry context onto the outgoing INVITE for your trunk to route on. Both are documented in Transfer a call to a human.

Next steps

Transfer a call to a human

Full configuration

Hangup codes

Why the leg failed

Connect tools and APIs

Where tools are attached