Everything you need to write briefs that produce great cold emails — from first principles to the advanced levers power users pull. SimpleSend turns a CSV of leads into a CSV of personalized cold email sequences, one complete multi-step sequence per contact, written from scratch. It does not send anything. The output is a ready-to-import file you drop into SmartLead, Instantly, Apollo, HubSpot, or a Gmail mail merge.
What is SimpleSend?
The key difference from a template-and-token approach: every subject line and every email body is drafted uniquely per contact. There are no {{first_name}} slots filled in at the end — the AI drafts each email knowing who the recipient is, what their company does, and what recent signal (if any) it found about them.
Per-contact pipeline
For each contact in your CSV, SimpleSend runs the full sequence through this chain:
- EnrichFetches and summarizes the company homepage. Parses the LinkedIn profile for LinkedIn DM campaigns. Results are cached 30 days.
- ResearchRuns your
lookForentries — targeted searches that mine job postings, LinkedIn activity, news, and more for contact-specific signals. - Draft each stepThe model you selected writes each email. Each step gets a unique template, a unique value prop from your list, and a unique finding (if found).
- Fact-check & lintAI verifies that no claims were invented. Deterministic rules check length, forbidden phrases, CTA link presence, and formatting.
- Polish & exportIf any issues are found, a final editing pass fixes them without inventing new facts. The result is exported to CSV.
How it works — the 5-step flow
Once you upload your CSV, SimpleSend walks you through five screens:
| Step | What you do | Tips |
|---|---|---|
| 1. Upload CSV | Upload a CSV of leads. Required columns: email or linkedin_url, first_name, company. | Include title and company_website when you have them — they improve enrichment quality. |
| 2. Review & clean | Preview and fix data issues — malformed emails, missing names, duplicate rows. | Spend time here. Garbage in, garbage out. A blank first_name produces "Hi," with nothing after it. |
| 3. Brief | Fill out the campaign brief — what you sell, who you're targeting, your value props, and your sequence steps. | This is where 90% of output quality is determined. See the brief sections below. |
| 4. Sample | Preview 1–2 generated drafts before running the full batch. | Always run a sample. If the sample feels off, adjust the brief before generating 500 contacts. |
| 5. Generate & export | Run the full campaign. Download the CSV when complete. | Briefs and sequences can be saved as reusable templates for future campaigns. |
The brief
The brief is the single most important thing you control. Every field maps directly into the AI's prompt — knowing what each field does lets you write briefs that actually move output quality.
Company description & ICP
Description — one paragraph. Goes into the research planner as industry context and into the drafting model as your company description. The planner uses it to decide where to look for contact signals; if your description mentions "SaaS revenue operations," the planner knows to check job boards for RevOps hires and LinkedIn for GTM content.
ICP — 2 lines max. Goes into the research planner as recipient context and into the drafting model to ground the "light research flavor" sentence when no specific finding is available. Include signals the planner can search on: stack names, company size/stage, hiring patterns, GTM motion.
Value props ⭐
The most leverage-heavy field in the entire brief. Up to 3 value props, one per line. SimpleSend assigns one prop per email step in round-robin order: Step 1 gets prop #1, Step 2 gets prop #2, Step 3 gets prop #3, Step 4 wraps back to #1. Each email is locked to its assigned prop and told not to reuse props from prior steps. Breakup steps skip prop assignment entirely.
If you give only one value prop for a four-step sequence, all four emails must pitch the same angle. The AI is told to "find a fresh angle," but with nothing new to work with, drafts become repetitive and thin. Three distinct, specific props give each email in the sequence a unique hook.
Writing high-leverage value props
Think in terms of specific outcomes, not category features. The drafter is given one prop and told to build the entire email around it — so the prop needs to be a complete story seed, not a label.
Increase revenue
Better visibility
Reps hit quota 23% faster when managers can see pipeline risk in real time
CFOs who use us stop being surprised at board meetings
One outcome per line. The parser strips numbered prefixes like 1. or 2), so those are fine to include. The system splits on line breaks, bullets, and semicolons, so each line becomes exactly one prop — don't combine multiple outcomes on the same line.
Tone & length
Tone — choose one of casual, formal, witty, direct, or warm. Tone shapes the opener style and phrasing cadence. Some formatting rules override tone regardless of your choice — sentence case is always enforced, and em dashes are never allowed. Casual means conversational but not all-lowercase. Direct means no preamble, get to the point immediately.
Length — three options:
| Option | Word count | Best for |
|---|---|---|
| xshort | ≤60 words | Pure ask, no preamble. Breakup emails. High-volume SDR outreach to busy executives. |
| short ⭐ recommended | 60–120 words | Tight with one proof point. Best balance of personalization and brevity for most campaigns. |
| medium | 120–200 words | More context, still scannable. Good for complex products that need more setup. |
CTA & CTA link
The CTA is the action you want the reader to take, e.g. "15-min intro call," "grab 20 minutes," "see a 3-min demo." If you provide a ctaLink, the CTA text is rendered as a clickable markdown link. If you leave the link blank, it renders as plain text. Always include a link — it makes the ask one click instead of requiring the recipient to reply and coordinate.
Voice samples
Optional, but recommended. Paste 1–3 real cold emails you've sent before. The drafting model uses these to mirror your cadence, opener style, sign-off, and idiosyncrasies.
- Paste real sent emails — subject line, body, and signature included
- Include emails of similar length and step type to what you're generating (short intros if you want short intros)
- Include your actual voice tics: hedge words, how you sign off, your typical opener
- Don't paste email templates with merge tags — paste real, sent emails
- Don't paste emails that are much longer or shorter than your target length — the model picks up on cadence
Research intelligence: lookFor ⭐
This is what makes SimpleSend emails feel hand-written rather than AI-generated. Every lookFor entry is a research directive the system executes per contact before drafting. Each entry has two parts:
| Field | What it does |
|---|---|
| topic | What to find. Sent to the research planner, which builds search strategies around it (company website, LinkedIn, news, job boards, etc.). |
| angle | How a finding should change the pitch. Becomes the rule that determines the phrasing tone — high-confidence direct, medium-confidence hedged, or thematic. |
For each contact, the system runs up to 3 search strategies per entry and picks the first one that returns a finding with ≥70% confidence. That finding gets delivered to the drafter as an observation plus phrasing hint. The drafter uses 0–2 findings per email by design — findings are scarce on purpose.
Writing high-quality lookFor entries
The single most common mistake: a vague topic with no angle. The topic alone doesn't do much — the angle is what shapes the phrasing. Every lookFor entry should have both.
angle: use it to personalize
angle: if they're hiring reps, pitch the ramp-time value prop and name the specific role
angle: make it relevant
angle: new leadership is evaluating all existing tools — lead with a "fresh start" or migration angle
Recommended lookFor entries by use case
| Topic | Angle | Best for |
|---|---|---|
| Open SDR/AE/RevOps job postings (last 60 days) | Scaling GTM → reference role name, pitch ramp-time or productivity prop | Sales tools, RevOps platforms, onboarding software |
| New executive hire (CRO, CMO, VP Sales, CFO) | New leadership evaluating stack → lead with "fresh start" or migration angle | Any B2B SaaS displacing incumbent tools |
| Recent funding round announcement | Post-raise growth push → pitch scaling or compliance readiness | HR tools, finance tools, infrastructure, compliance |
| LinkedIn posts about a specific pain in the last 30 days | They're broadcasting the problem → reference it directly, don't introduce the problem | Any product that solves a visible operational pain |
| Tech stack signals (specific tool in the job description) | Integration angle — "we connect natively with [tool they use]" | Integration-heavy products, data pipelines, analytics tools |
Each finding gets a confidence score and a recency label (very_recent, recent, stale, unknown). The drafter is told to downgrade stale findings. You don't control this directly, but you can bias it by writing topics that target recent signals (job postings from the last 60 days, announcements from the last 90 days).
Sequence design
How to structure your step sequence for maximum impact — and what each step type actually instructs the AI to do.
| Type | AI behavior | Subject line | CTA? |
|---|---|---|---|
| intro | Hook → bridge to value prop → CTA. Uses the full intro template pool. | Fresh subject, sentence case, 5–8 words | Yes |
| value | Proof point or case study angle. Assumes the recipient saw the intro. | Fresh subject | Yes |
| followup | Re-engage with a different angle. Subject forced to RE: [last value email subject]. | RE: prefix required | Yes |
| breakup | Last ask, no pressure. Skips value prop assignment entirely. Subject forced to RE:. | RE: prefix required | No |
Recommended sequence shapes
Standard 4-step (most common): Day 1 intro (prop #1) → Day 3 value (prop #2) → Day 7 followup (prop #3) → Day 14 breakup.
3-step lightweight: Day 1 intro (prop #1) → Day 4 followup (prop #2) → Day 10 breakup.
followup and breakup to build the right RE: threading structure.The focus field
Each step has an optional focus text field. Whatever you put there is passed to the drafter as a literal instruction. Use it to override default template behavior for specific steps:
type: "followup"
focus: "Open with the job posting finding if confidence is high. If no finding, lead with the CFO surprise-at-board-meetings angle."Focus is a power-user lever. When you're tuning high-stakes campaigns, use it to inject step-specific logic the default type rules don't cover.
Template library
SimpleSend has 13 built-in email templates. You don't choose them directly — the AI assigns one per step in round-robin order so your sequence varies. Here's what's available and when each shines.
| Pool | Template | Best for |
|---|---|---|
| intro | Standard Intro | Workhorse opener. Hook + why you're reaching out + CTA. |
| intro | Poke-the-Bear | Opens with the recipient's problem, not your solution. Good for pain-aware prospects. |
| intro | Pattern Interrupt | Unusual opener that breaks inbox pattern. Higher risk, higher reward for cold lists. |
| intro | Creative Ideas | 3-idea consultative format. Good for longer emails and complex products. |
| intro | Quick Case Study | Before/after customer story. Good when you have specific outcome data to cite. |
| value | Past-Company Empathy | "I've been in your role" style. Good when sender has relevant experience. |
| value | Founding Story | Why we built this. Warm, personal angle for founder-led sales. |
| value | Casual Quick Hit | Short, punchy, one-sentence proof point + CTA. |
| value | Extremely Short | One question or one line + CTA. Works well with the xshort length setting. |
| followup | 3 Bullets | Three quick reasons to reply. Scannable format for busy recipients. |
| followup | Wrong Person? | "Is there someone better to talk to?" Useful when title mapping is uncertain. |
| followup | Three Ideas | 3 ways you could help them. Consultative, shows you've thought about their situation. |
| breakup | Breakup | Closing the loop, low pressure, one last ask. No CTA required. |
Choosing a model
You pick one model per campaign. The choice trades output quality against unit cost. All other pipeline steps (enrichment, research, fact-check, polish) always use Haiku regardless of your choice.
lookFor signals.LinkedIn DMs
LinkedIn DM campaigns use a different pipeline. When your CSV contains linkedin_url instead of email, SimpleSend switches to the LinkedIn path automatically. Key differences:
- No subject line — LinkedIn DMs don't have one.
- No email signature.
- No markdown links —
[text](url)format doesn't render on LinkedIn; plain text only. - No polish loop — the DM path skips the fact-check/polish step.
- No template lock — DMs use different prompts entirely.
- Sender's company is used — the
companybrief field appears in the DM prompt as "Sender's company." - LinkedIn profile parsing replaces homepage enrichment.
xshort or short length. Your CTA link should be plain text (write out the URL) rather than relying on markdown formatting.Hard rules baked into every draft
These rules are non-negotiable — enforced at the drafting model level and re-checked deterministically after drafting. You can't override them via brief fields, and they'll be corrected in the polish pass if the drafter violates them.
- No fabricated facts about the recipient. If no finding is available for a claim, the AI falls back to generic value props. Claims that fail fact-check are deleted and rewritten.
- No "I hope this finds you well" or "I came across your profile." These openers are on the forbidden list and will be linted out.
- No em dashes or en dashes — ever. Stripped via regex post-hoc as well. Use commas or rewrite.
- Subject in sentence case, 5–8 words. Never Title Case, never all-lowercase. Proper nouns are capitalized; nothing else is.
- One named third-party person max per email. If a finding names someone (e.g., a new hire), they can't be named again in a later step.
- Company name copied exactly from the contact row. Misspellings are auto-corrected using edit-distance matching before export.
- One value prop per email. The drafter does not repeat the same prop used in a prior step as the main pitch.
- Each email's opener uses a different angle from prior steps in the sequence.
Quick-reference checklist
Use this before running any campaign. If you can check every box, you're set up for strong output.
Brief checklist
- Description is one concrete paragraph — deliverable + category words
- ICP includes searchable signals (stack, stage, hiring patterns)
- 3 distinct value props — specific outcomes with numbers or named pains
- Prop #1 is your strongest hook (it runs in the intro)
- CTA link included — low-friction destination
- 1–3 real sent emails pasted as samples
lookFor checklist
- 2–4 entries (not more)
- Every entry has both a topic AND an angle
- Topics target concrete observables (not "growth signals")
- Topics reference recent time windows ("last 60 days")
- Angles specify which value prop to activate for each finding
Sequence checklist
- Ends with a breakup step
- No consecutive intro steps
- 3 or 4 steps matches your 3 value props
- Length setting matches target recipient seniority
- Sample run reviewed before full batch
CSV checklist
- No blank
first_namevalues company_websiteincluded where availabletitlecolumn present for ICP matching- No duplicate rows
- Email or LinkedIn URL — not both in the same campaign
Common mistakes
The issues most often seen in campaigns that underperform — and how to fix each one.
1. One value prop for a 4-step sequence
What happens: all four emails argue the same angle. The AI tries to find fresh approaches but runs out of ideas — drafts become thin and repetitive.
Fix: write 3 distinct, specific outcome-based props before generating.
2. lookFor entries with no angle
What happens: the research planner finds a signal but doesn't know how to use it. Findings end up in emails as vague, non-specific references ("I noticed your company has been growing").
Fix: every lookFor entry needs an explicit angle — "if you find X, pitch Y by saying Z."
3. Pasting email templates as samples (not real emails)
What happens: the model mirrors the template style — generic, token-heavy, formal structure. Defeats the purpose of voice mirroring.
Fix: paste real, sent emails with your actual sign-off, opener habits, and phrasing quirks.
4. Medium length + xshort-type value props
What happens: the model is asked to write 120–200 words but your value props are one-liners. It pads with generic content to hit the word count.
Fix: match prop specificity to target length. For medium emails, write props with context: who benefits, what outcome, what the before state was.
5. Not running a sample before the full batch
What happens: a brief issue that would be obvious in one email — a vague description, a weak prop, a tone mismatch — gets multiplied across hundreds of contacts.
Fix: always use the Sample step. Review 2–3 outputs across different company types in your list before generating the full campaign.
6. Blank or incorrect company names in the CSV
What happens: the AI is given a blank or misspelled company name and uses it verbatim. SimpleSend auto-corrects close misspellings, but a blank company field produces "Hi [name], I noticed your company has been..." with no company name.
Fix: review and clean your CSV at the Review step. Prioritize the company and first_name columns.
lookFor entries for the new audience — without starting from scratch every time.