Open source · MITSelf-host or use ours

Your B2B email campaigns, free and simplified.

Hedwig sends multi-step email sequences from the mailboxes you already own and labels every reply. You can control it and analyze your campaigns from Claude Code or Codex.

The Campaigns screen, light theme. Example data.
$0 a monthMCP for Claude Code and Codex
Compare

Same job.
No invoice.

Sequences, stop on reply, daily limits, even an MCP server: every tool here has them now. The difference is who owns the software and what it costs. Slide to the size of your list.

5,000

A 3-step sequence, so three emails per contact: 15,000 emails a month.

Instantly · Hypergrowth · $97 a month $1,164 a year

Hedwig: $0 for the same contacts and emails.

the free one ↓
At 5,000 contacts HedwigMIT, free InstantlyHypergrowth SmartleadPro lemlistEmail
Cost and ownership
Price per month $0self-hosted or on flyhedwig.com $97$1,164 a year $94$1,128 a year $69$828 a year
Contactson that plan No cap 25,000 30,000 Unlimited
Emails a monthon that plan No capyou set a daily limit per mailbox 125,000 90,000 50,000
Source code you can read MIT No No No
Runs on your own serveryour database, your keys Yes No No No
Agents
Claude Code and Codexthrough an MCP server Yes Yeswith an API key From $94Pro plan, with an API key Yessign in or API key
Your agent can change the tool Yesthe repo ships a CLAUDE.md No No No
AI replies to leads Drafts onlya person always presses send Can auto-sendAutopilot, from $97/mo Draftsauto-send listed as coming soon Draftswrites replies for you to send
Sending
Connected mailboxes Unlimited Unlimited Unlimited Unlimited
Window, daily limits, ramp-up Yeslimit per mailbox, shared across campaigns Yes Yes Yes
Stops on reply, bounce, unsubscribe Yes Yes Yes Yes
Agents

Your agent runs
the campaign.

Hedwig is an MCP server. Add it once to Claude Code or Codex, sign in, choose what the assistant may touch, then ask in plain words. And since the code is yours, the same agent can change Hedwig itself.

Add the server

$ claude mcp add --transport http hedwig https://flyhedwig.com/mcp
# then type /mcp in a session to sign in
Self-hosting? Use your own address, ending in /mcp.

Sign in, pick permissions

Your browser opens Hedwig's sign-in. You choose one workspace and what the assistant may do. Launching a campaign and sending a reply are separate permissions; untick them and it can only read and draft.

Ask

  • Pause the roasters campaign, add these 200 contacts, show me step 2 for the first one.
  • Who replied interested this week? Draft answers, I'll send them.
  • Compare this month with last: replies per step and per mailbox.
  • Which mailbox bounces most? Drop its daily limit to 20.
What it does

Everything a cold
email tool needs.

And nothing you pay for per seat. Six things it does every day, with the actual numbers it uses.

Your mailboxes

No relay

Any provider with IMAP and SMTP connects with the mailbox password; the servers are found from the domain's MX record. Microsoft 365 connects with Microsoft's own sign-in.

Passwords and tokens are encrypted at rest with AES-256-GCM. SPF, DKIM and DMARC are checked daily, with the exact record to add.

SPFDKIMDMARC

Sequences

12 steps

Import a CSV or Excel file of any size, map columns to variables, dedupe against the campaign and your suppression list.

Write up to twelve steps with {{firstName|there}} variables and fallbacks. Follow-ups land in the same thread. Preview with real rows, send yourself a test.

Pace

Never a burst

A sending window in the campaign's timezone. A daily limit per campaign and per mailbox, shared across campaigns. New mailboxes start at 10 a day, +5 a week.

30 sends, 09:00–17:00, spread with jitter

Replies

Every 2 min

Every inbox is read every two minutes. A reply stops the sequence. A bounce stops it and suppresses the address. Out-of-office notes are recognized and, by default, ignored.

A mailbox pauses itself when bounces reach 5% of a week's sends.

Reply agents

Drafts, never sends

Set up your own agents: who you are, your tone, what never to promise. Each campaign picks one. It labels every reply and writes a draft for the interested ones, the meetings and the questions.

CloserLabel + draft
We roast in small batches in Portland. Short and friendly. Never promise a delivery date.

You edit the draft in the Inbox and press send. An agent never sends by itself.

Honest numbers

Counted, not guessed

Sent, opens, replies, bounces and opportunities per day, step, mailbox and campaign. Every number on screen is a count of real events.

Opens from mail scanners are discounted, so an open rate isn't just your send count. People who open more often than you emailed them get flagged curious.

Promises

Three things it
never does.

✗ Relay your mail

Every email leaves through your mailbox’s own SMTP or Microsoft Graph. No SendGrid, no SES.

✗ Reply for you

Agents label and draft. A person reads it and presses send.

✗ Bill you

MIT licensed. Free on flyhedwig.com, free on your own server.

Get started

Two ways in.

Same code either way. Start on flyhedwig.com, move to your own server whenever you like.

Hosted

Use flyhedwig.com

Make an account, connect a mailbox, send today. Mail still leaves from your own mailbox, never from ours.

Sign up free →
Self-hosted

Run it yourself

$ git clone https://github.com/gabrilator/hedwig && cd hedwig
cp .env.example .env
docker compose up -d --build

Put HTTPS in front, set ORIGIN to your address, and you're done. Any VPS works, or any platform that builds from a repository.

Read the README →