Why Most People Never Sell Their First Agent
They build the thing, then they freeze. They post about it. They wait for a DM. Nothing happens.
Here's the actual problem. They never picked who they were selling to. So every message they write is vague, and vague messages get deleted.
You need three decisions locked before you send anything.
- One trade.Not "local businesses." HVAC. Or roofing. Or dentists. One.
- One country. Not one city. A city runs dry in a week.
- One offer.The voice agent. Don't sell five things.
That's the whole strategy. Everything below is just execution.
Pick One Trade, Not One City
Most people pick a city because it feels safe. It's a mistake. A mid-size city has maybe 80 HVAC companies. You'll burn through them in one campaign and have nowhere to go.
Pick a country instead. Then pull from the 15 biggest metros in it. That's thousands of businesses, and you can run the same offer for a year without repeating yourself.
Which trade? Go where the phone is the business.
| Trade | Why it works |
|---|---|
| HVAC | Emergency calls at 9pm. Nobody answers. |
| Plumbing | Same. A burst pipe doesn't wait for Monday. |
| Garage door | High volume, tiny office staff. |
| Roofing | $15K jobs. One saved call pays your fee ten times. |
| Moving companies | Every missed call is a booked weekend lost. |
Which size? Filter on Google review count. Take companies with 20 to 250 reviews. Under 20 means they're too new and too broke. Over 250 means they already have an office manager and a system. The middle is where the pain lives.
The Offer That Actually Gets Replies
Do not sell a $1,000 voice agent in a cold email. Nobody buys a thousand dollar anything from a stranger's first email.
Sell this instead:
That's the whole offer. No call. No demo. No form. The only thing you're asking for is a reply.
Why free works here:you already know how to build it. The reel showed you it takes under an hour. So you're trading one hour for a warm buyer who has already heard the thing work on their own phone number.
The money comes after. They keep it, they love it, you charge for the next one plus a monthly fee to maintain it.
Put a number on their pain. Say it in their language, not yours:
Sanity check that math for your market before you send it. Made-up numbers get you ignored.
Scrape the Leads With Apify
Google Maps is the database. Every HVAC company in the country is on it, because that's how they get found.
Use this actor: lukaskrivka/google-maps-with-contact-details. It's an official Apify actor with 87,000 users and a 4.6 rating. It scrapes Maps, then visits each business website and digs the email out.
Settings that matter. Use search phrases a customer would actually type. "air conditioning repair" pulls better than "HVAC services." Give it 3 to 5 of them. Set skipClosedPlaces to true. Turn on the contact enrichment add-on so it crawls websites for emails, and the leads enrichment add-on so it tries to find a real human name.
Running more than 5 cities? Use lukaskrivka/google-maps-scraper-orchestratorinstead. It's free and runs them all in parallel.
Cost: about $0.004 per business plus $0.002 to enrich. Two hundred businesses runs you roughly $1.20.
Throw Half of It Away
This is the step everyone skips, and it's the one that decides whether you have a business or a burned domain.
Delete any lead that has no email, is a national chain or franchise HQ, falls outside your review range, or is a duplicate email or duplicate domain.
Then verify every survivor. Instantly has a built-in verifier. Run all of them through it. Keep only the ones that come back valid. Drop the catch-all and risky ones on your first batch.
Verified lists get roughly twice the response rate of unverified ones, and bad emails are what get your domain flagged.
Expect your funnel to look like this:
Losing 65% is not a failure. That's the filter working.
The First Name Problem
Google Maps gives you "ABC Heating and Air." It does not give you "Dave."
Your subject line is Quick question {{firstName}}. If the name is blank, that renders as "Quick question ," which is an instant delete and screams robot.
So split your list in two:
Same body. Two campaigns. Check every name before it goes in List A. If enrichment returned "Manager," "Owner," or "Service," that is not a name. Move it to List B.
Set Up Instantly Before You Send Anything
Do this before you scrape a single lead. Scraping is cheap. A dead domain is permanent.
- A paid Instantly plan. Growth is the normal starting point.
- A separate sending domain. If your business is yourname.com, buy yournameHQ.com and send from that. When a cold campaign gets flagged it takes the whole domain with it. You do not want your real inbox on the other end of that.
- At least 3 inboxes on that domain. Each one safely sends about 30 cold emails a day. Three inboxes is 90 a day, which is your floor.
- Warmup on for 14 days before your first campaign. Not 3 days. Fourteen.
Don't want to set it up yourself? Instantly sells pre-warmed domains and inboxes under their Done For You section. Worth it if you'd rather start sending than configure DNS.
Campaign settings:
Tracking pixels and rewritten links are the fastest route to the spam folder. You give up your open rate. Replies are the only number that matters anyway.
The Four Emails
One every two days. All four under 90 words. No links in the first one. Research across 3 million cold emails found that 50 to 125 words gets 2.4x the reply rate of anything over 200.
EMAIL 1 · DAY 0
EMAIL 2 · DAY 2 · ONE NEW PROOF
EMAIL 3 · DAY 4 · THE OBJECTION
EMAIL 4 · DAY 6 · THE BREAKUP
Why four: breakup emails get the second-highest reply rate of any email in a sequence. Keep it warm. Never guilt-trip.
What You Should Actually Expect
Real 2026 benchmarks, not hype.
| Metric | Industry average | What good looks like |
|---|---|---|
| Reply rate | 3.4% | 5% or better |
| Bounce rate | 5.1% | Under 1.5% |
| Positive reply rate | 1.4% | 4% or better |
On 71 verified leads at a 5% reply rate, that's 3 or 4 conversations. One of them closes. That's your first $1,000. Sounds small until you remember the scrape cost you $1.20 and the list has thousands more in it.
Read your results like this:
- Under 1% replies- your offer is wrong, not your copy. Change the automation you're offering.
- 1 to 3% - normal first batch. Scale the list, keep the emails.
- Over 5%- it's working. Run the next 15 metros.
- Bounces over 3%- stop everything. Your verify step failed. Do not send another email until it's under 2%.
Never Let the AI Hit Send
Build the campaign. Read the first email out loud. Send a test to yourself and check it on your phone, not your laptop.
Then you click Launch. Not Claude. A beginner who lets an agent auto-send cold email torches their domain on day one, and there is no undo button.
Three Claude Code Files That Run All of It
I built this as three skills so you don't have to remember any of it. Each one reads what the last one wrote, so they run in order.
The third one will never hit send. That is hard-coded on purpose.
Day 1 to First $1,000
The two weeks of warmup feel like dead time. They're not. That's when you build the agent so you can deliver the same day someone replies.
All Resources
Haven't built the voice agent yet?
Watch the Reel on Instagram →