Separating prospect research notes from sendable copy in the write step
Research notes are for the agent and the operator.
Sendable copy is for the prospect.
When those layers collapse, you get emails that cite a funding round that was a rumor, congratulate a hire who already left, or paste a LinkedIn comment that was never meant to be quoted back at them.
The write step needs a hard boundary.
Two artifacts, one prospect
| Artifact | Lives where | May include | Must never include |
|---|---|---|---|
| Research notes | Internal / agent context | Hypotheses, raw snippets, confidence scores, "needs verify" flags | Final subject lines as if approved |
| Sendable copy | Email / LinkedIn body | Claims with provenance, approved tokens, client voice | Speculative notes, internal jargon, unverified personalization |
Mailchimp's voice guidance values clarity over cleverness. Nielsen Norman Group's tone work shows users notice when formality and respect shift. Dumping research voice into a first-touch email reads as surveillance, not relevance.
What belongs in research notes
Keep a structured note object per prospect:
- Source URLs and capture timestamps
- Field-level confidence (
verified,likely,rumor) - Disqualifiers spotted during qualify
- Hook candidates the writer may use after verification
- Explicit "do not mention" items (health, politics, layoff rumor without confirmation)
DemandLab's multichannel sequence architecture keeps enrichment columns separate from export lists for a reason: the enrichment table is a control plane, not a message. Your research notes are the same control plane for the write step.
What is allowed to become sendable
A line enters the email only if:
- It maps to a field with provenance
- Confidence is
verified(or client-approvedlikelywith soft language) - It passes the client do-not-say list
- It fits the active voice-brief version
- It would not embarrass the sender if forwarded to the prospect's boss
"Saw you posted about X" requires the post URL and date in research notes. The sendable line becomes a short, accurate reference — not a paste of the whole post.
Prompt and UI patterns that enforce the split
- Separate model contexts: research summarizer ≠ copywriter
- Redact research notes from the final render preview operators approve
- Block tokens like
{{research.*}}from email templates - Require a
claim_idon every personalization sentence in supervised mode - Log which research fields were cited when a message is approved
ProspectingManual's multi-client SOP thinking applies: if the step is not documented, operators invent shortcuts. Document the split as a gate, not a suggestion.
Failure modes to watch
- Note bleed: "probably raising Series B" becomes "congrats on the raise"
- Stale hook: research from six weeks ago ships as "just saw"
- Channel mismatch: LinkedIn-private context pasted into cold email
- Internal voice: "DQ — too junior" accidentally merges into the opener
Each of these is a write-step bug, not a "personalization strategy."
QA checklist before send
- Every personalized sentence has a source in research notes
- No
TODO,verify, or confidence tags appear in the body - Names, titles, and company match the latest enrichment
- No competitor comparisons unless the client brief allows them
- Compliance gate still sees unsubscribe URL + verdict
What GTM expects you to keep separate
GTM's motion is find → qualify → write from evidence → send/reply/book, with field provenance and a compliance gate before send. Separating research notes from sendable copy is how agencies keep "evidence-based" from becoming "assumption-based" at scale.
If you are building that motion now, join the waitlist.
