The Black Friday sale: $100 off Mimeo. Buy now →

For multi-step flows, Mimeo is the listmonk alternative: powerful email automation you fully control, on your own server like listmonk. A flow starts on any event, such as a signup, a purchase or something in your app, and sends each person their own sequence. Your agent or your team runs it from an easy web UI, on one SQLite database, sending through your own Postmark or Resend account. If you want a free tool and don't need multi-step flows, listmonk is a good pick: it sends campaigns to whole lists, with no built-in sequences today.

At a glance

Mimeo runs multi-step flows on any event, from your agent or the dashboard, on one SQLite database; listmonk is free and sends campaigns to whole lists.

DetailMimeolistmonk
AutomationsFlows on any event, sales included, with branches, waits and gates; sequences; dry run against a real personTested · · Flows, SequencesNone built in: campaigns and single transactional sends; no sequencesTested · · Feature request: automated email sequences (maintainer reply), Per-list welcome emails (closed by the maintainer)
Check before it sendsValidate, then a dry run for a real subscriber; test sendTested · · Flows, EmailsCampaign preview and test sendCampaigns API ·
Checks as it sendsGuards check every email at the moment it sendsTested · · GuardsSkips people unsubscribed from the list; double opt-in lists send only to confirmed people; other send-time conditions not stated in its docsConcepts ·
Agent accessHTTP API, MCP server at /mcp, CLI (bin/mimeo)HTTP API; no official MCP server (a community one exists); no management CLIAPI, SDKs and libraries, Installation ·
Runs onA Rails app with one SQLite database, on your serverOne Go binary plus PostgreSQL 12+Installation, Releases ·
Sends throughYour own Postmark or Resend accountSMTP (Postmark preset and others); HTTP messengersTested · · listmonk.app
Signup formsYour site, store or agent sends a signup eventTested · · Getting startedHosted subscription form, single or double opt-inTested · · listmonk.app
Price$499 onceFreelistmonk.app ·
What the price includesA year of support & updates, then $199/yr, optional; Mimeo keeps working if you cancelEvery release free; the project sells no hostinglistmonk.app ·
What one license coversOne installation: one Mimeo on one domain, with one listNo license limit (AGPL-3.0)LICENSE (AGPL-3.0) ·
Refund14-day money-back guaranteeNot applicable: freelistmonk.app ·
Source licenseCommercial license, bought once; not open sourceAGPL-3.0, open sourceLICENSE (AGPL-3.0) ·

Where Mimeo is the better pick

Mimeo fits you when flows carry your email: any event can start one, each person gets their own sequence, and your agent or your team runs them. Dry runs and guards are how you stay in control of each change.

Multi-step flows on any event. A flow starts when any event arrives from your site, store or app, such as a signup or a purchase; any platform that can send a webhook can start one, sales included. It can wait, branch, tag people and start a sequence for that one person, each email on its own delay. People already on your list aren't swept in: in the test, 1 of 201 people entered the welcome flow, the one who signed up. listmonk has no built-in sequences today. Its maintainer wrote in December 2024 that "this level of automation is not planned for listmonk", and in July 2026 pointed to webhook work as the foundation for a welcome-email feature; that work was still unmerged on November 5, 2026, and the 7.0 beta's notes name no sequences. Need a direct integration with Shopify, Klaviyo or another store? Get in touch.

Mimeo's Welcome sequence with three emails waiting 0, 1 and 3 days, switched on, set to single run ever.
Fig. 1 · Mimeo 0.3.4 · A three-email welcome sequence · test install, November 2, 2026
Mimeo's Newsletter welcome flow, live: when newsletter_signup happens, add the tag newsletter, then start the Welcome sequence, with the flow's definition beside the canvas.
Fig. 2 · Mimeo 0.3.4 · The flow that starts the sequence on a signup · test install, November 2, 2026

