Skip to content

What data moves

Three things move when a bot hands a person to your VICIdial: a lead record, a phone call and, later, a status. This applies to a campaign step that sends the call to a VICIdial in-group (Way A).

Personon the phoneVoDialer botthe FronterVoDialerthe platformVICIdial APInon_agent_api.phpVICIdial agentin your in-group1 · On the call with the bot2 · Asks to hand the person over3 · lead_search by phone4 · add_lead or update_leadname, state, summary, facts5 · A call to your in-group (SIP)starts at the same moment as 3 and 4Says goodbye, leaves6 · The person is now with your agent7 · update_lead: statuslater, when a result is set1 · PERSON AND BOTThe bot talks to the personA normal call, placed by VoDialer2 · BOT TO VODIALERAsks to hand the person overTo an outside system, your VICIdial3 · VODIALER TO VICIDIAL APILooks the lead up by phonelead_search4 · VODIALER TO VICIDIAL APIAdds or updates the leadadd_lead or update_lead, with summary5 · VODIALER TO YOUR IN-GROUPCalls your in-group (SIP)Starts at the same moment as 3 and 46 · PERSON AND YOUR AGENTThe bot leaves, your agent talksThe call stays up; the person is handed over7 · LATER, TO VICIDIAL APISets the lead statusupdate_lead, when a result is set
Steps 3 to 5 start together. The lead does not wait for the call, and the call does not wait for the lead. Blue is a bot, green is a person on your team, grey is a system.
Event What VoDialer does
Hand-over requested to an outside target (vd.journey.transfer_requested) Finds or adds the lead. Only when the campaign’s outside step uses this connection.
Result set (vd.journey.disposition_set) Sets the lead’s status through the status map.
Person’s journey closed (vd.journey.closed) Sets the status from the final result, if it is not already set.

Each push is a queued delivery with retries, so it never holds up the live call. Lead and call start together: if VICIdial is slow, the lead can arrive after the call.

VICIdial field From VoDialer
phone_number The 10 digits of the +1 number.
phone_code The connection’s country code, 1 by default.
list_id The list number you set.
first_name, last_name, state, postal_code, date_of_birth The person’s record, when filled in.
vendor_lead_code The first 20 characters of our journey id.
comments The bot’s summary and facts. See below.

Webhooks and CRM calls mask phone numbers unless you switch that on. This connection always sends the full number, because VICIdial needs it. It goes only to your own VICIdial.

If the number is already in VICIdial, VoDialer finds it first by phone number and updates that lead’s comments instead of adding a second lead. VoDialer then finds the new lead’s id by searching again, because it cannot rely on the reply to add_lead.

VICIdial keeps 255 characters in comments. VoDialer writes one line, summary first:

VoDialer transfer | Summary: Wants a plan comparison; has Part A and B. | has_part_b: yes | age: 71

  • The summary is the one the bot wrote for this hand-over.
  • Facts follow, in the form key: value. Facts a person verified come first. Facts that were replaced or look impossible are left out.
  • Line breaks become spaces.
  • If a fact does not fit, it and the ones after it are dropped whole. A summary that is too long ends with ….

At the same moment, VoDialer’s phone servers call the address on the campaign step. The person’s number is the caller ID. When your side answers, the bot says goodbye and leaves, and your agent is on the call with the person. If nobody answers within 30 seconds, the hand-over fails: the bot tells the person and offers a callback.

When the result is set, VoDialer sets the status through the status map. It only does this for people it pushed. It skips a status the lead already has. A hand-over itself files the result XFER, so the lead gets that status as soon as the call is bridged. If the lead push has not finished by then, that status is skipped.