Senlo vs Loops
A Loops alternative that runs on your own email provider.
If you use Loops for product email, Senlo does the same job: a visual editor, a transactional API and automations triggered by events from your app. The difference is underneath. Loops delivers the mail and bills by contact; Senlo hands each message to the Resend, Postmark or SES account you already have, and is open source.
You bring the provider
Loops sends for you, which is simpler if you have nothing set up. Senlo needs a Resend, Postmark, SES or SMTP account, and in return your domain, logs and sending bill stay with a provider you chose.
Pay for sends, not contacts
Loops bills by the contacts in your automations, so a big list of free users on a welcome flow costs money (recipients who only get transactional email are free). Senlo Cloud counts emails sent; self-hosted Senlo costs a server plus your provider's rate.
Flows that talk to your API
A Senlo automation can call your own endpoint, branch on the answer and update the contact.
Feature by feature
Where they overlap, and where Loops does things Senlo does not try to.
| Feature | Senlo | Loops |
|---|---|---|
Visual email editor | ||
Transactional API with templates and variables | ||
Event-triggered automations with waits and branches | ||
Call your own API mid-flow and branch on the answer Loops workflows have no webhook or HTTP step. | ||
Update a contact from inside a flow | ||
Merge tags and conditional content | ||
Template history you can roll back to Loops keeps a draft and a published version. Senlo has undo and redo while you edit; saved versions are on the roadmap. | ||
Sends through your own provider (Resend, Postmark, SES, SMTP) | ||
Delivery included, no provider to set up With Senlo you need a Resend, Postmark, SES or SMTP account. | ||
Open source, self-hosted on your own database Senlo is AGPL-3.0. | ||
Newsletters and broadcasts to segments | ||
A/B tests and signup forms | ||
Team members Loops has unlimited seats on every plan. Senlo Free is one person; Pro has five with roles and an audit log, Team unlimited. |
What it costs
Loops includes delivery; Senlo's columns add the provider's bill so the totals compare. We assume each contact in your automations gets five emails a month, so 2,000 contacts send 10,000.
| Per month | Loops | Senlo Cloud + Resend | Senlo Cloud + SES | Self-hosted Senlo + SES |
|---|---|---|---|---|
| 3,000 emails, 600 contacts | $0 | $0 | $0.30 | ≈ $8.30 |
| 10,000 emails, 2,000 contacts | $49 | $39 | $20 | ≈ $9 |
| 50,000 emails, 10,000 contacts | $99 | $39 | $24 | ≈ $13 |
| 200,000 emails, 40,000 contacts | $249 | $219 | $79 | ≈ $28 |
- Loops: Free up to 1,000 contacts and 4,000 sends a month; Growth from $49 for 5,000 contacts with unlimited sends, billed by subscribed contacts. Contacts who only get transactional email do not count, so the numbers assume the contacts are in your automations. Checked 2026-11-02, loops.so/pricing.
- Senlo Cloud: Free up to 3,000 emails, Pro $19 up to 50,000 emails, Team $59 up to 250,000 emails and 100,000 automation runs (pricing); above that, self-host. Above that, self-host for about $8 plus your provider, or write to us.
- Resend transactional plans, checked 2026-11-02 (resend.com/pricing). Amazon SES at $0.10 per 1,000 emails, checked 2026-11-02 (aws.amazon.com/ses/pricing).
- Self-hosted: about $8 for a 4 GB VPS, plus your time on upgrades and backups. Count that time honestly; for a small team it is often the reason to pick the hosted version.
What people said about contact pricing
From the Launch HN thread, linked to each comment.
“Why not just make it $x amount per email? … This whole contact stuff feels very nickle and dimey.”Hacker News, Launch HN: Loops, 2023
“First of all, it's very difficult to guess what "contacts" are when considering transactional emails.”Hacker News, Launch HN: Loops, 2023
“I don't have any interest in per contact pricing. … We have a ton of users who don't pay us very much.”Hacker News, Launch HN: Loops, 2023
Which one to pick
Pick Senlo if
- You already have Resend, Postmark or SES and want your email to go through it.
- You have many contacts who get few emails, and per-contact pricing hurts.
- Your flows need to ask your own API what the user did before the next step.
- You want the code on GitHub and the option to run it all on your own server.
Stay with Loops if
- You do not want to set up a sending provider at all.
- You send newsletters and broadcasts, not only product email.
- You want A/B tests, signup forms and unlimited seats out of the box.
- A non-technical team runs email and never needs a webhook in a flow.
Moving from Loops
Run both side by side and move one email or flow at a time.
- 1
Connect a provider
Paste a Resend or Postmark key, or SMTP credentials for SES, Mailgun or your own server, and verify your domain there.
- 2
Rebuild the templates
In the visual editor, with merge tags and conditions. There is no importer from Loops yet.
- 3
Swap two API calls
Transactional sends go to POST /api/triggered, contact events to POST /api/events.
- 4
Redraw the workflows
Recreate each loop on the canvas, run it next to the old one for a week, then switch the old one off.
Questions
- Do I need my own email provider?
- Yes. Senlo does not send mail itself: it renders, personalizes and decides, then hands the message to your Resend, Postmark, or SMTP account (SES, Mailgun, your own server). If you have no provider and do not want one, Loops is simpler.
- Why would I want that?
- Your domain's reputation, your sending logs and your bill stay with a provider you chose, at its per-email rate. You can switch providers without rebuilding templates, and the templates themselves live in Senlo, or in your own database if you self-host.
- Can Senlo send newsletters?
- No. Senlo is for email your product triggers: transactional messages and lifecycle sequences. For newsletters and broadcasts to segments, keep Loops or use a marketing tool next to Senlo.
- Can I import my templates from Loops?
- Not yet. Templates are rebuilt in Senlo's editor, which takes a few minutes for a typical transactional email. Replace calls to Loops' transactional endpoint with POST /api/triggered and its events endpoint with POST /api/events.
- How does Senlo count usage?
- Senlo Cloud counts emails sent and automation runs, not contacts. Free is 3,000 emails a month for one person; Pro is 50,000 emails for $19 a month, Team 250,000 for $59. A large list of free users who rarely get an email costs nothing.
- Is self-hosting really free?
- The code is free (AGPL-3.0) and runs with one docker compose up. You pay for a small server and your provider's per-email rate, and you spend your own time on upgrades and backups. The hosted version exists for teams that would rather not.
More comparisons
Senlo next to other products, with the same honesty about what it does not do. All comparisons.
Senlo vs Customer.io
For teams that use Customer.io for transactional email and onboarding flows and pay per profile for a marketing suite around it.
Senlo vs Brevo
For products that use Brevo for transactional email and onboarding flows, not campaigns, and want their own provider and no contact caps on the tier.
Senlo vs Mandrill
For teams on Mailchimp Transactional who pay for a Mailchimp plan only to keep Mandrill, and want templates that are not tied to the sender.
Senlo vs React Email
For teams that write emails as React components and want people who do not write code to edit them without a pull request and a deploy.