Observed vs Inferred Outreach
Rewrite a personalized outreach line so it states only what you can prove, and it still reads like you actually looked.
- Works in
- Clay · Apollo · HubSpot · Google Sheets
- Format
- markdown + worksheet
- Time
- 30 min
- For
- SDRs, AEs, founders writing their own outbound, RevOps reviewing outbound copy before it ships
- Job
- outreach message discipline
Personalized outreach fails for a specific, fixable reason: it states an inference as if it were an observation. "I noticed your team is struggling" is not something anyone noticed — it's a guess wearing the past tense. The fix isn't softer language. It's separating three things that usually get written as one sentence: what you actually saw, what you think it means, and what you're allowed to say out loud.
Every claim in a cold message is observed, inferred, or invented — and only one of those is safe to send as fact
- Observed — a public fact with a date and a source. The recipient could look it up in under a minute and land on exactly where you got it.
- Inferred — your working theory about what the observed fact means. Reasonable, maybe even right, but it's your diagnosis, not a fact.
- Invented — anything implying you know something with no source behind it: their mood, their internal conversations, their frustration level, their calendar. This never ships, hedged or not.
The failure mode is rarely sending an invented claim outright — most people know not to write "I know you're overwhelmed." It's sliding an inferred claim into observed language. "I can see you're struggling with X" states a diagnosis using the verb see, which promises evidence the writer doesn't have.
Fill three columns before you write one sentence of outreach
| Observed (public, dated, sourceable) | Inferred (your diagnosis — not a fact) | Sendable claim (what actually goes in the message) |
|---|---|---|
| RevOps Manager req open on Acme Data's Greenhouse board since 2026-06-02 (108 days at the time of scoring) | The routing/enrichment workflow that role was meant to own is still half-built and nobody's covering it full time | "Saw your RevOps Manager req has been open since June — that's usually the sign the workflow it was meant to own is still sitting half-finished." |
| (your fact + date + source) | (your honest read — write it down, don't skip it) | (column 1, plain language, plus a hedge word bridging to column 2) |
Write column 1 first, straight from a dated source — ideally one already logged in the public data layer sheet. Write column 2 honestly, even when it feels too obvious to bother writing down: this is where your read of the situation actually lives, and naming it is what stops it from leaking into column 3 unlabeled. Column 3 is column 1 restated in plain language plus a hedge word bridging to column 2. The approved bridges: usually · often · typically · tends to · in most cases · that's commonly the sign. Anything stronger — clearly, obviously, I know, I can see — is not a bridge; it's column 2 leaking. Column 2's exact wording never appears in column 3 as a flat statement.
Stating the diagnosis as fact is what reads as surveillance, not the amount of detail
It isn't that specific outreach is creepy and vague outreach is safe — vague outreach just doesn't work, which is the whole reason to run the sourcing worksheet in the first place. What reads as surveillance is confidence about something the reader knows you couldn't have watched happen. "I noticed your team is drowning" implies you watched them work. "I noticed your req has been open 108 days" implies you read a job board, which you did, and which they know is public.
The mechanism isn't "more proof always wins" — it's that a reader can tell the difference between noticed and watched, and only one of those earns a reply.
Three before/after rewrites, same signal, different discipline
All companies below are composite examples.
1. Open-role signal Before: "I can see your sales team is struggling to keep up because nobody's owned lead routing since your ops hire left." — states an inference as fact, and implies inside knowledge of why someone left. After: "Saw the RevOps Manager req at Acme Data has been open since June — that's usually the sign the routing work it was meant to own is still sitting half-built."
2. Funding signal Before: "Congrats on the raise — I imagine your systems are already buckling under the new headcount." — invented; no evidence anything is buckling. After: "Congrats on the Series A — most teams find that's exactly when the systems built for half the headcount start cracking. Curious if that's true yet."
3. First-party website behavior — technically observed, still reads as surveillance Before: "I saw you visited our pricing page three times last week and then checked out a competitor." — true, if it's your own analytics, but the exact count and timing crosses from noticed to monitored; the recipient never agreed to be watched that closely. After: "Since you've been looking at options in this space recently, thought I'd flag the one difference most people ask about first."
One question decides whether a line ships
Run every draft against all five. Every answer has to clear before it goes out.
- Could the recipient find the exact fact in column 1 themselves, in under a minute, from a public source? If you'd have to explain where you got it, it isn't observed.
- Read the sentence out loud. Does it use a seeing verb — noticed, saw, can tell — attached to something that isn't public? That verb is promising evidence you don't have.
- If they replied "how do you know that?" — is your honest answer a URL and a date, or "I just figured"? "I just figured" fails.
- Does the line name a private detail — their calendar, their internal Slack, an exact analytics count, their mood? Any yes here kills the line regardless of the other three answers.
- Put column 2 next to the draft. If column 2's language shows up as a flat statement instead of a hedged bridge, rewrite it.
A failed check means revise column 3 — don't send it unchanged, and don't drop the signal entirely either. The fact still belongs in the message; it just needs to lose the borrowed confidence.
What passes the test still needs an exit
Even a clean, sourced, hedged line should leave the door open — "no worries if the timing's off," "say the word and I'll leave it." A correct claim delivered with no exit still reads as pressure. The real test has two parts: would you be comfortable if they asked exactly how you knew this, and did you leave them an easy way to say no. Both belong in the same line.
Sheet: tab outreach, one row per line you intend to send.
account,observed_fact,source_url,signal_date,inferred,sendable_line,t1_findable,t2_no_seeing_verb,t3_url_and_date,t4_no_private_detail,t5_hedged,status
The composite row:
Acme Data (composite),"RevOps Manager req open on Greenhouse since 2026-06-02",https://boards.greenhouse.io/acmedata/jobs/1234,2026-06-02,"The routing workflow that role was meant to own is still half-built","Saw your RevOps Manager req has been open since June — that's usually the sign the workflow it was meant to own is still sitting half-finished.",pass,pass,pass,pass,pass,ready
t1–t5 are the five send-test questions below, each pass or fail. A line ships only
with five passes. status ∈ {draft, ready, sent, replied, closed}.