The largest open-source cold email platform.
Warmbly warms your mailboxes, sends your campaigns, and triages every reply. Run it on our cloud or self-host the whole thing on yours.
Free forever when you self-host. When Warmbly Cloud launches, a hosted workspace starts free with 10 mailboxes and warmup, and linked instances get their warmup run for them.
| Account | Sent | Warmup | Status | ||
|---|---|---|---|---|---|
| 37 | 22 | healthy | |||
| 24 | 18 | healthy | |||
| 46 | 34 | healthy | |||
| 18 | 12 | warming |
Sequences that branch on real behavior.
Build a multi-step flow on the canvas, then drag a connector from any step to fork on opens, clicks, and replies. It's the exact builder you'll use in the app.
Q1 Sales Outreach
draftcmp_8fK2pQ7rXa19
Send only inside their working hours.
A calendar-style editor with full per-day control. Draw a sending window on any weekday, drag to move it, grab an edge to resize. Everything snaps to 30 minutes.
7 windows across 5 days
12pm
5pm
5pm
12pm
6pm
5pm
3pm
Each day is independent. Set different windows per day, or several windows in one day. Sends are scheduled in America/New York; worker IPs spread distribution naturally.
Optional bounds for when the campaign may send. Leave both blank to run open-ended.
Every reply, triaged the moment it lands.
Replies from every connected mailbox stream into one searchable queue. The classifier tags each one on arrival so you act on the labels that matter.
Proof of what actually landed.
Deliverability across the whole workspace: sent, opens, clicks, replies and bounces, with per-campaign breakdowns and account health on one screen.
Draft the whole email from one line.
Describe what the email should do and the assistant writes it in your voice, merge fields and tone already in place. Edit inline, regenerate, or keep what works.
Compose the email this step sends.
Internal label only. Recipients never see it.
Hi {{.FirstName}}, ...
Hi Alex,
Noticed Acme has been scaling fast on AWS. Teams your size are usually overpaying 30 to 40 percent on compute they spun up once and never tuned.
I help engineering teams find that spend without re-architecting anything. Worth a quick 15-minute call to walk through the three line items I'd check first?
Open to next Tuesday or Wednesday afternoon?
Best,
Jordan
Plug into the stack you already run.
Connect Gmail, Microsoft 365, your CRM, Slack and Zapier over OAuth. Tokens are encrypted at rest and every webhook is HMAC-signed.
Send and sync through your Google Workspace mailboxes.
Send and sync through Outlook and Exchange Online mailboxes.
Real-time alerts for positive replies, bounces, and deliverability.
Push positive replies and new leads straight into your CRM.
Sync leads, contacts, and email activity to Salesforce.
Triggers and actions across 8,000+ apps.
HMAC-signed event delivery to your own endpoint.
On-demand lead sync from a spreadsheet into your contacts.
The whole workspace, in your pocket.
Replies classified as they land, campaigns you can pause from anywhere, mailbox health at a glance. SwiftUI, in the same open-source repo, on the same realtime socket as the dashboard.
[email protected]: Thursday 10am works for me, send over an invite
When this happens, do that.
Every reply, booked meeting, bounce and warmup dip is a trigger. Wire it to your stack on a canvas: branch on intent, post to Slack, open the deal, update the CRM. The one below is running its test right now. Press Test in the window to fire it again.
One IF chip routes on intent, confidence, source, or a random split. Yes goes right, no goes down, and the no path is still yours to wire.
Seven built-in actions plus Slack, Discord, HubSpot, Salesforce, Pipedrive, Close and HMAC-signed webhooks. No keys to paste for automation tools.
Dry-run any automation against a sample event and read every node verdict, yes or no, before the switch ever flips.
An API you can build a product on.
Everything in the dashboard is a REST endpoint: scoped API keys, idempotent writes, opaque cursors, and HMAC-signed webhooks.
curl https://api.warmbly.com/v1/campaigns \
-H "Authorization: Bearer wmbly_live_a1…" \
-H "Content-Type: application/json" Pass the secret as a Bearer header. Every request returns rate-limit headers (X-RateLimit-Limit, X-RateLimit-Remaining) so well-behaved clients can self-throttle before hitting 429.
{
"id": "cmp_01HQX9F7P3A8KY",
"status": "scheduled",
"daily_cap": 50,
"created_at": "2026-06-06T14:02Z"
} Events post to your endpoint with an X-Warmbly-Signature header. Verify the HMAC-SHA256 digest before you trust the body.
From positive reply to closed won.
When a reply lands positive, Warmbly opens the deal and pauses the sequence on its own. From there you get one timeline that threads every send, open, reply, and stage change back to the exact sequence step that started it.
Stratech
- just nownote Ben Hsu
Logged a call with Rowan. Sending the seat-tiered proposal.
- 2m agoreply Rowan Cole
Replied positively. Classified Positive, sequence auto-paused.
- 2m agostage system
Deal opened in Qualified, linked to the reply.
- 2m agoFollow-up Ben Hsu
Auto-created from the reply, due Jun 10.
- Jun 05note Ben Hsu
Two opens on the Step 02 thread, no reply yet.
- Jun 05send sequence
Step 02 soft follow-up, variant B, from [email protected].
- Jun 04open system
Opened Step 01, tracked near San Francisco.
- Jun 02send sequence
Step 01 initial outreach, variant A, from [email protected].
The latest from Warmbly.
New features, changes and fixes in the order they reached production. Every entry links to its pull request.
View full changelogRead the code. Run it yourself.
See exactly how warmup, sending and deliverability work, self-host the whole platform on your own infra, and send a pull request when something should be better.
Self-hosting is free, and you still get the warmup. When Warmbly Cloud launches, link your instance and we warm your mailboxes in the same shared pool the cloud uses: free for up to 10 mailboxes, $15 a month for unlimited. How linking works.
One template. A different email for every recipient.
Every step is a template rendered at send time. Merge fields, conditionals, helpers and spintax resolve per recipient, and the composer shows the exact result before you launch.
{Hi|Hey|Hello} {{.FirstName | default "there"}},
{{if eq .role "Engineer"}}we built this for
teams like yours.{{else}}thought this might
be useful for {{.Company}}.{{end}} Hey Alex, we built this for teams like yours.
Hi Jenna, thought this might be useful for Northwind.
Hello there, thought this might be useful for Brightco.
Every field, including yours
Standard fields plus every column from your CSV import. Keys with spaces or dashes work everywhere, even inside conditions.
{{.job title}} Helper functions
Case and string helpers, arithmetic, and numeric compares that coerce strings, so number-like fields just work.
{{if gtf .employees 50}} Spintax, nested
Alternation groups resolve innermost first and nest freely. Subjects spin too, so no two sends read identical.
{Hi|Hey {there|again}} A/B variants per step
Test variants of any step. The original and every variant share the same editor, preview and content score.
Variant B · 50% Previewed with the real engine
The composer renders your template with the actual send engine against sample data. Conditionals, functions and spintax all run.
Hey Alex, Validated before launch
A broken {{if}} blocks the campaign and unresolved tokens get flagged. A failing render falls back to plain substitution, never a lost send.
if: missing {{end}} Defaults that protect reputation.
Cold-email platforms typically optimise for volume. Warmbly optimises for sender reputation. The numbers below ship as defaults and the system enforces them.
The default cap. Raising it takes proof, not a request.
600 seconds minimum between two emails from one mailbox.
we quarantine 80%
others react
A mailbox is pulled at 10% spam placement, not 80%.
One more email per day. Elsewhere: full volume on day one.
A mailbox does not send until its auth records check out.
Every number on this page is open source. Elsewhere: trust us.
Warmup, sending, inbox, engineered together.
The signal one part collects is the signal the next part acts on.
Every reply lands in one place
Replies from all of your sending addresses arrive together, already sorted by what the person actually said.
Mailboxes that warm themselves up
New addresses start slow and build real sending history on their own, so your first campaign is not your first impression.
Follow-ups that end at "yes"
Each step branches on what the person did. Answer once and the rest of the sequence is cancelled automatically.
See if you landed in the inbox
We test where your mail actually arrives at each provider, so you find out before your reply rate does.
Hi {{first_name}}Jenna,
Saw {{company}}Northwind is hiring across {{team}}support. We keep outreach out of the spam folder for teams that size.
Worth a look?
Written once, personal to everyone
Pull real details from your contact list so each person gets their own version, without writing each one.
Pay for what you send.
The number on each card is daily send volume. Warmup, the unified inbox, analytics, CRM and the API are in every paid plan.
Starter
Great for small businesses with a small budget.
/ month · billed yearly
Save $72 a year
- Unlimited warmup
- Unlimited mailboxes
- Unified inbox with reply detection
- Sequences that stop on reply
- Inbox placement monitoring
Grow
Ideal for growing businesses scaling their outreach.
/ month · billed yearly
Save $216 a year
- Everything in Starter
- CRM with pipelines and deals
- A/B variants per step
- Bulk contact import
- API and signed webhooks
Business
Most popularFor established teams that need higher limits and advanced features.
/ month · billed yearly
Save $792 a year
- Everything in Grow
- Sending kept apart from other customers
- Team roles and permissions
- Full audit log
- Priority support
Enterprise
Large orgs with custom volume and dedicated support.
/ month · billed yearly
- Everything in Business
- Custom volume and contract
- BYOK encryption · SSO / SAML
- Custom data residency
- Dedicated CSM
Self-hosting is free. When Warmbly Cloud launches, link your instance and we warm up to 10 of your mailboxes in the shared pool at no cost, unlimited for $15 a month.
Send cold email people actually open.
Connect a mailbox, warm it up, send your first campaign today.