Write Cold Outreach Emails That Get Replies
You'll end up with: A small batch of personalized cold emails with subject-line variants, a proof-specific hook, and one low-friction ask
Leading with credentials or fake personalization—openers that could apply to anyone, or vague praise with no quoted proof. Fix: require one cited signal per email in your prompts; if you have no signal, use an honest pattern-interrupt ("I might be wrong, but…") instead of pretending you read their work.
- A short list of targets (names + roles + company or links)
- One one-sentence offer and who it is not for
- What counts as a good reply for this campaign
- For each target: one verified signal you can quote (recent post, job change, launch, talk, hiring page line—paste verbatim)
- 15–25 minutes
- Claude open in one tab and Gmail (or your ESP) in another
Frame the campaign, constraints, and success metric (mirror only)
Tell Claude your goal and guardrails so it mirrors your ICP and gaps—no email copy yet.
1. Open https://claude.ai and start a **new chat** (stay in this thread through step 4). 2. Paste this prompt and replace every bracket: ``` I'm drafting first-touch cold outreach (no prior relationship). Mirror back what I'm telling you and list missing inputs. Do NOT write subject lines, opening lines, or email bodies yet. Campaign goal (pick one): [meeting booked / yes-no reply / referral / warm intro] Success metric for this batch (one sentence): [...] Offer in one sentence (what you help with): [...] Who it's NOT for (one short phrase): [...] Audience constraints (geo / company size / role title): [...] Tone: [direct / warm-professional / peer] Hard bans for this campaign: - No pretending you read work you didn't read - No fake "following your posts" unless you'll paste proof - No multiple CTAs - No fake RE: or Fwd: subject lines Reply with: (a) a short paragraph mirroring ICP + goal + tone, (b) the success metric in your words, (c) a bullet list of missing inputs (e.g., prospect list, verified signals, proof numbers). ``` 3. If Claude writes any email wording, reply: "Mirror only — delete all subject/body copy and try again."
Build a signal sheet per prospect (facts, not flattery)
Paste verbatim snippets so Claude can quote real proof—or flag thin signal honestly.
In the **same chat**, for each prospect paste **verbatim** snippets you actually have (LinkedIn About, post excerpt, careers page line, product headline, talk title). If you have nothing, write UNKNOWN for that cell. Then paste: ``` Using ONLY the pasted text above (no new facts), build a markdown table with columns: Prospect | Verified signal (direct quote, ≤25 words) | Why it connects to my offer | Risk flags Rules: - If you can't quote text, put UNKNOWN — do not invent achievements or posts. - If signal is thin, write "thin signal — use honest hypothesis opener" in Risk flags. ``` Add rows until every prospect in this batch is covered.
Subject lines + first-line variants (spam-check)
Generate distinct subjects and openers tied to your signal sheet—no faux-Re: lines.
Same chat. Paste: ``` From the signal sheet above, for EACH prospect output: - 2 subject lines, ≤45 characters each - 2 opening-line variants, ≤35 words each Banned subject patterns (do not use): Quick question, Touching base, Checking in, Hope this finds you well, RE:, Fwd: Opening lines must either (a) quote a noun or phrase from the Verified signal column, or (b) use the approved "thin signal" hypothesis opener from Risk flags—framed as uncertain, not as fake familiarity. ``` Scan subjects: they should not be trivial word swaps of each other. If they are, ask Claude to rewrite using proper nouns from the table only.
Full email bodies: one CTA, proof, and objection-aware close
Draft ≤120-word bodies with one ask, optional P.S., and a one-line busy-objection answer.
Same chat. Paste: ``` Draft the full cold email for each prospect using the chosen subject + opening variant pair. Constraints: - Body ≤120 words (hard cap) - Structure: why them (signal) → one credibility line (metric, client type, or method you actually stand behind) → ONE concrete ask - Ask must be either: (a) binary reply, (b) book 15 minutes with two specific time windows in my timezone, or (c) one factual question that proves fit - Optional P.S. with one link or proof Banned body phrases: I just wanted to, Sorry to bother, I know you're busy (as an opener), Touching base, Pick your brain, Would love to pick your brain, Happy to jump on a quick call anytime, Circle back, Hope this makes sense (unless closing). After each email, add two lines: - Likely objection → one-line reply (≤20 words) ``` Read aloud. If any email has two asks, command Claude to merge into a single ask.
Paste into Gmail, save drafts, freeze follow-up stub
Save Gmail drafts, add a +3 day bump note, and capture a reusable blank prompt for next time.
1. Open Gmail → **Compose** (https://mail.google.com). 2. For each prospect, save a draft titled in your own system as `[Name] — cold — [DATE]` (subject line can stay inside the draft). 3. Paste subject variant A + body. Duplicate the draft if you want variant B for an A/B subject test. 4. In the draft notes (or a paired doc), add a **2-sentence follow-up** for ~day +3: restate the signal in one fresh clause + repeat the same single ask—no new requests. 5. Optional: return to Claude once and ask it to turn steps 1–4 into a **reusable blank prompt template** with empty brackets; save that template to a Claude Project, notes doc, or email draft for reuse. Ship at B-minus; iterate from replies, not from draft 12.
All done!
You now have: A small batch of personalized cold emails with subject-line variants, a proof-specific hook, and one low-friction ask
Explore more guidesWant this workflow built for your business?
Book a free audit