AI outbound calling system for sales
AI Automation

VBCE Outbound Voice Agent.

AI outbound calling system that booked 2 qualified meetings from 50 dials. Built on Retell.ai with NEPQ sales methodology and a full Airtable CRM pipeline.

Retell.aiGPT-4oAirtable CRMNEPQ FrameworkResendVercel
Scroll to explore
2

Hot Leads from 50 Calls

12%

Connect Rate

23 Fixed

Bugs Shipped Through

VBCE Outbound Voice Agent
(How We Built It)
01

Challenge

VBCE needed to reach SMBs that were losing thousands per month on bank foreign exchange markups. Cold calling is expensive. Hiring SDRs is slow. The math only works if you can dial at scale without scaling headcount.

02

Approach

Built an AI voice agent named Nia on Retell.ai, trained on the NEPQ sales framework. Connected to an Airtable CRM that manages the full pipeline — from fresh import to qualified lead. Webhook architecture handles call events, transcript scoring, and real-time email notifications to the sales team.

03

Results

From the first 50 cold calls, the system produced 2 hot leads and 1 warm lead. The sales team received real-time notifications with call recordings, transcripts, and qualification scores. The entire pipeline runs autonomously.

VBCE Outbound Voice Agent

The full story behind VBCE Outbound Voice Agent.

(Case Study)
01

The pitch is simple — the execution is not

Vancouver Bullion & Currency Exchange handles foreign currency for businesses. The value proposition is straightforward: your bank marks up exchange rates by 3 to 5 percent on every transaction. VBCE charges roughly half that. For a business moving fifty thousand dollars per month in foreign currency, that is seven hundred fifty to fifteen hundred dollars in savings. Every month.

The problem is reaching the businesses that do not know this yet. Most SMB owners have never questioned their bank's exchange rate. They do not know they are overpaying because they have never seen an alternative.

Cold calling is the fastest way to surface that awareness. But cold calling at scale requires either a large SDR team — expensive, slow to hire, inconsistent in quality — or a system that can make the calls, qualify the prospects, and hand warm leads to the sales team.

That is what we built.

02

Building Nia: an AI that sells without sounding like one

The voice agent is named Nia. She runs on Retell.ai with GPT-4o at temperature 0.3 — low enough for controlled, consultative responses, high enough to sound natural.

Nia does not pitch. She asks questions. The entire conversation flow is built on the NEPQ framework — Neuro-Emotional Persuasion Questioning — developed by Jeremy Miner. This is a five-stage questioning methodology: connection, situation, problem awareness, solution awareness, and commitment.

The conversation opens soft. "Hi, I hope I'm not catching you at a bad time?" If the prospect engages, Nia asks whether their business deals with foreign currency. If yes, she surfaces the pain: "Most businesses don't realize their bank marks up exchange rates by 3 to 5 percent per transaction. On fifty thousand dollars, that's fifteen hundred to twenty-five hundred lost." Then the bridge: "What if you could cut that markup roughly in half?"

If the prospect shows interest, Nia offers to connect them with Jeffrey — the human specialist. She can do a live transfer or schedule a callback.

The tone rules are strict. Never sound like a telemarketer. Never quote specific rates. Get calmer when the prospect resists. Keep calls under three minutes. Graceful exits on every objection: "No problem at all. If anything changes, VBCE is here."

We turned off backchannel responses — the "uh-huh" and "mm-hmm" sounds that make AI voice agents sound robotic. We extended the ring duration to 45 seconds to account for receptionists and phone trees. We set the IVR handler to null so Nia navigates phone menus via prompt instructions instead of auto-hanging-up.

03

The CRM pipeline that runs itself

Every call flows through an Airtable CRM that tracks the full lifecycle: import, dial, classify, notify.

When a batch dial kicks off, the system pulls contacts with stage "Not Contacted," validates their phone numbers into E.164 format, and initiates calls through the Retell API with a two-second delay between dials.

Every call event — start, end, transfer, analysis — triggers a webhook that updates Airtable in real time. Voicemails get tagged. No-answers get logged with attempt counts. Contacts that answer get scored on a 1-to-5 qualification scale based on transcript analysis.

When a contact scores 3 or higher, the system fires an email to Jeffrey. The email includes the contact name, company, phone number, qualification score label (Hot Lead, Warm Lead, Potential Lead), the full call summary, key signals detected in the transcript, and a link to the call recording.

Live transfers — when Nia patches a prospect through to Jeffrey mid-call — trigger an immediate notification with a "LIVE TRANSFER" label so Jeffrey knows to pick up.

The entire pipeline is managed through two Airtable scripting extensions. One tags fresh CSV imports with pipeline categories. The other triggers batch dials with configurable batch sizes and pipeline filters. An operator can import five hundred contacts and start dialing without touching a line of code.

04

23 production bugs and what they taught us

This project shipped with 23 production issues that we identified and fixed during the first campaign. That number is not a failure metric. It is a reality metric.

Voice agent deployments are messy. Phone systems are messy. CRM integrations are messy. The gap between "works in development" and "works when you dial a real business with a receptionist and a hold queue" is enormous.

Here are the ones that mattered most:

Webhook signature verification was rejecting valid events. Retell formats signatures differently than documented. The fix: log mismatches but continue processing.

Phone number format mismatch between Airtable and Retell caused silent failures on every call. Airtable stores "(604) 123-4567." Retell requires "+16041234567." We built a normalizer that handles every format variant including extensions.

The agent was introducing herself as "Michael" instead of "Nia" because the initial setup used the wrong name variable. Small detail. Massive impact on voicemail credibility.

A TypeScript nesting error in the Vercel build meant webhooks were never actually deployed for multiple days. Calls were going out, stages were not updating, contacts were stuck on "Calling" indefinitely. The root cause: ring duration milliseconds was nested one level too shallow in the agent override config.

Race conditions between call ended and call analyzed events meant transcripts sometimes arrived before classification, and sometimes after. We built a backfill system that reconciles regardless of event order.

Every one of these issues is now documented. Every fix is tested. The system that emerged from those 23 bugs is substantially more robust than the one we originally designed — because production traffic exposed edge cases that no amount of planning could anticipate.

05

2 hot leads from 50 calls — and what that means at scale

The first campaign dialled 50 contacts in the mining and natural resources pipeline. Results:

44 no answers or voicemails — the standard 88 percent non-connect rate for cold outreach. 6 connected to a human. 2 qualified as hot leads and reached Jeffrey for sales conversations. 1 registered as warm — interest signals present but inconclusive.

A 4 percent hot lead conversion rate from cold calls is strong. For context, most human SDR teams operate at 1 to 3 percent. Nia achieved this on her first campaign, with a framework that will improve as the prompt is refined based on real transcript data.

Both hot leads showed strong foreign exchange volume signals. One prospect had prior experience with forwarding contracts. The other needed over one hundred thousand dollars per month in foreign exchange capacity.

The math works. At 50 calls per batch, 2 hot leads per run, and an average deal value that saves the client thousands per month in exchange rate spreads — the system pays for itself after a single conversion.

Scale it to 500 calls and the pipeline fills itself. The sales team stops hunting and starts closing. The AI handles the part of sales that humans hate — the cold open, the gatekeeper, the voicemail — and hands off the part that humans do best: building relationships and closing deals.

That is the promise of AI in sales. Not replacing the closer. Feeding the closer.

Want Something Like This?

Every project starts with a conversation. Tell me the problem — I'll show you the system that solves it.