If you've ever spent hours scrolling Google Maps looking for businesses to cold call, you know the pain. I did too — until I automated the entire thing.
Over the past week I've been running a system that finds, qualifies, and queues 25+ outbound prospects per day across four separate campaigns. No manual research. No spreadsheets. Just a cron schedule and a Redis queue.
Here's how it works.
The Architecture
The system has three layers:
- Cron-triggered prospect finder — runs 4-5 times daily on a schedule
- Google Maps + web scraping — finds real businesses matching campaign criteria
- Redis queue — stages prospects for the outbound dialer
Each campaign targets a different vertical and value proposition. One campaign pitches AI receptionists to medical offices and law firms. Another focuses on review management for dentists. A third sells general AI automation to CPAs and wealth managers. The fourth is what I call the "boring" campaign — targeting businesses that probably aren't thinking about AI at all, which counterintuitively produces some of the best conversations.
How Prospect Finding Works
Every few hours, the prospect finder:
- Picks a geo target (Miami, Fort Lauderdale, Boca Raton, Palm Beach Gardens)
- Searches for businesses matching the campaign's industry criteria
- Pulls name, phone, address, website, and category
- Deduplicates against existing queue entries
- Pushes qualified prospects into Redis with campaign metadata
The key insight: don't over-qualify at the finding stage. Early on I tried to score prospects before queuing them — checking website quality, review counts, staff size. It slowed everything down and the scoring wasn't much better than random. Now I cast a wide net and let the actual phone conversation do the qualifying.
The Multi-Campaign Approach
Running four campaigns in parallel was a game-changer. Here's why:
Different hooks land with different people. A dentist who doesn't care about AI receptionists might perk up when you mention automated review requests. A law firm that handles their own phones might want help with intake form automation.
It prevents list fatigue. If you're calling the same vertical with the same pitch, you burn through your addressable market fast. Multiple angles on the same geography keeps the pipeline fresh.
Scheduling creates natural variety. The receptionist campaign runs at 10 AM and 8 PM. Reviews at 1 PM. AI at 3 PM. Boring at 5 PM. The dialer pulls from whatever's in the queue, so each calling session hits a mix of industries and pitches.
Numbers So Far
In the last five days:
- 125+ prospects queued across all campaigns
- 4 campaign types running simultaneously
- 3 metro areas covered (Miami-Dade, Broward, Palm Beach)
- Zero manual research hours
The queue feeds into a Retell AI-powered voice dialer that makes the actual calls. That's a whole separate post, but the short version: AI calls the prospect, delivers a 30-second pitch, handles objections, and books interested leads for a follow-up.
What I'd Do Differently
Start with fewer campaigns. I launched all four at once, which made debugging harder. Start with one, get the pipeline solid, then add more.
Track conversion by source earlier. I'm only now adding analytics to see which campaign type produces the best conversations. Should have been there from day one.
Add a website quality check. Not for scoring — for pitch customization. If a prospect has a terrible website, that's actually a selling point for your services.
The Takeaway
The boring part of outbound sales — finding who to call — is a perfect automation target. It's repetitive, data-driven, and doesn't require human judgment until the actual conversation happens.
If you're doing any kind of outbound, build your prospect pipeline first. Not your pitch deck, not your CRM integrations, not your follow-up sequences. The pipeline. Because the best sales process in the world doesn't matter if you're spending half your day figuring out who to call next.
The code isn't fancy. Cron jobs, API calls, Redis. But it runs while I sleep, and every morning I wake up to a fresh queue of businesses to talk to. That's the whole point.
Top comments (0)