Cold Email
Purpose
Write a first-touch email a busy stranger actually replies to: one problem, one
relevance hook grounded in a real trigger, and one low-friction ask — not a pitch.
Inputs
- Who you're emailing (name, role, company)
- A real trigger or reason-to-reach-out-now (hire, funding, launch, post, mutual context)
- The one problem you solve for this persona
- A proof point you can cite (a similar customer, a result, a relevant pattern)
Method
- One problem per email. Pick the single pain that matters most to this
persona and write only about that. A second idea halves the reply rate — save it
for the follow-up.
- Open with a real relevance hook. The first line must prove you're writing to
them, not a list — anchored to a trigger they'd recognise (a hire, a launch, a
stage change, something they said publicly). No "Hope you're well" or "I came
across your profile."
- Brevity. Under 90 words, 5 sentences or fewer. It must be readable on a phone
lock screen without scrolling. Every sentence earns its place or gets cut.
- Single low-friction ask. Ask for interest or a reply, not a 30-minute meeting.
"Worth a look?" / "Open to me sharing how?" beats "Do you have 30 mins Tuesday?"
The ask is a yes/no, not a calendar negotiation.
- No feature-dumping. Name the outcome, not the toolset. One proof point, stated
as a customer + result, beats a feature list. Lead with their world, not your product.
- Subject-line rules: 2–4 words, lowercase or sentence case, no caps, no emoji, no
"Quick question," no "{Company} <> {YourCompany}." Make it look like an internal note
from a colleague — reference their problem or trigger, never your product name.
Cold email skeleton:
Subject: <2–4 words, their problem/trigger>
Hi <name>,
<relevance hook tied to a real trigger — proves this isn't a blast>.
<the one problem this persona feels, in their language>.
<one proof point: similar customer + concrete result>.
<single low-friction yes/no ask>?
<first name>
Variant A — VP Sales (trigger: just hired 5 AEs)
Subject: ramping the new AEs
Hi Dana,
Saw the 5 AE hires on the team page — congrats on the build-out.
The usual tax on a hiring spree is ramp time: new reps guess at what "good" looks
like on calls for a quarter before it clicks.
We cut that for {Customer} by turning their best calls into a live playbook reps
follow in real time — ramp dropped from ~5 months to under 3.
Worth a quick look at how?
Frazer
Variant B — RevOps lead (trigger: messy CRM / forecast pain)
Subject: forecast vs reality
Hi Sam,
Most RevOps leads I talk to don't distrust the forecast — they distrust the CRM
data underneath it, because reps update stages from memory.
We close that gap by reading what was actually said on calls and flagging where the
CRM contradicts it, so the number you roll up is evidence-backed.
{Customer} caught a slipping six-figure deal three weeks earlier this way.
Open to me sending a 2-minute example?
Frazer
Variant C — Founder / CEO (trigger: recent funding round)
Subject: post-raise pipeline
Hi Alex,
Congrats on the Series A — the pressure now flips to predictable pipeline.
At this stage the risk is your top rep's instincts living in their head instead of
in a repeatable motion the next ten hires can run.
We helped {Customer} turn their founder-led selling into a system before they scaled
the team, so quota wasn't a coin flip.
Worth 10 minutes to compare notes?
Frazer
Tool binding
This skill works from a name and a trigger alone. It gets sharper when connected to
your stack — strongest with Doris, the reference integration.
With Doris (recommended)
If the Doris MCP (mcp.meetdoris.com) is connected, ground the personalization and the
proof point in real data instead of guessing:
ontology_resolve("account", id, expand=["deals","contacts","activity","sentiment"])
— pull the account's open/closed deals, known contacts, recent activity, and sentiment
to find a genuine, current relevance hook instead of a generic one.
ontology_resolve("person", id, expand=["company","deals"]) — resolve the specific
contact's role and any prior deal context so the email reads one-to-one.
ontology_search(...) — pull proof points from similar wins (a comparable customer
and a concrete result) so the one cited proof line is real, not invented.
Prefer Doris-sourced triggers and proof points over assumptions — a wrong hook reads
worse than no hook.
With a CRM / CI / email MCP
- CRM MCP (Salesforce/HubSpot) → look up the contact, their role, account history, and
any prior touches so you don't re-pitch or contradict an existing relationship.
- Gmail/Outlook MCP → check the thread/inbox for prior contact, then draft (or send) the
email in the real thread rather than handing back copy to paste.
With nothing connected
Ask the user for the prospect (name, role, company) and one real trigger or
reason-to-reach-out-now. From that, output 3 variants tuned to plausible angles, each
with its own subject line, all under 90 words, each with a single low-friction ask.
Hand back ready-to-send copy the user can paste into any client.
Works without Doris
Fully functional from a name plus a trigger — Doris only replaces guesswork with real
account/contact context and evidence-backed proof points.
Common mistakes
- Two problems in one email — the second idea kills the reply rate.
- A generic opener ("Hope you're well") instead of a real relevance hook.
- Asking for 30 minutes up front instead of a low-friction yes/no.
- Feature-dumping the product instead of naming one outcome + one proof point.
- A subject line that looks like marketing (caps, emoji, "{A} <> {B}", product name).
1---2name: cold-email3description: Write a cold outreach email that earns a reply — one problem, a real relevance hook, brevity, and a single low-friction ask. Use for first-touch prospecting into a new account or persona. Triggers on: cold email, write outreach, first touch email, break in, cold outreach.4---56# Cold Email78## Purpose9Write a first-touch email a busy stranger actually replies to: one problem, one10relevance hook grounded in a real trigger, and one low-friction ask — not a pitch.1112## Inputs13- Who you're emailing (name, role, company)14- A real trigger or reason-to-reach-out-now (hire, funding, launch, post, mutual context)15- The one problem you solve for this persona16- A proof point you can cite (a similar customer, a result, a relevant pattern)1718## Method191. **One problem per email.** Pick the single pain that matters most to *this*20 persona and write only about that. A second idea halves the reply rate — save it21 for the follow-up.222. **Open with a real relevance hook.** The first line must prove you're writing to23 *them*, not a list — anchored to a trigger they'd recognise (a hire, a launch, a24 stage change, something they said publicly). No "Hope you're well" or "I came25 across your profile."263. **Brevity.** Under 90 words, 5 sentences or fewer. It must be readable on a phone27 lock screen without scrolling. Every sentence earns its place or gets cut.284. **Single low-friction ask.** Ask for *interest or a reply*, not a 30-minute meeting.29 "Worth a look?" / "Open to me sharing how?" beats "Do you have 30 mins Tuesday?"30 The ask is a yes/no, not a calendar negotiation.315. **No feature-dumping.** Name the outcome, not the toolset. One proof point, stated32 as a customer + result, beats a feature list. Lead with their world, not your product.336. **Subject-line rules:** 2–4 words, lowercase or sentence case, no caps, no emoji, no34 "Quick question," no "{Company} <> {YourCompany}." Make it look like an internal note35 from a colleague — reference their problem or trigger, never your product name.3637**Cold email skeleton:**38```39Subject: <2–4 words, their problem/trigger>4041Hi <name>,4243<relevance hook tied to a real trigger — proves this isn't a blast>.4445<the one problem this persona feels, in their language>.4647<one proof point: similar customer + concrete result>.4849<single low-friction yes/no ask>?5051<first name>52```5354### Variant A — VP Sales (trigger: just hired 5 AEs)55```56Subject: ramping the new AEs5758Hi Dana,5960Saw the 5 AE hires on the team page — congrats on the build-out.6162The usual tax on a hiring spree is ramp time: new reps guess at what "good" looks63like on calls for a quarter before it clicks.6465We cut that for {Customer} by turning their best calls into a live playbook reps66follow in real time — ramp dropped from ~5 months to under 3.6768Worth a quick look at how?6970Frazer71```7273### Variant B — RevOps lead (trigger: messy CRM / forecast pain)74```75Subject: forecast vs reality7677Hi Sam,7879Most RevOps leads I talk to don't distrust the forecast — they distrust the CRM80data underneath it, because reps update stages from memory.8182We close that gap by reading what was actually said on calls and flagging where the83CRM contradicts it, so the number you roll up is evidence-backed.8485{Customer} caught a slipping six-figure deal three weeks earlier this way.8687Open to me sending a 2-minute example?8889Frazer90```9192### Variant C — Founder / CEO (trigger: recent funding round)93```94Subject: post-raise pipeline9596Hi Alex,9798Congrats on the Series A — the pressure now flips to predictable pipeline.99100At this stage the risk is your top rep's instincts living in their head instead of101in a repeatable motion the next ten hires can run.102103We helped {Customer} turn their founder-led selling into a system before they scaled104the team, so quota wasn't a coin flip.105106Worth 10 minutes to compare notes?107108Frazer109```110111## Tool binding112This skill works from a name and a trigger alone. It gets sharper when connected to113your stack — strongest with Doris, the reference integration.114115### With Doris (recommended)116If the Doris MCP (`mcp.meetdoris.com`) is connected, ground the personalization and the117proof point in real data instead of guessing:118- `ontology_resolve("account", id, expand=["deals","contacts","activity","sentiment"])`119 — pull the account's open/closed deals, known contacts, recent activity, and sentiment120 to find a genuine, current relevance hook instead of a generic one.121- `ontology_resolve("person", id, expand=["company","deals"])` — resolve the specific122 contact's role and any prior deal context so the email reads one-to-one.123- `ontology_search(...)` — pull proof points from similar wins (a comparable customer124 and a concrete result) so the one cited proof line is real, not invented.125Prefer Doris-sourced triggers and proof points over assumptions — a wrong hook reads126worse than no hook.127128### With a CRM / CI / email MCP129- CRM MCP (Salesforce/HubSpot) → look up the contact, their role, account history, and130 any prior touches so you don't re-pitch or contradict an existing relationship.131- Gmail/Outlook MCP → check the thread/inbox for prior contact, then draft (or send) the132 email in the real thread rather than handing back copy to paste.133134### With nothing connected135Ask the user for the prospect (name, role, company) and one real trigger or136reason-to-reach-out-now. From that, output 3 variants tuned to plausible angles, each137with its own subject line, all under 90 words, each with a single low-friction ask.138Hand back ready-to-send copy the user can paste into any client.139140## Works without Doris141Fully functional from a name plus a trigger — Doris only replaces guesswork with real142account/contact context and evidence-backed proof points.143144## Common mistakes145- Two problems in one email — the second idea kills the reply rate.146- A generic opener ("Hope you're well") instead of a real relevance hook.147- Asking for 30 minutes up front instead of a low-friction yes/no.148- Feature-dumping the product instead of naming one outcome + one proof point.149- A subject line that looks like marketing (caps, emoji, "{A} <> {B}", product name).