Cold Email AI: How to Generate Personalized Outreach at Scale
A practical playbook for using LLMs to write cold emails that actually feel personal — covering data inputs, prompts, deliverability, and CAN-SPAM compliance.
AI-written cold email is either the highest-leverage outreach channel of the decade or the fastest way to land your domain on a blocklist. The deciding factor is not the model you use — it's the data you put in front of it.
The 80/20 rule of AI cold email
Most failed AI emails fail at the same step: they generate without context. A well-tuned 7B-parameter model with rich context outperforms GPT-4 with no context every time. So the first job isn't picking the model — it's assembling the brief.
The minimum viable brief
For each prospect, hand the model these fields:
- Prospect name and role — pulled from the website's About / Team page or LinkedIn.
- Business name and one-liner — from the website meta description and H1.
- One specific detail — a recent blog post, a service they highlight, a review quote, an Instagram theme.
- Your offer — what you sell, in 15 words.
- Your shared context — same city? Same vertical? Mutual contact?
- The desired CTA — book a call? Reply yes/no? Try a free demo?
A prompt template that works
You write 90-word cold emails. Constraints:
- Tone: human, conversational, no superlatives
- Open with a one-sentence reference to the SPECIFIC DETAIL provided
- One sentence on why you reached out (tie to MY OFFER)
- One soft CTA — a question, not a demand
- Sign off as MY NAME
- Never use "Hope this finds you well", "I came across", or "synergy"
- Never invent facts about the prospect
PROSPECT: {{prospect_name}}, {{prospect_role}} at {{business_name}}
BUSINESS: {{business_one_liner}}
SPECIFIC DETAIL: {{specific_detail}}
MY OFFER: {{offer}}
SHARED CONTEXT: {{shared_context}}
CTA: {{cta}}
MY NAME: {{my_name}}Notice what's not there: industry templates, "value props", buzzword lists. The constraint is to stay close to the data. The model is good at writing. It is bad at making things up — so don't ask it to.
Where the data actually comes from
- The prospect's website. Title, meta, H1, the first 1,500 chars of body text, the team/about page if present.
- Public review platforms. One representative recent review (Maps, Yelp, Google reviews) — never paste verbatim, but distill the theme.
- Social profiles. The most recent 3 posts on Instagram or LinkedIn often surface what they're proud of right now.
- Your CRM. Have you (or someone on your team) ever talked to them? Don't restart the conversation.
The deliverability layer
Personalization gets you opens. Deliverability gets you delivered. The non-negotiables:
- SPF, DKIM, DMARC all aligned on the sending domain.
- A warmed sender. New domain → 2 weeks of low-volume warming before scaling.
- List hygiene. Hard bounces auto-suppressed. Soft bounces capped.
- Volume caps. Stay under 100/day per inbox until reputation is established.
Cold Scout sends through Brevo (Sendinblue) for exactly this reason — managed IP reputation and explicit unsubscribe handling.
The compliance layer
Even an artisanally personalized email is commercial outreach. Two requirements you cannot skip:
- One-click unsubscribe. Honored within 10 business days under CAN-SPAM, immediately under GDPR. Cold Scout adds an unsubscribe footer to every email automatically.
- Physical mailing address in the email. CAN-SPAM mandate.
For EU-based recipients you also need a defensible legal basis. Most B2B cold email rests on legitimate interest, but document the reasoning per campaign.
Measure the right thing
Open rate is gameable (Apple Mail Privacy fires opens automatically). The signal you actually care about is reply rate, segmented by intent — interested, not interested, unsubscribe, other. Cold Scout's inbox classifier auto-tags incoming replies with these labels so you can tune the prompt against actual outcomes.
Two things AI cold email is bad at (and how to compensate)
- Knowing when not to send. A human can tell when a target's recent layoff is a "send later" signal. The AI can't. Build a soft-block for triggers like layoffs, acquisitions, leadership changes — pause those targets for 30–60 days.
- Recent factual claims. Don't ask the model to claim "we just shipped X". Inject those facts at the prompt level, never let the model invent them.
If you want to skip the plumbing, the entire pipeline above ships in Cold Scout — open source if you want to own it, hosted if you want to skip the deploy.