Your agent or your team, on the same flows. Your team works in the dashboard; your agent works on the same flows through Mimeo's HTTP API, its MCP server, or its CLI, which keeps flows and sequences as files and runs diff, validate, rehearse and apply, stopping at the first that fails. The validate and dry run below are two calls to the HTTP API, and the MCP server offers the dry run as a tool. listmonk gives an agent its HTTP API alone: no official MCP server (a community one exists) and no management CLI as of 6.2.0. Mimeo's checks are checks, not a lock: an operator token can still send.

One SQLite database, no database server. Mimeo runs as one app server with one SQLite database. listmonk needs a PostgreSQL 12 or newer server beside its binary.

Checks before and as it sends. Validate checks the flow, and a dry run walks it for one real person, saying what would happen and sending nothing. Once live, guards check each email again the moment it sends. listmonk's check is a preview and a test send of one campaign; a way to see who a send would reach, or when, is not stated in its docs, checked November 5, 2026.

POST /api/v1/flows/newsletter_welcome/validate, then dry_run · Output · test install · November 2, 2026
{"valid": true, "errors": [], "warnings": []}

triggered: true
- Trigger matches — this event would start a run for randa.schamberger.0@example-seed.com
  - Event is newsletter_signup [actual: newsletter_signup]
- **Would add the tag** newsletter
- **Would start** Welcome sequence (3 emails to send) and **wait here** until it finishes
- The rehearsal ends here. They would be standing at this step until Welcome sequence finishes, and a rehearsal can't fast-forward a sequence.

One welcome sequence, run in both

Mimeo sent all three welcome emails on their days; listmonk sent email 1 and had no way to send emails 2 and 3.

The test: a new signup gets email 1 at once, email 2 a day later and email 3 three days after that; an earlier subscriber gets none of it. Both sent through Postmark's test token, which delivers nothing.

Step Mimeo 0.3.4 listmonk 6.2.0
Signup An event from your site or agent Hosted subscription form or API
Email 1 (day 0) Sent by the sequence Only as a campaign to the whole list, or a transactional send you trigger
Emails 2 and 3 (days 1, 4) Queued at signup; sent when due No way to schedule per subscriber
Earlier subscriber Not enrolled Got the welcome campaign
Check before going live Validate and a dry run for a real person Test send of a campaign
What else you run for emails 2 and 3 Nothing: Mimeo's own jobs send them Your own scheduler calling its API

Mimeo: three emails queued at signup. The signup arrived as an event. Mimeo queued all three emails, each with its due time, and sent each when due. Days 1 and 4 were reached by moving the due times into the past.

Mimeo queue and sends · Output · test install · November 2, 2026
879 pending  due 2026-11-02 15:50:29Z  Welcome 1 of 3
880 pending  due 2026-11-03 15:50:29Z  Welcome 2 of 3
881 pending  due 2026-11-06 15:50:29Z  Welcome 3 of 3

Welcome 1 of 3  accepted  postmark  fd8851de-1d4b-4045-9336-772f1f9d2a7c  15:51:00Z
Welcome 2 of 3  accepted  postmark  054996f8-4aa8-4751-9f7b-8c32880ae874  15:52:00Z
Welcome 3 of 3  accepted  postmark  9f3555ed-0a29-4de3-a828-89a46be9c6e9  15:53:00Z
sequence run: completed 15:53:00Z
flow runs for newsletter_welcome: 1 of 201 people
Mimeo person page for ada@example.com: Welcome 1, 2 and 3 of 3, each scheduled by the Welcome sequence and accepted.
Fig. 3 · Mimeo 0.3.4 · The subscriber's three welcome emails · test install, November 2, 2026

listmonk, route 1: a campaign. A campaign goes to everyone on its lists at one time, so the welcome reached the earlier subscriber too.

