VICIfast
All lead platforms

Two-way integration

Live transfer from VICIdial on a buyer API

Fire a buyer API from the dialer mid-call and transfer the caller live on an accept. The VICIdial hooks that do it, and what breaks when they are slow.

Platforms in this category

  • Allstate
  • Boberdoo
  • Phonexa
  • Trackdrive

When teams ask us for this

You sell live transfers, not records

The agent qualifies, the buyer decides while the consumer is still on the line, and the handover happens inside the same conversation.

You want the decision before the call ends

A dispositions hook fires after the call is over. For a transfer the trigger has to be the agent, or the moment the call connects.

You need the accept evidenced

The buyer reference is written to the lead at the moment of accept, not after the handover, because the agent may never disposition cleanly.

You buy some traffic and sell the rest

The same platform account is often both a source of calls and a destination for transfers. They are separate pieces of work.

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:

HookFires when
start_call_urlthe call connects to an agent
dispo_call_urlthe agent saves a disposition
enter_ingroup_urlan inbound call enters an in-group
add_lead_urla lead is added through the in-group
na_call_urlno agent was available
dead_trigger_urlthe 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.

Questions we get asked

Is this different from posting a lead after the call?
Completely. A posted record is worth a fraction of a transfer accepted while the consumer is still engaged, and the mechanism has nothing in common.
Which VICIdial hook should fire the API?
Not dispo_call_url - by the time it fires the call is over. Use an agent-initiated button once qualification is done, or start_call_url when no qualification is needed.
What happens if the buyer is slow to answer?
Their latency becomes your dead air. The endpoint needs a hard timeout that fails closed to no transfer, so the agent carries on rather than sitting in silence.
Blind transfer or warm transfer?
Warm holds your agent longer but survives a destination that does not answer. Blind is cheaper in agent time and loses both the consumer and the payment when the buyer line fails.
Can the transfer be automatic rather than a click?
Yes. The agent API covers the common path and AMI covers what it does not reach. Whether you want it automatic is a floor decision rather than a technical one.
Does this work with any buyer?
Any buyer with an API that returns a decision and a destination. The work is the mapping and the failure handling, which is why it is quoted per setup.

Try VICIfast free for 7 days.

One click to provision. Cancel any time before day 7 - we don’t charge until then.

See pricing