Open source · AGPL-3.0

Templates and automations for transactional email.

Senlo sits on top of the delivery provider you already pay for: Resend, Postmark or any SMTP server. You get a visual editor, lifecycle automations and a clean API. Your provider keeps delivering.

Free for one person: 3,000 emails a month, no card.

How it works

1

Connect your provider

Paste a Resend or Postmark key, or SMTP credentials for SES, Mailgun or your own server. Senlo never sends from its own infrastructure: your domain, your reputation, your provider's bill.

2

Build the template

Drag rows and blocks, add merge tags and conditions, preview with real data. Every template is versioned and lives in a workspace, so staging and production stay apart.

3

Trigger it, or let an automation

One request sends a transactional email from a template. One event starts an onboarding sequence that waits, checks your API and branches.

Send one email from a template
curl -X POST https://senlo.io/api/triggered \
  -H "Authorization: Bearer snl_..." \
  -H "Content-Type: application/json" \
  -d '{
    "id": "order-confirmation",
    "to": "customer@example.com",
    "data": {
      "order": { "number": "A-1049", "total": "42.00" }
    }
  }'
Start an automation
POST /api/events
{ "type": "contact_added", "email": "new@example.com" }

→ creates the contact and starts every automation
  whose trigger listens for contact_added

A visual editor your team can use

Rows, columns, merge tags and conditions, with versions you can roll back to. Developers get the same template through the API; nobody writes MJML by hand.

A visual editor your team can use

Automations that branch on your own data

Send, wait, then ask your API whether the user did the thing and take a different path. Every node shows how many contacts are in it right now.

Automations that branch on your own data

Delivery you can actually see

Sends, deliveries, bounces and engagement per workspace, a live feed of what went wrong, and suppressions before a bad address hurts your reputation.

Delivery you can actually see

An API, not a black box

Two endpoints do the work: one sends a transactional email from a template, the other feeds contact events into automations. The interactive reference lives at /api-docs.

An API, not a black box

Not another email provider

Resend, Postmark and SES are good at delivering mail. They are not where your team wants to edit a template, version it, or draw an onboarding sequence. Senlo is that layer: it renders, personalises, tracks and decides, then hands the message to the provider you chose. Switch providers without touching a template.

Open source, two ways to run it

Senlo is AGPL-3.0 on GitHub. Self-host it with one docker compose up and keep everything on your servers, free. Or sign up here and skip the Postgres, Redis, worker, backups and upgrades: the same product, hosted, with teams and roles on top.

Free
$0/month
Free for one person, no card
  • 3,000 emails a month
  • 1,000 workflow runs a month
  • 1 member (just you)
  • 3 workspaces
  • No audit log
  • Every provider: Resend, Postmark, SMTP
  • Visual editor, automations, API
Pro
$19/month
or $15/month billed yearly
  • 50,000 emails a month
  • 10,000 workflow runs a month
  • 5 members
  • Unlimited workspaces
  • 30-day audit log
  • Every provider: Resend, Postmark, SMTP
  • Visual editor, automations, API
Team
on request
For more than 5 people or more volume

Unlimited members, higher monthly limits, a longer audit log. Write to us from the app when Pro gets tight.

Your templates, your automations, your provider.

Sign up, paste a provider key, send the first email in ten minutes.

Senlo — templates and automations for transactional email