HOW IT WORKS · 4 STEPS · ~5 MINUTES

From a list of leads to a CRM full of tailored emails—in four steps.

SimpleSend is the drafting layer between your list and your sender. Drop a CSV, write a short brief, approve a sample row, then export — and map once into your sender. From CSV to ready-to-paste sequence in minutes.

01
STEP ONE · ASSEMBLE YOUR LEADS

Build a clean lead list.

Pull leads from ZoomInfo, Apollo, Pitchbook, LinkedIn Sales Navigator — wherever you source. The richer the row, the sharper the personalization. You don't need every column; the more context you give, the more specific each email becomes.

leads_q2_2026.csv240 rows · 6 columns
First NameREQLast NameREQCompanyREQWebsiteOPTLinkedIn URLOPTTitleOPT
TheoParkNorthwind Labsnorthwind.devlinkedin.com/in/theoparkFounder
MayaLinAcme Roboticsacme.iolinkedin.com/in/mayalinVP Engineering
PriyaShahLumen Healthlumen.healthlinkedin.com/in/priyashahHead of GTM
DanielFryRove Logisticsroveops.comlinkedin.com/in/danielfryCOO
REQUIRED
First Name
Used in subjects and greetings — “Hey Theo,”.
REQUIRED
Last Name
Disambiguates duplicates and unlocks formal salutations.
REQUIRED
Company
The most-used merge field in every email.
OPTIONAL
Website
SimpleSend scans for tone, products and recent news.
OPTIONAL
LinkedIn URL
Pulls role context, tenure and recent posts for hooks.
OPTIONAL
Title
Tunes pain points and tone to seniority.
Pro tip: headers can be in any case (First Name, first_name, FIRSTNAME) — SimpleSend auto-detects on upload. Save the file as .csv with UTF-8 encoding.
02
STEP TWO · DROP IT IN

Upload your CSV to SimpleSend.

Drag the file straight onto the dropzone. SimpleSend validates the columns and flags missing emails, role inboxes and duplicates. Then a short brief — what you sell, who it's for, your CTA, your tone — and an optional paste of 1–3 past emails so we mirror your voice.

CSV
Drop leads_q2_2026.csv here

…or click to browse. Up to 25 MB. UTF-8 CSV with a header row.

.csvUTF-8up to 25 MBheaders any case
↑ DRAG & DROP
Auto-detects headers
First Name / first_name / FIRSTNAME — all the same to us.
Flags bad data
Missing emails, role inboxes (info@, sales@) and duplicates.
Confirms before drafting
You preview a sample row first — no tokens spent until you approve.
Pro tip: save your brief as a campaign template. The next time you upload a list of similar leads, SimpleSend re-uses the tone, value prop and CTA in two clicks.
03
STEP THREE · GET YOUR ENRICHED FILE

Export the CSV with a custom message in every row.

SimpleSend returns the same file you uploaded, plus new columns: a tailored subject and body for every email in your sequence — one row per lead. Every cell is fully written, ready to merge. No prompts, no placeholders left to fill in.

leads_q2_2026_simplesend.csv240 rows · 12 columns · ↓ downloaded
ORIGINAL
First Name
ORIGINAL
Company
SIMPLESEND
email_1_subject
SIMPLESEND
email_1_body
SIMPLESEND
email_2_subject
SIMPLESEND
email_2_body
TheoNorthwind LabsTheo — the Northwind ingestion bug
Saw your tweet about Northwind's pipeline choking on multi-GB CSVs — we hit the exact same wall…
Streaming chunked parses?
Specifically curious whether you've moved off in-memory loads yet. We dropped import time 40m → 90s…
MayaAcme RoboticsMaya — Acme's ROS2 migration thread
Your engineering blog on ROS2 caught my eye — particularly the bit about driver instability under load…
Following up — driver stability
Wanted to circle back on the driver instability piece. We've seen the same with two robotics customers…
PriyaLumen HealthPriya — Lumen's HIPAA messaging launch
Loved the launch note about Lumen's HIPAA-compliant SMS layer — congrats on shipping ahead of Q1…
Quick note on patient activation
On the patient activation side, we've helped two health systems lift first-message reply by ~3.4×…
Pick your sequence length —
135711· any length, 1–11
2 columns added per email — subject + body.
Pro tip: column names stay stable across exports (email_1_subject, email_1_body…), so once you map your CRM template the first time, every future campaign drops in without remapping.
04
STEP FOUR · LIGHT THE FUSE

Map the columns into your CRM template.

Upload the SimpleSend-enriched CSV to SmartLead, GoHighLevel, Instantly, Apollo or any sender that supports merge variables. In your template, reference the column names with double braces — SimpleSend's column header is the variable. The CRM auto-sends the sequence and every recipient gets a fully tailored message.

SmartLead · Sequence template● Active
1EMAIL 1
SUBJECT
{{email_1_subject}}
BODY
Hi {{first_name}},

{{email_1_body}}

— Jordan
2EMAIL 2· DELAY 3 DAYS
SUBJECT
Re: {{email_1_subject}}
BODY
Hi {{first_name}},

{{email_2_body}}

— Jordan
3EMAIL 3· DELAY 5 DAYS
SUBJECT
{{email_3_subject}}
BODY
Hi {{first_name}},

{{email_3_body}}
TEMPLATE
Hi {{first_name}},
{{email_1_body}}
ROW DATA
first_name = "Theo"
email_1_body = "Saw your tweet…"
SENT EMAIL
Hi Theo,
Saw your tweet about Northwind's pipeline choking on multi-GB CSVs — …
Pro tip: always send a test row to your own inbox first. Confirm the merge variables resolved (no stray {{ brackets) before kicking off the full campaign.
CRM-AGNOSTIC

If your CRM has merge variables, SimpleSend fits in.

We don't ship integrations because we don't need to. The CSV speaks every CRM's language — only the merge-tag syntax differs, and your column names map one-to-one.

SmartLead
{{column_name}}
GoHighLevel
{{contact.column_name}}
Instantly
{{column_name}}
Apollo
{{column_name}}
Lemlist
{{column_name}}
HubSpot
{{ contact.column_name }}
Salesforce
{!Contact.column_name}
Mailchimp
*|COLUMN_NAME|*
BEFORE YOU SEND

Four mistakes we see weekly — and how to dodge them.

Don't ship without a test row.
Always send the first sequence to yourself. Inspect every merge variable before going live.
Don't hand-edit body text in the CSV.
Edit drafts inside SimpleSend, then re-export. CSV cells with line breaks can confuse some senders if quoted incorrectly.
Don't blast the whole list day one.
Warm new sending domains gradually — start at 30–50 sends/day and step up over two weeks.
Don't reuse merge tags across providers.
GoHighLevel uses {{contact.first_name}}; SmartLead uses {{first_name}}. Match your CRM's syntax exactly.