VICIdial Dial Hopper: How It Works and Why Yours Is Empty
Last updated: March 2026 | Reading time: ~18 minutes Your agents are sitting idle. The predictive dialer paused itself. You pull up the Real-Time Report and there it is — Hopper: 0. Campaign is act...

Source: DEV Community
Last updated: March 2026 | Reading time: ~18 minutes Your agents are sitting idle. The predictive dialer paused itself. You pull up the Real-Time Report and there it is — Hopper: 0. Campaign is active, lists are loaded, agents are logged in, and absolutely nothing is happening. This is the single most common crisis in VICIdial operations, and it's almost never about running out of leads. It's about a chain of settings, filters, and cron jobs that have to align perfectly for leads to flow from your lists into the hopper and then into the dialer. If you've been running VICIdial for any length of time, you've hit this wall. Let's pull it apart. What the Dial Hopper Actually Is The dial hopper is a staging table — vicidial_hopper — that sits between your lead lists and the dialer engine. Think of it as a buffer. The dialer doesn't reach into vicidial_list directly to find the next number to call. Instead, a background process (the VDHopper cron job) continuously scans your lists, applies e