Comparisons
The problem with AI Voice Agent Platforms
What happens after nobody picks up, and why AI-first call centers handle it differently.
What happens after nobody picks up, and why AI-first call centers handle it differently.

Building a voice AI agent takes about an afternoon now. You write what it should say, pick a voice, connect a number, and the thing that calls you back handles objections and books meetings and sounds disarmingly human doing it. The conversation is a solved problem, and the demos are not exaggerating.
Pointing that agent at four thousand real phone numbers is a completely different exercise, and that's where all the interesting problems turn out to live.
The part nobody demos
Say you've got four thousand people to ring. Your agent can only hold one conversation at a time, so before anything happens you need to decide how many calls run at once, and what order the list gets worked through.
Then the results start coming back, and here's the thing: most of them aren't conversations. In a normal outbound operation, the majority of dials never reach a human at all. They hit voicemail, or ring out, or the number's just wrong. So by lunchtime you've got a few hundred dead calls sitting there, and you have to decide what happens to those people. Do you try them again? How many times? How long do you wait in between? And who's keeping track of the fact that you already tried them twice on Tuesday?
And somewhere in the middle of working all that out, you realize a good chunk of your list lives two or three timezones away, which means some of those numbers were being dialed at six in the morning their time.
None of this is exotic. It's just the ordinary reality of calling people at volume, and it's exactly what an hour-long demo can't show you.
The stuff the call center industry sorted out decades ago
What surprised me most is that every one of these problems was solved years ago, by the unglamorous vendors who build software for rooms full of human agents.
If you've never worked in that world, it's worth knowing who's in it. The enterprise end belongs to Genesys, NICE CXone and Five9, which between them run a serious chunk of the contact centers you've ever been put on hold by. Underneath that sits a second tier built specifically for high-volume outbound calling, where you find Convoso and Readymode, plus VICIdial, the open-source one that a surprising number of smaller operations still quietly run on.
These are not fashionable products. But they've been solving the calling-at-volume problem for two decades, and the vocabulary they use is worth learning, because it tells you exactly what's missing everywhere else.
Outcome codes, or dispositions. At the end of every call, someone records what happened. Interested. Reached voicemail. Wrong number. Asked to be called back next quarter. In a proper dialer that tag works as an instruction. Tagging a call "call back next quarter" schedules the next attempt on its own, and tagging it "do not contact" means nobody rings that person again. Genesys calls them wrap-up codes, and driving the next action automatically is the entire point of them.
Calling hours. There are laws about when you're allowed to phone a stranger. In the US, the Telephone Consumer Protection Act bars solicitation calls before 8am or after 9pm, and the bit that catches people out is that the clock runs in the time zone of the person you're calling, not yours. States layer their own rules on top. Florida cuts off at 8pm, and several states ban Sunday calls outright. Getting it wrong is expensive, so real dialing software knows where every contact lives and sits on their call until a legal hour comes round locally.
Do-not-call lists. Some people have formally asked not to be contacted, either by telling your company directly or by adding themselves to the national registry the FTC runs. Call them anyway and there's a penalty attached to each one. What matters here is that the list changes daily, so checking it once when you upload your spreadsheet doesn't protect you. You have to check again right before the call goes out.
Attempt limits, and second chances. You try someone four times, not fourteen. But you also don't give up after one missed call, because hardly anyone is free the first time you happen to ring. So the numbers that didn't connect go back into a queue and get another go later, usually the next morning. Doing that by hand is where most operations quietly leak money.
Caller ID strategy. This is about which number shows up on the customer's screen. Operations rotate through a pool of them, and usually display one with a local area code, because people answer numbers that look nearby and ignore numbers that don't. Push too much volume through one number and the phone networks flag it as spam, and then nothing you call from it gets picked up.
Not one of these is exciting. Every one of them is load-bearing. Take any single one away and you've got either a legal problem or a pile of leads nobody ever follows up on.
Where the voice AI platforms fit
The newer platforms, Vapi and Retell and Bland among them, cracked something the old guard never could, which is getting a machine to hold a conversation that doesn't make people hang up immediately. That's a real breakthrough and it deserves the attention it's had.
They've also moved faster than their reputation suggests. Vapi has campaigns now. Going by their own docs, you can upload a spreadsheet of up to ten thousand people, tell it which column is the name and which is the appointment date so the agent can use them, pick your agent and the number you're calling from, cap how many calls run at once, and launch either immediately or up to a week out. You get transcripts, recordings and pickup rates when it's done.
That's a genuine product. But hold it up against the list above and the gap gets obvious fast.
Vapi's campaign docs don't cover automatic retries, do-not-call lists, calling hours by timezone, or outcome codes beyond a handful of fixed statuses. On calling people back, their guidance is that you build it yourself: have your own software watch how each call went and keep its own record of who's been tried and how often. Campaigns also lock the moment you create them, so you can't change the agent, the list or the schedule while one is running.
That's not a knock, and they're upfront about it. Vapi is a developer platform, and the assumption is that you've got engineers who'll build the operational layer themselves. But it's worth saying plainly what that means in practice. They've given you an excellent agent and a way to start calls. They haven't given you a call center.
The other thing that wears you down
There's a second problem with the developer-first platforms, and it's less about missing features than about how much they ask of you before you've made a single call.
You sign up, and immediately you're choosing. Which language model should the agent think with? Which speech-to-text service should transcribe the caller? Which voice provider should it speak through? Vapi offers somewhere around forty swappable providers across those categories, plus the settings underneath them: how sensitive interruptions should be, how long a pause has to run before the agent decides you've finished talking, how much silence is too much.
Every one of those is a real decision with real consequences. Get the combination wrong and your agent talks over people, or leaves awkward gaps, or sounds slightly robotic in a way you can't quite place. So you start testing combinations. And at some point you notice you've spent two weeks tuning infrastructure and no time at all on the thing that actually determines whether the call works, which is what your agent says.
We went the other way, and we're not shy about it. We picked the stack. We tuned the interruption handling and the pauses and the response times ourselves, across a lot of real calls, and then we hid all of it. You choose a voice and write what the agent should say. That's the configuration.
Fewer choices is a feature. Every knob we don't give you is a decision you don't have to research, get wrong, and revisit in three weeks.
So we built what we wanted to use: an AI-first call center
At some point we stopped evaluating and admitted what we were actually after. We wanted the conversation quality of the new platforms with the machinery of the old ones, and nothing we tried had both. Everything was either a traditional dialer with an AI feature bolted onto the side, or a genuinely brilliant agent sitting on top of nothing.
So we built the thing we'd been trying to buy, and we run our own calling on it.
The idea behind it is simple enough. Take the machinery call centers have always run on, all the boring load-bearing stuff above, and rebuild it for a world where AI makes the calls instead of a room full of people.
It's worth separating this from what Genesys, NICE and Five9 mean when they advertise AI, because all of them do now. In their products the AI assists a human. It listens in on the call, suggests what to say next, and writes up the notes afterwards. That's genuinely useful, and if you already employ a hundred agents it's probably the upgrade you want. But you still employ the hundred agents. The AI is making them faster, not taking the calls.
In an AI-first call center the AI is the agent itself. It takes the calls.
That's the category we're building Neuvox into. Here's the honest three-way comparison, which is what a calling operation needs, what the AI platforms currently do about it, and where we landed.
| What a calling operation needs | Vapi | Neuvox |
|---|---|---|
| Outcome codes that decide what happens next | A few fixed statuses | Define your own |
| Calling people back automatically | You build it | Built in |
| Legal calling hours by timezone | Unsupported | Supported, configurable |
| Do-not-call compliance | Unsupported | Enforced automatically |
| Limits on how often you try someone | Unsupported | Configurable |
| Caller ID | One number per campaign | Rotating pool |
| How big a campaign can be | Capped at 10,000 | No cap |
| Changing a list mid-campaign | Locked once it starts | Edit any time |
| The telephone plumbing | Yours to arrange | Handled for you |
| Your CRM | Custom code, or middleware in between | Connects directly |
| The AI setup itself | Forty-odd providers to choose between | Done for you |
Why calling some people first matters more than it sounds
One capability deserves pulling out on its own, because it tends to shift how people think about all of this.
Not everyone on a list is equally urgent. Someone who filled in a form on your site ninety seconds ago is in a completely different frame of mind from a lead that's been sitting in a spreadsheet since March. So in Neuvox you can mark a contact as urgent, and those people travel on their own fast lane instead of queuing behind the routine list.
Sounds like a minor scheduling detail. The research says otherwise.
The most-cited work here comes from MIT and InsideSales, led by Dr James Oldroyd, which found leads contacted within five minutes were twenty-one times more likely to qualify than ones contacted after thirty. Harvard Business Review separately audited 2,241 US companies and published it as The Short Life of Online Sales Leads. Companies responding within an hour were about seven times more likely to qualify a lead. The average response time across everyone they measured was 42 hours, and 23% never replied at all.
Every sales team knows this already. Almost none of them manage it, and the reason is capacity. A form lands at 2pm on a Tuesday and your reps are already on other calls. The lead waits for someone to free up, and by the time anyone does, that person has filled in three more forms on three other websites.
An AI-first setup has a structural advantage here. There's no queue of busy staff to wait behind. An urgent contact can be dialed within seconds of arriving, at three in the morning or on a public holiday, while a human team wouldn't get to them until the next working day.
What setting it up actually looks like
It's worth getting concrete here, because "we handle all of that for you" is a sentence every vendor in this market says.
You start by building an agent. Give it a name, write what it should say and how it should behave, pick a voice, choose a language, and decide whether callers are allowed to interrupt it. That's the entire agent.
Then, before you dial a single real person, you talk to it yourself. There's a playground in the dashboard where you have the conversation through your browser, with no phone call involved and nothing being charged. If it says something wrong, you edit the script in the same window and try again immediately. Most of the work of making an agent good happens in that loop, and none of it costs you a call or a phone number.
When you're happy with it, you set up a campaign. It's a guided flow rather than a config file, and it asks you one thing at a time. Name it and set the timezone. Pick your agent. Choose which lists you're calling. Define the outcomes you care about. Choose which numbers to call from. Set the dialing rules, meaning your calling hours, how many attempts each person gets, and how many calls run at once. Confirm the compliance settings. Then review the whole thing before it goes live.
You press start, and it runs.
Afterwards every call has its own record: who was called, how long it lasted, the recording, the full transcript, a written summary and the outcome. Nobody types any of that in.
Nowhere in that process did you pick a language model, and nowhere did you write any code.
What you actually get out of it
Nothing falls through. In a human operation the callback list is where leads quietly go to die, because someone meant to try again on Thursday and Thursday got hectic. Here the callback is a rule the system follows, not an intention someone had.
Capacity stops being a hiring problem. Doubling your volume means changing a number rather than posting a job and sitting through six weeks of interviews. And when the campaign ends, there's nobody to lay off.
Changing what gets said takes a minute, and nothing needs retraining. This one is bigger than it looks. A new contact center hire takes somewhere between four and six months to reach full proficiency, and the industry runs at 30 to 45% annual attrition, with a lot of it in the first three months. So you're not training a team once. You're perpetually training a rotating population, and every time you change the pitch you have to go round again, knowing a decent number of people will carry on saying the old thing regardless. Here you edit the script once, and the very next call uses it. There's no gap between deciding something and it being true on the phones.
It works at three in the morning. No shifts, no night premium, no holiday cover, no sick days. This matters more than it sounds once you remember that calling hours are set by where the customer lives. A team on the East Coast wanting to catch people on the West Coast at 8pm has to staff a late shift for it. Here nobody has to be awake.
You pay for conversations, not for hours. Human calling floors are never fully occupied, and good management doesn't fix that. The industry benchmark for occupancy sits around 80 to 85%, and pushing agents past 90 to 95% for any length of time is a reliable way to burn them out and add to the attrition problem above. On top of that comes shrinkage, which is the paid time that goes to breaks, meetings, training and admin. So a meaningful slice of every wage you pay covers someone sitting between calls, waiting to be connected. That's simply how humans work, and you can't optimize it away. An AI agent has no equivalent. It isn't idle between calls, because there is no "between."
Compliance gets enforced instead of trained. Calling hours and do-not-call checks stop being things a tired person is meant to remember at the end of a shift, and become checks that run before the system dials.
Every call is data, not a sample. A human floor reviews a small slice of its calls for quality. Here you've got a recording, a transcript and a labelled outcome for all of them.
And the economics change what's worth doing at all. This is the one people miss. Once calls get cheap enough, lists that were never worth a salaried person's time become worth working. Leads that went cold months ago, long shots, the polite follow-up you'd never staff a team for. You end up doing work that never made financial sense before.
Where this is the wrong tool
If your calls are complicated, emotionally loaded or genuinely high-stakes, you want a person on the phone. This works best on conversations that are high volume and reasonably well defined: qualifying interest, confirming appointments, chasing paperwork, following up.
And if you've got engineers who'd rather own the whole stack and tune it themselves, Vapi gives you far more room than we do. We made the opposite trade on purpose.
The question worth asking
Whoever you're evaluating, and I'd genuinely include us in this, ask one question. What happens after a call that nobody picks up?
If the answer is that your team handles it, or that you could build it yourself with the API, then what you're being sold is an agent. That might be exactly right for you. The developer platforms are excellent at what they do, and if you have engineers who want that level of control, go and use one. Equally, if you already have a hundred people on the phones and no intention of changing that, the assist tools from Genesys and NICE will make them measurably faster, and that's a real gain.
But if you're staring at a list of people who need calling, and you don't have a team, or engineers, or six months to build the plumbing, that's the gap we built Neuvox to fill. The machinery is already there. You bring the list and decide what gets said.
You can talk to an agent in your browser before you spend anything at all on calls. Have a look at neuvox.ai, or email us at hello@neuvox.com and we'll get you set up.
Next reading
Continue reading
Have a phone workflow in mind?