Cold Email That Works: What 400+ Replies Taught Me
Built a cold outreach system using Instantly. Here's the framework that generates consistent replies for law firms and party vendors.
I spent months testing cold email sequences. Read every guide. Tried long-form, short-form, videos, case studies. Most of it flopped.
Then I found a framework that actually works. Running it now for two products — KaiCalls (AI phone answering for law firms) and Awesome Backyard Parties (vendor marketplace for party rentals). The party vendors campaign alone has 8,831 leads loaded.
Here's what I learned.
The Framework: 3 Parts Only
Every cold email that gets replies has exactly three components:
- Personalization — prove you're not spam
- Offer — what you're proposing
- CTA — the next step (make it small)
That's it. No elaborate stories. No seven-paragraph case studies. Three parts.
49 words. Takes 15 seconds to read. The personalization ({{pain_point}}) is AI-generated from their business data — more on that later.
Why Short Beats Long
Your prospect gets 50+ emails daily. They're scanning, not reading.
5 paragraphs about company history, awards, and a bulleted list of 12 features ending with "Book a 30-minute demo call."
2-3 sentences. One clear value prop. A CTA that requires zero commitment.
The goal isn't to close the deal in the email. It's to get a reply. Any reply. "Tell me more" is a win. "Not interested" is still engagement you can work with.
Low-Friction CTAs That Work
The CTA determines your reply rate more than any other element.
These work:
- "Mind if I send more info?"
- "Interested? Y/N"
- "Mind if I send a quick Loom?"
- "Worth a look?"
These kill your replies:
- "Book a call using my Calendly"
- "Schedule a 30-minute demo"
- "Let's hop on a call this week"
The pattern: Ask for permission, not commitment. "Mind if I send..." works because saying "sure" costs nothing. A calendar link asks them to commit 30 minutes before they know if you're worth 30 seconds.
Subject Lines That Get Opens
Keep them short. Use {{firstName}}. Make them feel personal, not promotional.
Formulas I use:
Notice what's missing: no "FREE", no "URGENT", no "Limited Time Offer." Those trigger spam filters and scream "mass email."
Avoid these at all costs: "Dear friend", ALL CAPS, "Urgent! Please read!", any subject with the word "free" or "sale".
The Follow-Up Sequence
Most replies come from follow-ups, not the first email. Here's my sequence:
Four emails total. After that, stop. If they haven't replied after four touches, adding more won't help — you'll just burn the domain.
AI Personalization at Scale
Here's how I personalize 8,000+ emails without writing each one manually.
Using Instantly's AI variables, I generate a custom {{pain_point}} for each lead based on their business data. The AI reads their company description and outputs a relevant hook.
My prompt for party vendors:
This outputs variations like:
- "Running bounce house deliveries while missing booking calls?"
- "Hard to answer calls when you're setting up a 3pm party?"
- "Losing weekend bookings to voicemail?"
Each email feels personal. Because the pain point is specific to their business type, not generic "increase revenue" fluff.
For law firms, different prompt:
Outputs:
- "A DUI arrest at 2am — they called three firms before reaching yours?"
- "Client calls during your court appearance, gets voicemail, calls your competitor?"
The pattern: describe a moment they've experienced. When they read it, they think "that happened to me last week." That's when they reply.
Real Campaign Examples
KaiCalls → Law Firms
Campaign stats: Active since early 2026. Running for personal injury, family law, criminal defense practices.
KaiCalls → Party Vendors
Campaign size: 8,831 leads. Targeting bounce house rentals, party equipment suppliers, event rental companies across the US.
The Numbers Game
Cold email is a volume + quality equation.
Send 1,000 emails with bad copy = 0 replies.
Send 100 emails with good copy + personalization = 10-25 replies.
The framework above gets me 1-2.5% reply rates consistently. On a campaign with 8,000 leads, that's 80-200 conversations started.
Not all replies are positive. Some say "not interested." Some ask questions. Some want a call. The mix matters less than getting into conversations at all.
What I'd Tell You to Do Today
- Cut your email in half. Whatever you're sending now, it's too long.
- Replace your CTA. Swap calendar links for "Mind if I send more info?"
- Add one personalization variable. Even just
{{firstName}}in the subject line helps. - Build a 4-email sequence. Day 1, 2, 4, 7. Stop after that.
- Track replies, not opens. Opens mean nothing. Replies mean interest.
Start one campaign this week. Test one subject line. Send 100 emails. Measure.
Then do it again.