How I get Claude to find one verifiable detail before writing a cold email opener
An opening line that could be pasted into any cold email to anyone is worse than no opening line at all. "I noticed you're doing great work in your space" — anyone who has ever received a cold email spots that in half a second.
What fixed it was narrowing what I ask for. I do not ask Claude to write an email. I ask it to find one specific, checkable fact about how a company operates across its locations — something that is only true because they run several sites and not one — and to build two sentences around that fact.
Then I verify the fact myself before anything goes out. That step is not optional. It is the entire difference between a personalised email and a personalised-sounding guess.
The constraint that shaped all of this: I start from a list of company names and nothing else. No scraping LinkedIn — that is off limits where I work. Everything has to come from what the company already made public.
Steps
- 1
Pull only what the company has made public
Before touching Claude, I look at the company's own website and its Google Business Profile / Maps listing. I note how many locations it visibly runs — countable from its own locations page or from how many separate listings show up on Maps. Nothing scraped, nothing from LinkedIn.
- 2
Ask Claude for one operational detail, not a compliment
I feed Claude that public material and ask it for exactly one concrete, verifiable detail that would only be true of a company operating at roughly that size and structure — something that shows up specifically because they're coordinating across several sites, not one.
- 3
Have it draft a two-sentence opener around that detail
I have Claude write the opener in two sentences, with explicit instructions to skip generic flattery phrases and to never invent anything that isn't actually present in what I gave it. If the material doesn't support a real detail, I want it to say so, not fill the gap.
- 4
Verify the detail myself before it goes anywhere
I personally confirm the detail Claude pulled out is actually true before sending. This is the step that's easy to skip and the one that matters most — skip it and you've turned 'personalized outreach' into an AI-generated guess that's often wrong and often obviously so.
- 5
The email still goes out through my own CRM
The AI step only touches the research and the opening line. The system of record is the CRM, and the decision to send is mine.
I paste this into Claude, after pulling the public info myself (website copy, locations page, Google Business Profile / Maps listing):
---
I'm writing a cold email opener for [COMPANY NAME], a business I'm prospecting. Here is everything I know about them, from public sources only:
[PASTE: relevant text from their website, their "locations" page if they have one, and what you can see on their Google Business Profile / Maps listing — number of locations, categories, hours, review counts, etc.]
Task 1: Find ONE concrete, specific, verifiable operational detail about this company that would only be true of a business operating at roughly this size and structure — something that shows up specifically because they're coordinating operations across several locations, not one. Do not give me a vague compliment or a generalization that could apply to any company. If nothing in what I gave you actually supports a real detail like this, tell me that directly instead of guessing or inventing one.
Task 2: If you found a real detail, write a two-sentence cold email opener built around it. Rules:
- No generic flattery phrases ("I noticed you're doing great work in...", "I love what you're building...").
- Do not invent or infer anything that isn't stated in the material I gave you.
- If you're uncertain whether something is accurate, flag it as uncertain rather than stating it as fact.
Here's the pattern I'm going for, using a made-up example company — "Ridgeline Fitness Co." — this is a fictional placeholder, not a real prospect, just so you can see the shape of a good answer:
Example input: Ridgeline Fitness Co.'s website lists 14 locations across three states, and each location has its own "book a class" page tied to a location-specific schedule. Their Google Business Profile shows 14 separate listings, each with its own hours and review count.
Example output opener: "Running 14 separate class schedules across three states means a fix at one location doesn't automatically resolve a conflict at another. Curious how your team handles that today."
Now do the same thing for [COMPANY NAME] using the material above.Where this breaks
The honest caveat first: I start this role in a few weeks. What follows is built and tested on my own freelance outreach, not yet on a full day's list against a quota. What I don't know yet is how it holds up at volume, and I'll post an update once I do.
It does not scale past what I can personally check. I cap how many of these I do in a day because the verification step is manual by design. Skip it, and "personalized" outreach turns into an AI-generated guess that's wrong and obviously so to the person reading it.
It fails completely on companies with a thin public footprint — no real website content, a generic Maps listing. There's nothing real for Claude to work with there. If I let it, it will quietly invent plausible-sounding details instead. I don't use this technique on those accounts. I fall back to a plain, honest opener instead.
It looks like it's solving my personalization problem, but it isn't solving the real bottleneck: finding the right person at the company to send the email to. It makes each email better. It doesn't make my list bigger. The hard part of outbound was never just the opening line.
Did this work for you?
Sign in to report a result. This is the number everyone reads first.