Lead distribution platforms sell you a record, not a call. They deliver it as an HTTP request to a URL you nominate. Point that URL at your VICIfast box and the lead lands in a VICIdial list, scrubbed against DNC, ready for the dialer to pick up on its next pass.
Integrations on demand. There is no connector to switch on. Our team wires your platform to your server as a scoped piece of work, quoted per setup - the field mapping, the list routing and the rejection handling differ for every buyer.
Platforms in this category
Boberdoo · Phonexa · LeadsPedia · LeadProsper
Boberdoo can build a delivery in "Get, Post, XML, SOAP, and JSON" to any buyer URL. Phonexa's Integration Builder does direct-post and ping-post with per-buyer field mapping. The others are the same shape. The mechanism below does not change.
Ping and post are two different things
Worth separating, because most confusion here comes from conflating them.
The ping is a bid request. The platform describes a lead - state, vertical, sometimes a hashed identifier - and asks what you will pay. No dialable record changes hands.
The post is the lead itself, sent to whoever won the ping.
Only the post should reach your dialer. Wiring a ping to add_lead fills your list with records you never bought.
How it works
The delivery targets VICIdial's non-agent API. The call we already make from our own journey enrolment looks like this:
POST /vicidial/non_agent_api.php
function=add_lead
phone_number=<national>
phone_code=1
list_id=<your list>
dnc_check=Y
campaign_dnc_check=Y
dnc_check and campaign_dnc_check are the two that matter. A platform posting straight into a dialer with those off will happily enrol somebody who has already asked not to be contacted. That is a compliance argument, not a configuration preference.
Everything else is field mapping: the platform's field names on one side, VICIdial's on the other, with per-campaign custom fields available for whatever does not fit the standard set.
Setup, in order
- Create the list the leads should land in, and set its dial rules.
- Build a custom delivery on the platform, pointed at your box's non-agent API.
- Map the fields - phone first, then name, address, vendor lead code, source ID.
- Turn on both DNC checks.
- Post one test lead and confirm it appears in the list, dialable.
- Check the rejection path before you turn on volume. See the gotcha below.
Gotchas
The API answers with text, not a status code. non_agent_api.php returns SUCCESS: ... or ERROR: ... - both as HTTP 200. Any delivery configured to treat 200 as success will silently mark rejected leads as delivered. You will not find out from the dashboard; you will find out from a gap between what you were billed for and what you dialled. Parse the body.
Values are truncated at 255 characters, and apostrophes, double quotes and ampersands are stripped before writing. Long comment fields and URLs do not survive intact.
A duplicate phone number is not an error. VICIdial will accept the same number into the same list twice unless you configure it not to. Decide the dedupe rule before volume arrives, not after.
Posting a ping is the expensive mistake. See above.
