Why a List Must Be Inactive Before Bulk Lead Changes
VICIdial blocks bulk lead moves, deletes, and status updates on active lists. Here is why the inactive rule exists and how to work around it safely.
You go to bulk-edit a Lead list and VICIdial refuses, saying the list has to be inactive first. It's not being fussy. The dialer is actively reading rows out of any list a live Campaign is calling, and changing those rows mid-flight is a recipe for stuck records and double-dialed numbers. This post explains what active really means, what breaks when you ignore the rule, and the one override that can bypass it.
What active means here
A list is active when it is set active AND attached to a campaign that is dialing. The hopper - VICIdial's short queue of leads ready to be called - pulls from active lists constantly. The dialer reserves rows, dials them, and writes back a Status (lead status) and an updated called count when the call ends. While that loop is running, the list is in motion, and the database rows behind it are changing second to second.
Why mid-flight edits go wrong
If you moved, deleted, or re-statused a Lead while the hopper held a reference to it, a few things can break:
- A lead the dialer is about to call disappears, leaving an orphaned hopper row that errors when it gets picked up.
- A status you just changed gets overwritten the instant the in-flight call finishes, so your bulk edit silently vanishes.
- A row you moved to another list gets dialed from both lists, producing a duplicate call to the same number - a DNC (do not call) and compliance headache you don't want.
Making the list inactive removes it from the active dialing pool so the bulk tools can change rows with nobody else touching them. The dialer stops feeding the hopper from that list, the rows go quiet, and your edit lands cleanly.
The safe sequence
flowchart LR
A[List active] --> B[Set list inactive]
B --> C[Hopper drains for that list]
C --> D[Run bulk move / delete / status]
D --> E[Verify row counts]
E --> F[Set list active again]
F --> G[Dialing resumes]Flip the list inactive, give the hopper a moment to clear, run your change, confirm the counts, then set it active again. The whole detour usually costs less than a minute of dialing. For the basics on each action, see bulk-moving leads between lists.
The override - and why it's risky
The Advanced Lead Management Tools page can bypass the inactive rule, but only if a System Setting override is turned on. With it enabled you can run certain tools - including the bulk switch of agent-only callbacks to everyone entries - against an active list. The Switch Callbacks tool queries a Scheduled callback date range, and some teams want to reassign those without pausing dialing. Use this sparingly. The protection exists for a reason, and editing a list the dialer is reading from invites exactly the problems above. Most teams leave the override off and just toggle the list inactive for a minute.
Where this fits
The inactive rule applies to every bulk lead operation - move, delete, and status update alike. For the full picture of admin bulk operations, read VICIdial admin bulk tools explained. VICIfast runs your dialer on a single dedicated server so these operations stay fast and predictable - see VICIfast pricing for what's included.
About VICIfast LLC
VICIfast LLC operates a managed VICIdial hosting + BYOI service for outbound and inbound call centers. We run the dialers, the carriers, the recordings pipeline, and the compliance plumbing so operators don’t have to.
Citing this article
VICIfast Engineering. “Why a List Must Be Inactive Before Bulk Lead Changes”. VICIfast LLC, June 29, 2026. Retrieved from https://vicifast.com/blog/vicidial-lead-management-list-inactive
Have questions?
Related posts
You might be interested in
VICIfast newsletter
Liked this? Get the next one in your inbox.
We ship the kind of stuff you just read — concrete, numbers-first, no drip. One email when a new post goes live. Unsubscribe in one click.
Comments
No comments yet — be the first.