Senlo vs Customer.io

An open-source Customer.io alternative for product email.

If you use Customer.io for transactional emails and onboarding sequences, Senlo does that part: a visual editor, event-triggered automations and an API, on top of the Resend, Postmark, SES or SMTP account you already have. Self-host it or start free. Your templates and contacts stay yours, and so does the choice of provider.

Same job, narrower scope

Templates, triggered emails and automations that wait, check and branch. No SMS, push, broadcasts or data pipelines: Senlo does product email and nothing around it.

Your provider delivers

Senlo hands every message to your own Resend, Postmark or SES account: your domain, your reputation, your sending bill. Change providers from the settings, not in every template.

Pay for sends, not profiles

Customer.io prices by the profiles you store. Senlo Cloud counts emails sent, and self-hosted Senlo costs a server plus your provider's per-email rate.

Feature by feature

Where the two overlap, and where Customer.io simply does more.

FeatureSenloCustomer.io
Visual email editor
Transactional API: send a template with variables
Event-triggered automations with waits and branches
Senlo can also call your own API mid-flow and branch on the answer.
Merge tags and conditional content
Template history you can roll back to
Senlo has undo and redo while you edit; saved versions are on the roadmap.
Sends through your own provider (Resend, Postmark, SES, SMTP)
Customer.io can send through your own SMTP server, without feedback on bounces and complaints. Senlo reads bounce and complaint webhooks from Resend and Postmark; over plain SMTP neither product gets them.
Open source, self-hosted on your own database
Senlo is AGPL-3.0.
Team roles and audit log
On Senlo Pro and Team.
Newsletters and broadcasts to segments
SMS, push and in-app messages
A/B tests on messages
Data pipelines (CDP) to your warehouse and ad tools

What it costs

Customer.io's price includes delivery; Senlo's columns add the provider's bill so the totals compare. We assume each contact gets five emails a month, so 2,000 contacts send 10,000.

Per monthCustomer.io EssentialsSenlo Cloud + ResendSenlo Cloud + SESSelf-hosted Senlo + SES
3,000 emails, 600 contactsfrom $100$0$0.30≈ $8.30
10,000 emails, 2,000 contactsfrom $100$39$20≈ $9
50,000 emails, 10,000 contactsfrom $145$39$24≈ $13
200,000 emails, 40,000 contactsfrom $415$219$79≈ $28
  1. Customer.io: Essentials from $100 a month for 5,000 profiles, billed by profiles stored (deleted ones in the billing cycle count too), 1M emails included. No free plan; a 14-day trial. Checked 2026-11-02, customer.io/pricing.
  2. 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.
  3. 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).
  4. 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.

Why people look for an alternative

In their words, linked to the source.

“The pricing model didn't make sense for our growing company, as you pay for all the contacts in your account, regardless of if they're active or not.”
VP Marketing, Capterra review, 2025
“What I dislike about Customer.io is the email editor, which feels a bit unintuitive. The block system sometimes forces you to take small detours to get the result you want, which slows things down when building or tweaking a template.”
G2 review, 2026
“The biggest downside is the learning curve for advanced automation and integrations. Some features can be confusing to first time users and costs can add up as your audience grows.”
G2 review, 2026

Which one to pick

Pick Senlo if

  • Your emails are triggered by your product: sign-up, trial, invoices, password resets, onboarding.
  • You already pay Resend, Postmark or SES and do not want a second sending bill.
  • You want templates and contacts in a database you control, and code you can read.
  • You pay per profile for contacts who get a handful of emails a year.
  • Developers and the rest of the team should edit the same templates.

Stay with Customer.io if

  • You need SMS, push or in-app messages next to email.
  • Marketing sends newsletters and broadcasts to segments. Senlo does not do broadcasts.
  • You want a CDP that feeds your warehouse and ad tools.
  • A marketing team owns lifecycle end to end and relies on built-in A/B tests and reporting.
  • You do not want to set up or pay for a sending provider at all.

Moving from Customer.io

You can run both side by side and switch flow by flow.

  1. 1

    Connect a provider

    Paste a Resend or Postmark key, or SMTP credentials for SES, Mailgun or your own server.

  2. 2

    Rebuild the templates

    In the visual editor, with merge tags and conditions. There is no importer from Customer.io yet.

  3. 3

    Point your events at Senlo

    Send transactional emails with POST /api/triggered and contact events with POST /api/events.

  4. 4

    Redraw the flows

    Recreate each campaign on the canvas, run it next to the old one for a week, then switch the old one off.

Questions

Is Senlo a full Customer.io replacement?
No. Senlo covers the product-email part: transactional emails, onboarding and lifecycle sequences triggered by events from your app. It has no SMS, push, in-app messages, newsletters to segments or data pipelines. If you use Customer.io for those, keep it, or keep it for those and move transactional email to Senlo.
Does Senlo send the email itself?
No. Senlo renders the template, personalizes it and decides when to send; your provider (Resend, Postmark, or SMTP for SES, Mailgun or your own server) delivers it from your domain. Deliverability, IPs and the sending bill stay with the provider you chose, and you can switch providers without touching a template.
Can I import my templates from Customer.io?
Not yet. Templates are rebuilt in Senlo's editor; a typical transactional email takes a few minutes. Contacts and events come in through the API: point the calls that feed Customer.io at POST /api/events and new contacts start your automations.
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.
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 with a team, Team 250,000 for $59 with unlimited members. A contact who gets two emails a year costs nothing.
Where is my data on the hosted version?
On Senlo's own servers in a Postgres database, with provider credentials encrypted at rest. Your provider receives the rendered message and the recipient, nothing else. The privacy page names the hosting provider and location.

Keep your provider. Own your templates.

Sign up, paste a provider key, send the first email in minutes. Or self-host it today.

Open-source Customer.io alternative for product email — Senlo