Copy that drives action — and the Gate that enforces it
What a research swarm taught us about outreach that converts, and how every lesson became a deterministic Gate check — because relevance you can't verify reads as spam. · 6 min read
This started as a question — how do you write personalized copy that drives a customer to act? — answered by a 15-agent research swarm: seven researchers, one per dimension of action-driving copy, each running real web searches, each pipelined into an adversarial fact-checker that downgraded inflated single-vendor stats, then a synthesizer that merged the verified findings into one playbook. The full engineering writeup lives at /guide; this is the distilled methodology.
The one insight that shaped the design
The research's #1 finding — relevance you can't verify reads as spam, and nothing else fires — is the same sentence as this product's thesis: can't say what it can't prove. Persuasion isn't a layer on top of provenance; it is provenance, pointed at outreach. So the decision tree runs as two passes on one spine, and the Gate disposes on both.
| Permission — “what may I say?” | Provable identity → personalization tier (say / allude / hold). Already wired in the router. |
| Action — “what makes them act?” | One trigger → loss-frame → matched-peer proof → one soft CTA, with the bot-fingerprint stripped. Wired in this work. |
The robust, cross-source spine
- Relevance gates every lever. One provable, public trigger — not a
{{first_name}}merge tag. - Frame the cost of inaction, not just the upside — loss is felt about twice as strongly as an equal gain.
- Matched-peer proof with a sharp, non-round number beats “trusted by 500+.”
- One soft CTA on a cold first touch — an interest question, never a calendar link.
- Don't pitch first; follow up; never sound like a bot.
Every lesson became a deterministic Gate check
A playbook nobody enforces is a poster. So each durable lesson was wired into the Gate — at the line, the message, and the sequence scale — and enforced where outbound copy actually flows: a variant enters the optimizer's action pool only if it is provable AND non-spam.
verify_copy — Axis A | Per line: blocks superlatives, comparatives, an inferred competitor, an ungrounded number, reciting the company under allude. |
verify_copy — Axis B | Per line: blocks AI-tells (delve, leverage, “hope this finds you well”…) and more than one em-dash. |
verify_message | Per message: one CTA, ≤125 words on a cold touch, no cold calendar link, one link max, no spam-promise wording. |
verify_sequence | Per sequence: never single-touch; no follow-up repeats a prior step verbatim. |
build_action_pool | A variant ships only if claims_cleared AND message_ok — provable-but-spammy never enters the pool. |
A new loss angle | Frames the cost of the status quo without inventing a number — loss-framing that's provable by construction. |
These rules are also published, in plain English, on the Policies surface under Anti-slop — a locked, platform-standard card set a tenant can read but not loosen.
The practical default: degrade to the individual, never fabricate upward
When the company can't be resolved, the tree doesn't guess a sector — it steps down the identity ladder to the individual (the role and seniority you can actually prove), then to an honest neutral default. Numbers stay claim-gated, so a real “30 EHR systems” ships while a fabricated stat is blocked one layer down. Identity degrades gracefully; it never fabricates upward.
Verified, not just compiled
Every layer was exercised and locked by added tests (existing tests untouched, per Art. VII): the message Gate clears all honest variants — the cold meeting-ask is a warning, not a veto — and vetoes the spammy ones; the optimizer's truth-boundary tests still pass unchanged. Full suite: 144 passed.