Vicidial CSV enrichment — ranked phones for vicidial_list imports

Vicidial is an open-source call-center dialer used by agencies, BPOs, and in-house outbound teams who run their own campaigns. Most deployments load leads in bulk — a CSV dropped into vicidial_list, a custom campaign loader, or a nightly script that mirrors the same column layout. The dialer does not fix thin data. If the file only has a main switchboard, agents burn time on reception and voicemail while the owner never picks up.

411data enriches lists you already own. We are not a list broker, and we do not provide DNC or litigator scrubbing — if your compliance program requires those checks, run them in Vicidial, your dialer admin tools, or a dedicated hygiene vendor before or after enrichment.

The shape of a Vicidial-ready file

Vicidial list imports are flexible but picky about headers. Common fields include phone_number, first_name, last_name, address1, city, state, postal_code, vendor_lead_code, source_id, list_id, and custom user / comments slots — exact names and required columns vary by server build, campaign, and how your admin mapped the loader.

There is no single canonical "Vicidial CSV" baked into 411data. That is intentional. Custom Export Builder maps enriched rows into your schema — paste a sample row from a known-good import, derive column names, and write per-column hints ("best DM mobile in phone_number", "passthrough vendor_lead_code from source"). Enable dm_phone_rank so ranked candidates arrive before the mapper fills dial positions (ranking details).

End-to-end workflow

1. Start from your source export

Pull the CSV your team already uses before Vicidial — a client marketing file, CRM export, recycled vicidial_list extract, or purchased append with at least name and address per row (company plus location is enough for match). Upload via /batch (batch CSV enrich).

Header mapping tolerates vendor quirks: mixed delimiters, stacked address cells, and legacy encodings are normalized at ingress. Keep vendor_lead_code, source_id, or CRM keys as passthrough columns so round-trip matching survives the export step.

2. Enrich with bill-on-match pricing

Mint a bearer if needed (quickstart), then start the batch job. Bill-on-match means unmatched rows auto-credit — you are not paying for blanks.

After enrichment, phones are scored: owner and officer mobiles promoted, switchboards and reception demoted, legal and counsel lines excluded from ranked dial lists.

3. Build the Vicidial import with Export Builder

  1. Derive destination columns from a real Vicidial list file or admin template your loader accepts.
  2. Save profile instructions: e.g. "Never place an attorney line in phone_number; leave empty rather than guess."
  3. Estimate cost with the same instructions you will submit (Export Builder recipe).
  4. Preview a handful of rows, then run the full export and download CSV.
  5. Load into vicidial_list (or your campaign's import path) and spot-check a few rows in the Vicidial admin before agents go live.

Stock passthrough paths from the enriched graph are discoverable via GET /api/v1/export/columns/stock or the /batch/{id}/export UI dropdown — useful when campaigns need both a ranked phone_number and enriched title or email fields in custom columns.

4. Automate repeat files

Agencies running the same client schema weekly should store the export profile once and re-run against new batch ids. The developer guide documents HTTP routes; usage keys scope automation without sharing the admin token (Connect wizards).

Honest limits

Better Vicidial sessions start with the right phone first. Export what you own, enrich with ranking, import a file that matches how your dialer admin already loads campaigns — reach the decision maker, not the switchboard.