Back to Features Index

Campaign Builder & CSV Pipeline

Create rich templates, parse contact sheets instantly, and run deep MX-record checks to remove broken emails before clicking send.

This module covers everything between having a list and having a queued campaign: validating the recipients, composing the message, and making sure the two combine into something that does not look machine-generated to a spam filter.

Validation belongs before the send, not after

The usual sequence is to upload a list, send, and discover its quality from the bounce report. That is backwards, because by then the damage to your sending reputation is already recorded. Uploads here are parsed and checked for malformed addresses, syntax errors and duplicates, with MX record lookups confirming the receiving domain is configured to accept mail at all. A domain with no MX record cannot receive email, and every message addressed to it is a guaranteed bounce that should never have been attempted.

Why duplicates matter more than they appear to

A duplicated address is not merely wasted volume. It means one person receives the same message twice in a single campaign, which is one of the more reliable ways to convert a tolerant recipient into someone who presses the spam button. Given that complaint rates have a hard threshold attached under the Google and Yahoo bulk sender rules, deduplication is a deliverability control rather than a tidiness feature.

Mail merge and Spintax solve different halves of one problem

Thousands of byte-identical messages arriving at one provider inside a short window is a fingerprint, regardless of what they say. Mail merge substitutes real per-recipient data from your CSV into the subject and body, so each message carries genuinely different content. Spintax handles the parts that have no per-recipient data to draw on: you write several phrasings of a sentence and one is selected per recipient. Neither is a trick to fool a filter. Both produce what a person writing individually would naturally produce - similar messages rather than identical ones.

Templates and campaigns are stored separately

Keeping the two apart means a layout can be built once and reused across different lists and merge data, rather than being copied and gradually diverging. It also means a correction to a template does not require rebuilding the campaign around it.

Feature Breakdown

FT-CAMP-001

Visual Campaign Builder & Templates

Design beautiful responsive emails using templates and a powerful rich-text editor with CDN image storage.

Technical Capabilities:

Offers three layouts: Basic Text, Structured Advanced, and Newsletter Grid.
Saves drafts automatically to prevent loss of work.
Uploads embedded images to CDN storage buckets automatically.
Supports standard rich-text formatting (bold, italic, links, colors).
FT-CAMP-002

CSV Upload & Recipient Validation Pipeline

Clean your contact sheets before sending. Runs format regex, duplicate removal, and live DNS MX record checks.

Technical Capabilities:

Parses sheets up to 10MB; auto-detects fields and column mappings.
Filters formatting mistakes using RFC 5322 regex checks.
Removes duplicate email rows automatically to prevent multiple sends.
Checks recipient domain MX records via async DNS queries.
FT-CAMP-003

Dynamic Mail Merge Personalization

Inject custom recipient information dynamically into the email subject line and body.

Technical Capabilities:

Maps variables using column headers (e.g., {First_Name}, {Company}).
Gracefully replaces missing values with empty strings instead of raw brackets.
Includes a variables picker dropdown menu in the editor panel.
Generates an instant visual preview using the first row of your CSV data.
FT-CAMP-004

Spintax Content Randomization

Create unique content variations for every recipient to make bulk campaigns look like manual outreach.

Technical Capabilities:

Supports syntax like {Hi|Hello|Hey} to vary phrases randomly.
Evaluates choices on a per-recipient basis at dispatch time.
Allows nesting up to 2 levels deep for complex phrasing.
Highlights Spintax blocks in the editor interface.
FT-CAMP-005

Campaign Control & Safety Guards

Pause, resume, or abort campaigns instantly, and enjoy automatic protection against high bounce rates.

Technical Capabilities:

Pause sends at any time, saving queue status and sharding pointers.
Aborts pending dispatches immediately using a secure Kill-Switch.
Monitors delivery; auto-pauses campaigns if hard bounce rates exceed 2%.
Sends real-time WebSocket alerts to notify you of auto-pause events.

Spec Sheet

CSV ParserPapaparse Pipeline
DNS Checkingdns.resolveMx Resolution
CDN StorageCloudflare R2 Bucket
Content EvaluationRuntime Spintax Compilation Engine

Need a Deep Dive?

See exactly how this module manages background queues, encryption, and delivery logic in our sequence flowchart.

View technical guide

Ready to Connect Your Nodes?

Scale your deliverability with our intelligent sharding relay. Add your domains and start landing in the inbox.

Module FAQ

Campaign Builder & CSV Pipeline questions.

The specifics people ask about before relying on this part of the platform.

Can I personalise each email with data from my list?

Yes. Any column in your uploaded CSV becomes a merge field usable in both the subject line and the body, so each recipient receives a message built from their own row.

What is Spintax and why would I use it?

Spintax lets you write several alternative phrasings of the same sentence and have one chosen at random per recipient. It means no two messages in a campaign are byte-identical, which matters because identical bulk content is itself a filtering signal.

How is my contact list validated before sending?

Uploads are parsed and checked for malformed addresses, syntax errors and duplicates, with MX record lookups confirming the receiving domain can accept mail at all. Invalid rows are reported before the campaign is queued, not after they bounce.

Can I reuse templates across campaigns?

Yes. Templates are saved separately from campaigns, so you can build a layout once and use it repeatedly with different lists and merge data.