DEV Community

RyanCwynar
RyanCwynar

Posted on • Originally published at ryancwynar.com

How I Built a Multi-Campaign AI Prospecting System That Runs 20x Per Day

I used to spend hours researching potential clients. Scrolling Google Maps, copying phone numbers into spreadsheets, checking if I already had them in my CRM. It was the kind of work that feels productive but really isn't.

So I automated the entire thing. And then I made it weird.

The Setup

I run an AI receptionist product targeting local businesses in South Florida — doctors, dentists, law firms, CPAs. The kind of businesses where phone calls still matter and a missed call means lost revenue.

The prospecting system is built around four distinct campaigns, each running on a cron schedule via my AI agent:

  • Receptionist Campaign (10am, 8pm) — Core product pitch
  • Reviews Campaign (1pm) — Google review management angle
  • AI Campaign (3pm) — General AI automation pitch
  • Boring Campaign (5pm) — Straightforward cold outreach

That's five runs per day across four campaigns. Each one searches different verticals and geographies, validates results, and deduplicates against the existing queue.

Why Multiple Campaigns Matter

The obvious question: why not just run one campaign five times a day?

Because different businesses respond to different pain points. A dentist who ignores an "AI receptionist" email might perk up at "you have 3.2 stars on Google and your competitor has 4.8." A law firm that doesn't care about reviews might care about never missing a potential client call at 6pm.

Same product, different entry points. The campaign tag follows the prospect through the entire funnel — from discovery to outreach to demo to close.

The Deduplication Problem

Here's what surprised me: deduplication is the hardest part.

When you're searching for "dentists in Boca Raton" and "orthodontists in Boca Raton" and "dental offices in South Florida," you get massive overlap. On a typical run, 40-60% of search results are businesses already in the queue.

I match on phone number (normalized), business name (fuzzy), and address. Phone number is the most reliable — businesses change names but rarely change numbers.

Without this, you'd be calling the same dentist from four different campaigns in the same week. That's not persistence, that's harassment.

The Numbers

Over the past two weeks, the system has grown from 73 to 237 qualified prospects. That's roughly 12 new businesses per day, fully validated with phone numbers and categorized by industry.

The breakdown by vertical:

  • Medical practices and specialists (~35%)
  • Dental offices (~30%)
  • Law firms (~25%)
  • CPAs and financial advisors (~10%)

Each prospect has a phone number, address, category, and campaign tag. Ready for outreach.

The Stack

Nothing exotic:

  • Cron jobs trigger an AI agent (Claude) at scheduled times
  • Google Maps API for business discovery
  • Convex for the prospect database
  • Custom dedup logic matching on phone, name, and location
  • Campaign tagging so outreach messaging matches the discovery angle

The AI agent handles the judgment calls — which search queries to run, whether a business is actually relevant, how to categorize edge cases (is a "medical spa" a medical practice or a spa?).

What I'd Do Differently

If I were starting over, I'd add two things from day one:

  1. Lead scoring. Not all prospects are equal. A solo dentist is easier to sell to than a hospital network. Right now everything gets the same priority.

  2. Geographic clustering. When I'm ready to do in-person visits, I want prospects grouped by area. Driving across Miami to visit one dentist doesn't make sense when there are six in Coral Gables.

But honestly? The system works because it's simple. It runs every day without intervention. When I wake up, there's a fresh batch of prospects. That's the whole point.

The Takeaway

The best prospecting system is the one that runs while you sleep. Mine isn't fancy — it's cron jobs and API calls and a database. But it's added 237 qualified local business prospects without me lifting a finger.

If you're doing manual research for more than an hour a week, you're doing it wrong. Automate the boring stuff. Save your energy for the conversations that actually matter.

Top comments (0)