Finding qualified leads is time-consuming. You know the drill: open Google, search for businesses in your niche, check their websites, find contact info, add them to your CRM. Repeat ad nauseam.
I got tired of this grind, so I built a system that finds prospects for me while I sleep. Here is how it works.
The Core Idea
Instead of manually searching for prospects, I set up recurring cron jobs that:
- Search for businesses matching specific criteria
- Extract contact information and website details
- Qualify them based on campaign fit
- Add them to an outreach queue
- Log everything for review
The system runs multiple times per day, each time targeting different campaigns: after-hours receptionist services, review management, AI tool adoption, and general automation.
Campaign-Based Prospecting
The key insight is that different prospects need different approaches. A dental practice struggling with after-hours calls needs a different pitch than a law firm drowning in paperwork.
So I built separate campaigns:
Receptionist Campaign - Targets businesses where missed calls equal lost revenue: medical practices, law firms, dental offices. The qualifying question: "What happens when someone calls after hours?"
Reviews Campaign - Focuses on service businesses where reputation matters: dermatologists, personal injury attorneys, dentists. These businesses live and die by Google reviews.
AI Tools Campaign - Looks for established practices still using traditional workflows. Family-owned medical groups, multi-specialty clinics - places where AI could dramatically improve operations.
Boring Tasks Campaign - Casts a wider net, asking about repetitive tasks that could be automated. Works for CPAs, wealth management firms, and anyone drowning in routine work.
The Technical Setup
Each campaign runs as a cron job at different times:
- 10 AM: Receptionist campaign
- 1 PM: Reviews campaign
- 3 PM: AI tools campaign
- 5 PM: Boring tasks campaign
- 8 PM: Evening receptionist sweep
The flow looks like this:
- Search - Use web search APIs to find businesses in target locations and verticals
- Extract - Pull business name, phone number, website, and specialty
- Qualify - Check if they match campaign criteria (location, business type, size indicators)
- Queue - Add qualified prospects to Redis with campaign metadata
- Log - Write to daily memory files for tracking
Rate limiting is crucial. Search APIs have quotas, so the system gracefully handles limits and continues with what it has.
Results So Far
In the past week, the system has queued over 30 qualified prospects across South Florida - dentists, dermatologists, law firms, medical practices. Each one is tagged with the appropriate campaign and ready for outreach.
The real win is consistency. Manual prospecting happens when I remember to do it. Automated prospecting happens on schedule, every day, regardless of whether I am focused on it.
What I Would Do Differently
If I were starting over:
More filtering upfront - Some prospects get queued that are clearly too small or too large. Better qualification logic would save time later.
Deduplication - The same business sometimes appears in multiple searches. A proper dedup layer would prevent double-contact.
Website analysis - Scraping the business website for tech stack, employee count, and existing tools would improve qualification.
The Takeaway
Automated prospecting is not about replacing human judgment - it is about doing the boring research work so you can focus on actual conversations. The cron jobs handle the searching and filtering. I handle the relationships.
If you are spending hours each week on manual prospect research, consider what a few well-placed cron jobs could do for you. The setup takes a day. The time savings compound forever.
Top comments (0)