Most integration writing treats a dialer as a destination: calls and leads arrive, agents work them. That is half of it. The valuable half runs the other way - VICIdial calls the buyer's API while the consumer is still on the line, and transfers them live if the buyer accepts.
This is how insurance, legal and home-services floors actually monetise. The agent qualifies, the platform decides in real time, and the caller is handed over inside the same conversation. A lead posted after the call is worth a fraction of a transfer made during it.
Integrations on demand. There is no connector for this. It is scoped work: the trigger, the endpoint, the decision handling and the transfer path are built against your buyer's specification.
The shape
Agent is on the call, qualifying
|
v
Trigger fires ----------------> your endpoint
(agent button, or a |
VICIdial URL hook) v
buyer API (Allstate, Boberdoo,
Phonexa, the buyer's own)
|
accept + destination | reject
v
Transfer the live call Agent continues,
to the returned number dispositions locally
|
v
Buyer reference written back to the lead
What fires it
VICIdial has outbound URL hooks on both campaigns and in-groups. The ones worth knowing:
| Hook | Fires when |
|---|---|
start_call_url | the call connects to an agent |
dispo_call_url | the agent saves a disposition |
enter_ingroup_url | an inbound call enters an in-group |
add_lead_url | a lead is added through the in-group |
na_call_url | no agent was available |
dead_trigger_url | the call is detected as dead |
VICIdial substitutes --A--field--B-- in the URL before calling it, so the request already carries lead_id, phone_number, campaign, user, uniqueid, vendor_lead_code, the name and address fields and the counters.
For a live transfer, dispo_call_url is too late - the call is over. The trigger is either an agent-initiated button on the script or web form, or start_call_url where the decision can be made on connect without qualification.
Making the transfer happen
The buyer answers with a destination. Getting the live call there is the part that varies:
Hand it to the agent. The returned number lands on the agent's screen and they transfer with one click. Simplest, most robust, and the agent stays in control if the buyer's line does not answer.
Drive it programmatically. VICIdial's agent API can dial for the agent, which removes the click. It covers the common path; anything beyond it needs AMI against the agent's channel directly.
Which one you want is a floor decision, not a technical one. A floor with experienced agents usually prefers the click. A high-volume floor with a fixed script prefers it automatic.
Gotchas
The buyer's latency is your agent's dead air. The decision has to come back in seconds. Budget a hard timeout and make it fail closed to "no transfer" - an endpoint that hangs leaves an agent sitting in silence with a live consumer.
Fire it once, at the right moment. Every call to a ping endpoint may cost you, and a script button can be double-clicked. Make the endpoint idempotent on the VICIdial uniqueid.
Store the buyer's reference before the transfer, not after. Once the caller is gone, the agent may never disposition cleanly. Write the buyer's accept id to the lead at the moment of accept.
Blind or warm changes who carries the risk. A blind transfer to a buyer who does not answer loses the consumer and the payment. A warm transfer holds your agent for longer but survives a bad destination.
Qualification before the ping. Firing on every connect burns pings on callers who were never going to qualify, and buyers do notice their accept rate.
Do not put a credential in the hook query string alone. A URL configured inside VICIdial's admin cannot carry a header, so the token travels in the path. Derive it rather than storing a shared secret, and scope it to one server.
Where this applies
Every platform on these pages can work in this direction as well as the other. Allstate is the clearest case, because the marketplace is built around accepting a live transfer. Boberdoo returns a dynamic DID on the bid for exactly this. Phonexa and Trackdrive both do it on the call side.
