VICIfast
Glossary

Lead

One dialable record in VICIdial — a phone number plus contact fields and a status.

A lead is one dialable record in VICIdial: a phone number plus the contact detail attached to it. Each lead is a row in vicidial_list, identified by an auto-incrementing lead_id.

What a lead row holds

The standard fields are fixed by the schema, not configurable: phone_number and phone_code (the country code), first_name, last_name, address1 through address3, city, state, postal_code, country_code, email, alt_phone, comments, plus bookkeeping columns like entry_date, modify_date, called_count and last_local_call_time.

Three fields do more work than they look:

  • status — a six-character code that decides whether the dialer will pick this lead up again
  • list_id — which lead list the record belongs to, and therefore which campaign dials it
  • gmt_offset_now — the lead's time-zone offset, derived on load and used for calling-hours enforcement

Anything outside the fixed schema goes into custom fields, which are defined per list and stored separately from vicidial_list — the agent API returns them as a distinct block rather than as columns on the lead.

How a lead becomes a call

The dialer never scans vicidial_list directly during a call. AST_VDhopper.pl selects leads whose status matches the campaign's Dial Statuses setting (dial_statuses, which starts at NEW), checks them against DNC and local calling hours, and stages them in the hopper. Only then are they dialed.

That is the chain to walk when a lead "will not dial": the status has to be in the campaign's dial statuses, the list has to be active, the lead's local time has to be inside the campaign's calling window, and the number must not be on a DNC list.

Duplicates and identity

VICIdial does not enforce uniqueness on phone_number — the same number can exist many times across lists. Deduplication happens at load time, as an option on the lead loader, so decide your duplicate policy before you import rather than after.

See also