listmonk API · Output · test install · November 2, 2026
$ curl -X POST /api/campaigns -d '{"name":"Welcome 1 of 3","subject":"Welcome to the newsletter","lists":[3],…}'
{"data":{"id":2,"name":"Welcome 1 of 3","status":"draft",…}}
$ curl -X PUT /api/campaigns/2/status -d '{"status":"running"}'
→ status finished, sent 2, to_send 2
15:33:01Z to=longtime@example.com subject='Welcome to the newsletter' 200 Test job accepted 6c98073b-…
15:33:01Z to=ada@example.com      subject='Welcome to the newsletter' 200 Test job accepted dbdecb76-…
listmonk's New campaign form: name, subject, from address, lists to send to, and one Send later switch for the whole campaign.
Fig. 4 · listmonk 6.2.0 · New campaign: one Send later time for the whole list · test install, November 2, 2026
listmonk campaign Welcome 1 of 3 marked Finished, sent to the Newsletter list.
Fig. 5 · listmonk 6.2.0 · The welcome campaign, finished · test install, November 2, 2026

listmonk, route 2: a transactional send. It sends one email to one subscriber at once. A send_at field was accepted and ignored: the email went out three seconds later, not the next day.

listmonk API · Output · test install · November 2, 2026
$ curl -X POST /api/tx -d '{"subscriber_email":"lin@example.com","template_id":5}'
{"data":true}
15:33:13Z to=lin@example.com subject='Welcome 1 of 3' 200 Test job accepted 8b8a91c4-…
$ curl -X POST /api/tx -d '{"subscriber_email":"lin@example.com","template_id":5,"send_at":"2026-11-03T15:00:00Z"}'
{"data":true}
15:33:16Z to=lin@example.com subject='Welcome 1 of 3' 200 Test job accepted edad9417-…

Emails 2 and 3 in listmonk: not sent. Nothing in listmonk sends an email to one subscriber a day after they join. To finish the sequence you would write and host your own scheduler that tracks who is at which step and calls the transactional API on days 1 and 4.

Where listmonk is the better pick

If you want a free tool and don't need multi-step flows, listmonk is a good pick: campaigns to whole lists at no license cost, with a signup form built in.

It's free and open source. listmonk is licensed under AGPL-3.0 and every release is free. Owning the server is a tie: both run on yours. The free license covers campaigns; sequences are a scheduler you build and run yourself.

It installs fast, with a signup form built in. listmonk is one Go binary plus PostgreSQL 12 or newer; in the test it installed in 2.3 seconds and idled at 43 MB, plus 43 MB for PostgreSQL. It serves a subscription form for your public lists, and a double opt-in list sends its own confirmation email. In Mimeo, your site or agent sends each signup as an event, and that same event can start a flow.

listmonk's hosted subscription form with an email field, an optional name field and the Newsletter list ticked.
Fig. 6 · listmonk 6.2.0 · The hosted subscription form · test install, November 2, 2026

It sends through any SMTP server, with presets for Gmail, Mailgun, Sendgrid, Postmark and others. Mimeo sends through your own Postmark or Resend account.

Which one fits you

Pick by what you send: flows that start for each person on any event, or campaigns to whole lists.

Choose Mimeo if

  • You need multi-step flows, such as a welcome or onboarding sequence for each new subscriber.
  • Any event should start them: a signup, a purchase, something in your app.
  • Your agent and your team should work on the same flows, through the API, MCP, CLI or dashboard.
  • You'd rather run one SQLite database than a PostgreSQL server.
  • You want to rehearse a flow for a real subscriber before it sends.

Choose listmonk if

  • Newsletters to whole lists are all you send, and you don't need multi-step flows.
  • You want free, open-source software.
  • You want a signup form built in, with double opt-in.
  • You want to send through any SMTP server.

Stay with listmonk if campaigns are all you send and you don't need multi-step flows.

Moving from listmonk to Mimeo

Moving gives you flows on any event, each person on their own sequence, run from your agent or the dashboard. The work is an export per list, an import that brings opt-outs across first, and rebuilding your emails.

1Export each list, and your opt-outs, from listmonk

