How to Prompt AI to Write a Cold Outreach Email That Lands
A two-step prompt method for cold outreach: make AI research the specific prospect first, then write using only what it found, with a real before-and-after example.
Type “write a cold email to a plumber about my AI services” into a chatbot and you get the same six sentences whether the plumber is in Ohio or Oslo: a generic compliment, a vague pitch, a soft close. Prompting AI to write a cold outreach email that actually gets read is not about finding a better single prompt. It is two prompts run in sequence: one that forces the model to research the specific prospect and report only verifiable facts, and a second that writes the email using nothing else. Ban invented compliments and the email either contains something real or comes out shorter, and both beat a padded fake one.
Why the generic prompt fails
A model asked to write a cold email defaults to the median of every cold email in its training data. That median includes a compliment (“I love what you're doing at X”), a vague value claim (“save time and grow your business”), and a call to action that says nothing specific to the company. None of it is wrong exactly. It is generic enough to fit any business in any industry, which means it fits none of them well enough to earn a reply. A single-line AI cold email prompt produces this by default, because a one-line prompt gives the model nothing to be specific about.
A second failure matters more: models invent detail to sound personal. Ask for a line about “their impressive growth” or “their strong online presence” and the model produces that sentence whether or not it looked at the company, because nothing real was given to look at. A fabricated compliment about a business that has not actually grown reads worse than no compliment at all, and a recipient who runs a real business notices immediately.
This is not the usual reminder to personalize your outreach. Below are the two actual prompts, run back to back against the same fictional prospect, plus the email each one produced, so the difference is visible rather than asserted.
The two-step prompt to write a cold outreach email
Split the job into two calls. The first does research and returns facts only, no email copy. The second writes the email and is told to use nothing but those facts. Two calls beat one because a single prompt asks a model to invent details, select which ones matter, and write persuasively all at once, and it optimizes for sounding confident over being accurate.
Step 1: the research prompt
You are researching a company before I write them a cold email.
Company: [name], website: [url]
Find and list, with no commentary and no email copy:
- What the company actually does, in one sentence
- One recent, specific, verifiable fact (a launch, a hire, a
location change, a review theme, a product detail on their
site) less than 12 months old if possible
- One operational detail relevant to my service: [describe,
e.g. "how they currently handle bookings" or "what tool
they appear to use for X"]
- Anything that suggests they would NOT need what I offer
If you cannot verify a fact, write "not found" instead of
guessing. Do not produce a compliment. Do not produce email
copy.The last line is the one that matters. Without it, the model quietly slides into the second job anyway and hands back a paragraph that sounds like research but is actually a first draft of flattery. The line asking for reasons they would not need the service is worth keeping even though it feels backward. A model forced to argue against you produces a sharper picture of the prospect than one only asked to build a case.
Step 2: the write prompt
Using ONLY the facts below, write a cold email. Do not add
any compliment, claim, or detail not listed here. If the
facts are thin, write a shorter email rather than padding it.
Facts:
[paste step 1 output]
Rules:
- Subject line under 6 words, no punctuation tricks
- Open with the specific fact, not with my name or company
- One sentence connecting the fact to a concrete problem it
implies
- One sentence on what I do about that problem, no adjectives
like "innovative" or "cutting-edge"
- One low-effort ask, a question they can answer in one line
- Under 120 words total
- No sign-off flourish, just a nameConstraining the output to facts you already vetted stops the model from smoothing over a gap with generic language the moment it runs short on real material. If step 1 returned “not found” for the operational detail, the email either drops that beat or you go find the detail yourself before sending. The underlying discipline here is the same one covered in the broader prompt-engineering framework: state the constraints before the task, not as an afterthought.
Before and after: same prospect, two prompts
Here is what each version produces against a fictional prospect: Riverside Bike & Repair, a two-location bike shop. The sender offers a simple AI booking assistant.
The generic prompt
write a cold email to a bike shop owner about my AI booking assistantSubject: Quick question for you
Hi there,
I hope this email finds you well! I came across Riverside
Bike & Repair and was really impressed by your commitment to
serving the local cycling community. Businesses like yours
deserve every advantage they can get.
I wanted to reach out because I help shop owners save time
and grow revenue using AI. My booking assistant can handle
scheduling, reminders, and follow-ups automatically, freeing
you up to focus on what you do best.
Would love to hop on a quick call this week to show you how
this could work for your business!
Best,
[Name]Every sentence in that email could be sent to any small business with a phone number. It says nothing about bikes, nothing about Riverside, nothing that proves a human or a model looked at the actual company.
The two-step version
Step 1 output, from the research prompt above:
- Riverside Bike & Repair sells and services road and
mountain bikes across two locations.
- Their site added a "bike fit fitting" service page in the
last few months. It says "call the shop to schedule," no
online booking link.
- The contact page lists one phone number and no booking or
scheduling software.
- Several recent Google reviews mention it being hard to
reach the shop by phone during peak season.
- Not found: staff count, current software beyond point of
sale.Step 2 output, written from only those facts:
Subject: the bike fit booking page
Hi [Owner],
Your site lists bike fit fittings but sends people to call
the shop to book one. A few recent reviews mention it being
hard to get through during peak season, which likely means
fittings that never make it onto the calendar.
I build small AI booking flows that sit on top of an
existing site and text back availability the moment someone
tries to book. No new system for your team to learn.
Worth a two-line reply if you want to see what it would look
like on your booking page specifically?
[Name]The subject lines alone show the gap. “Quick question for you” could open an email to any business on earth. “The bike fit booking page” can only be sent to this one. That is the entire test for whether a line counts as personalized: could the exact same sentence go to a different company without changing a word? If yes, cut it. The second version also reads like a cold outreach email that doesn't sound like AI wrote it, not because the sentences are fancier, but because every line points at something a template could not have guessed.
The personalization signals that actually move reply rates
One specific, correct detail beats five generic compliments. A compliment costs the reader nothing to dismiss. A business detail proves you actually looked, and proving that is the actual job of personalized outreach with AI, not the tone of the sentence. Roughly in order of how much a signal tends to move a reply:
An operational gap you can fix. Something manual or broken that your service addresses directly, like the phone-only booking above. This is the strongest signal because it does the persuading for you.
A recent, dated event. A new hire, a location opening, a product or page added to the site. Time-stamped facts read as researched, because a static fact could have come from anywhere at any time.
A specific number. Review count, a rating trend, a page count, anything the reader can independently verify by looking at their own business.
Industry or role context. The weakest signal, still better than nothing. “Independent bike shops” beats “businesses like yours,” but neither replaces an actual detail.
For a higher-value prospect worth deeper digging before the first email, prompting AI for a competitive analysis first can surface the operational gap faster than reading through the site by hand, especially when the gap is something a competitor already fixed and this prospect has not.
Where the method breaks down
Some prospects have almost nothing to research: a one-page site, no reviews, no recent activity. The temptation is to let the write prompt fill the gap with something plausible. Do not. A short, honest email that says less beats a longer one built on an invented detail, and the research prompt's “not found” instruction is there precisely so you notice the gap instead of papering over it. Either send the shorter email, spend two minutes looking yourself, or skip the prospect.
The write prompt's rules also need to match how the sender actually sounds everywhere else. The same discipline behind prompting AI to match your brand voice belongs in step two, since an outreach email written by a different voice than the one that follows up a week later is its own kind of tell.
If the write step keeps drifting back to generic filler despite the rules, the problem is usually the prompt, not the model. the rewrite method for a bad prompt walks through the specific steps for finding which instruction is being ignored and why.
Getting one email answered is the easier half of the problem. Turning replies into a pipeline is covered in finding your first AI freelance client, which picks up once the first prospect actually writes back.
Frequently asked questions
Do I need to run the research prompt separately every time? For cold outreach, yes. The whole method depends on the write step having nothing to work with except verified facts, and that requires a separate research pass per prospect. For warm leads who already replied to something, you can skip straight to writing since you already have real context to use.
What if the model can't find anything specific about the company? Send a shorter email, or spend two minutes checking the site and reviews yourself before running step two. A generic email with no fake personalization is more honest, and often more effective, than one with a compliment that does not hold up.
Should I mention that AI helped write the email? Not necessary either way. What matters to the recipient is whether the email is accurate and specific to their business, not which tool produced the draft. If a claim in the email could not survive a quick fact check, fix the claim rather than adding a disclosure.
How long should a cold outreach email actually be? Under 120 words is a reasonable ceiling for a first email. If the research turns up enough real material to justify more, the email is probably trying to do two jobs at once and should be split into a first email and a follow-up.
Does this work for sending to a list, not just one prospect? The two steps still apply per prospect, since the whole point is that each email uses different facts. Batch the research calls across the list first, review the “not found” entries, drop or flag the thin ones, then run the write step on what is left. Running the write step on unresearched rows defeats the method.
How did this land?
About the author

Growth & SEO Lead
Manuele covers distribution: SEO, content strategy, and how AI-built products find their first thousand users. He tests everything he recommends.


