The transfer_conference API: scripting transfers and 3-way calls
The transfer_conference call lets an outside program drive an agent's transfer frame: hangups, blind transfers, closer hops, and 3-way calls all from one URL.
Most of the transfer buttons an agent clicks on the VICIdial screen have a programmatic twin. The transfer_conference function in the Agent API sends the same commands the transfer-conf frame would, except the trigger comes from an outside program instead of a mouse click. If you run a CRM, a wallboard, or a custom toolbar, this is how you wire a transfer into it without rebuilding the agent screen.
What the call does
transfer_conference is part of the agent-side API (application programming interface), so the request always names the agent whose session you are acting on. You pass a source program name, a user and password with API access, the agent_user whose call you want to move, the function name, and a value that says which command to run. The value is the part that decides everything: HANGUP_XFER drops only the third party, HANGUP_BOTH ends the customer and the third party, BLIND_TRANSFER pushes the customer to a number, LOCAL_CLOSER sends the call to another agent through an Ingroup, and DIAL_WITH_CUSTOMER opens a 3-way with the customer still on the line.
Because the function only acts on a live call, the agent must be logged in and actually connected to a customer. If the agent_user has no live call, the request comes back with an error rather than silently doing nothing, which makes it safe to fire from automation that might race ahead of the agent.
The decision flow
flowchart TD
A[External program] --> B[Call transfer_conference]
B --> C{Which value}
C -->|BLIND_TRANSFER| D[Customer sent to number]
C -->|LOCAL_CLOSER| E[Call routed to closer ingroup]
C -->|DIAL_WITH_CUSTOMER| F[Three way call opens]
C -->|HANGUP_XFER| G[Third party dropped]
D --> H[Agent freed]
E --> H
F --> I[Agent stays on line]Two values cover the warm path. DIAL_WITH_CUSTOMER builds a Three-way call so the agent can introduce the customer to whoever answers, and LEAVE_3WAY_CALL lets the agent step out afterward, leaving the customer and the third party talking while the agent lands on the Disposition screen. PARK_CUSTOMER_DIAL is the private-briefing version: the customer goes to park while the new call is placed, so they do not overhear the introduction.
Picking a target
Any value that dials needs a target. Transfers to a number take a phone_number field. Sending the call to a Closer with LOCAL_CLOSER takes an ingroup_choices field naming a single active in-group, and the reserved word DEFAULTINGROUP routes to whatever in-group or campaign the call came from. If you want the call to land on one specific agent rather than a queue, you point ingroup_choices at AGENTDIRECT and add that agent in the phone_number field. Consultative transfers between two agents add a consultative flag, but only on the DIAL_WITH_CUSTOMER and PARK_CUSTOMER_DIAL values.
If you are deciding between a 3-way and a straight handoff before you script anything, the trade-offs are laid out in warm versus cold transfer in VICIdial. The API gives you both, so the choice stays a workflow question rather than a technical one.
transfer_conference is one tool in a larger handoff system, and it fits the same fronter-to-closer chain described in our transfers and closers guide. Scripting it means your CRM and your dialer agree on what a transfer is, instead of each tracking its own version.
If you want a dialer where the transfer API is already enabled and documented rather than something you have to fight for, look at our pricing and get an environment that is ready to script from day one.
Related from VICIfast
About VICIfast
We run VICIdial servers for call centres, so you don’t have to. You get the dialer set up, secured and kept running — we handle the server, the updates and the backups. Bring your own phone carrier; we never resell minutes. From $49 a month per server.
Questions? Call +1 636 556 0022 and talk to someone who runs dialers.
Citing this article
VICIfast Engineering. “The transfer_conference API: scripting transfers and 3-way calls”. VICIfast LLC, June 24, 2026. Retrieved from https://vicifast.com/blog/vicidial-transfer-conference-api
Have questions?
Related posts
Operations
Every value of the transfer_conference API: BLIND_TRANSFER, LOCAL_CLOSER, and more
Operations
A pre-handoff checklist: what to confirm before transferring a live customer
Operations
Fix: "ingroup is not valid" when transferring to a closer queue
Operations
force_fronter_audio_stop: silencing fronter audio playback after a handoff
You might be interested in
Operations
agi-VDADfixCXFER.agi: fixing the agent record after a consultative transfer
Operations
force_fronter_audio_stop: silencing fronter audio playback after a handoff
Operations
agi-3way_press_outside.agi: the script that runs the outside agent's press-1 prompt
Operations
agi-3way_press_agent.agi: the first script behind 3-way press-1 calls
VICIfast newsletter
Liked this? Get the next one in your inbox.
We ship the kind of stuff you just read - concrete, numbers-first, no drip. One email when a new post goes live. Unsubscribe in one click.
Comments
No comments yet - be the first.