listmonk's subscriber export is a CSV with uuid, email, name, attributes, status, created_at and updated_at. It has no column for which lists someone is on, so export one file per list, filtered by list. On a single opt-in list, a form signup can show as unconfirmed and still get campaigns (it did in the test), so don't filter those lists to confirmed only. Then export one more file: everyone unsubscribed from a list, plus everyone whose status is blocklisted. Split the attributes column into the custom fields you want.

2Import the opt-out file first

Import it with Import everyone as already unsubscribed turned on. This step matters: Mimeo reads unsubscribed as an opt-out, but it imports any other word, blocklisted included, as subscribed, and the report shows no error. Then import each list file, adding a tag for its listmonk list with Tags to add to every row; Mimeo holds one list, and tags and segments split it. An import never resubscribes anyone and triggers no automation by default. CSV import has every option; Migrate from Mailchimp or Kit walks through a full move.

3Rebuild your emails, and add the sequences

Rebuild listmonk campaigns as Mimeo broadcasts. Rebuild anything you scheduled yourself, such as a welcome, as a sequence started by a flow, or have your agent write them as files.

4Connect sending

Connect Postmark or Resend in Mimeo's settings.

5Point your signups at Mimeo

listmonk's subscription form doesn't move. Have your site's form, or your agent, send each signup to Mimeo's event API, and your store its purchases by webhook.

6Check, then cut over

Validate each flow, dry-run it for a real person and send yourself a test. When listmonk's last campaign has gone out, stop sending from it.

What it costs: the license is $499 once, with a year of support & updates from the people who build Mimeo, then $199 a year if you keep them; stop renewing and your version keeps working. Your server and sending provider are separate. If you'd rather not do it yourself, we offer Setup & Launch at $999 flat, or $1,399 with the license, which includes importing your list.

Limits

This compares one test install of each tool, not production use.

Both ran on November 2, 2026 with Postmark's test token, so no email was delivered; delivery, bounces and webhooks weren't tested. Days 1 and 4 were reached by moving times forward in each database. The listmonk 7.0 beta wasn't tested. listmonk's export and test send, and importing a listmonk file into Mimeo, are taken from their docs and code, not run.

Questions

Short answers to what buyers ask most.

Can listmonk send a welcome sequence?

Not built in today. In a test of listmonk 6.2.0 it sent email 1 and had no way to send emails 2 and 3 later; that takes your own scheduler calling its API.

Can an AI agent run listmonk?

Through its HTTP API. listmonk ships no official MCP server (a community one exists) and no management CLI. Mimeo has an API, an MCP server and a CLI.

Is Mimeo worth paying for when listmonk is free?

It depends on what you send. If you want a free tool and don't need multi-step flows, listmonk is a good pick. For welcome sequences and flows on any event, listmonk has none built in today. Mimeo is $499 once, with a year of support & updates. It runs those flows for each person, your agent or your team can change them, and dry runs and guards check them.

How do signups reach Mimeo?

As events. Your site, store or agent sends each signup to Mimeo, through the event API or by webhook, and a flow can start from it.

Buy now
Sources
  1. Test installs of listmonk 6.2.0 and Mimeo 0.3.4, run by Mimeo (output and screens on this page). Run .
  2. listmonk.app. Checked .
  3. LICENSE (AGPL-3.0). Checked .
  4. Concepts. Checked .
  5. Releases. Checked .
  6. Feature request: automated email sequences (maintainer reply). Checked .
  7. Per-list welcome emails (closed by the maintainer). Checked .
  8. API. Checked .
  9. Campaigns API. Checked .
  10. Subscriber export (v6.2.0 source). Checked .
  11. Installation. Checked .
  12. SDKs and libraries. Checked .
  13. Flows. Checked .
  14. Sequences. Checked .
  15. Deploy Mimeo. Checked .
  16. Sending providers. Checked .
  17. API. Checked .
  18. MCP. Checked .
  19. CLI. Checked .

We make Mimeo. We check every claim against the competitor's own pages and update this page when they change.

Powerful email automation you fully control.

Buy now