Product emails, reimagined

Event-driven email workflows for SaaS products

Send one event from your app. Let else.events choose the right template, render the right message and send it through your email provider.

Why hardcoded transactional emails slow you down

Every new product email means touching your codebase, redeploying and hoping nothing breaks.

Templates buried in code

Changing a subject line requires a pull request, a review and a deploy.

No central overview

Email logic is scattered across services, background jobs and route handlers.

Deployment risk for copy changes

A typo fix in an email footer triggers a full release cycle.

Locale and plan variants multiply code

Supporting German users or a Pro plan upgrade path doubles your conditional logic.

One event. The right email. Every time.

POST a domain event, else.events matches rules, renders the template and delivers through your provider.

Rules, not code

Match by event type, plan, locale or any payload field. No if/else in your app.

Templates outside your codebase

Edit copy, swap logos, add locales — zero deploys required.

Provider-independent delivery

Use Postmark, SMTP or any compatible provider. Switch with one config change.

Full delivery log

Every event, every matched rule, every sent email — queryable from the dashboard.

// example event

One POST. Your provider delivers.

{
  "type": "invoice.payment_failed",
  "user": { "email": "customer@example.com", "name": "Alex" },
  "data": {
    "plan": "Pro",
    "amount": "29.00",
    "currency": "EUR",
    "update_payment_url": "https://app.example.com/billing"
  }
}

else.events matches this event, selects the correct template, renders the localised message and sends it through your configured provider.

What SaaS teams send through else.events

invoice.payment_failed

Payment failed

Trigger dunning flows without writing retry logic yourself.

trial.ending_soon

Trial ending soon

Remind users before their trial expires with a personalised upgrade CTA.

team.invited

Team invitation

Send branded invite emails with a single event from your invite handler.

subscription.cancelled

Subscription cancelled

Acknowledge cancellations and surface win-back offers automatically.

user.signed_up

User signed up

Welcome new users with onboarding steps tailored to their plan.

How an email gets out

  1. 01

    Send an event

    POST any domain event to /api/events. The JSON payload carries the recipient and whatever context your templates need.

  2. 02

    Rules match

    Rules evaluate conditions over the payload — event type, plan, locale or any custom field. One event can trigger multiple rules.

  3. 03

    Template renders and ships

    The MJML template is rendered with brand variables and locale resolved at runtime. Your configured provider delivers the email.

Why else.events

Templates outside your codebase

Product and design teams edit copy without opening a pull request.

Provider-independent

Postmark today, SMTP tomorrow. One config change, no code change.

EU-hosted

Recipient data is hashed by default. No contact lists to sync or maintain.

First-class rule engine

Route by plan, locale, tenant or any payload field — no custom middleware.

Frequently asked questions

Does else.events replace my email provider?
No. else.events sits between your app and your provider. Postmark, SMTP or any compatible provider still delivers the email — else.events handles routing, templating and rules.
Do I need to sync my users to else.events?
No. Recipient data lives in your database. else.events receives it per-event and stores only a hash in the delivery log.
What happens if no rule matches an event?
The event is logged but no email is sent. You can configure a catch-all rule or inspect unmatched events in the dashboard.
Can I use else.events with any tech stack?
Yes. The API is plain HTTP/JSON. Any language or framework that can make a POST request integrates in minutes.
Is this a newsletter or marketing tool?
No. else.events is built for product and transactional emails — password resets, billing notifications, onboarding flows. Not for broadcast campaigns or contact lists.

Start building your email workflow

Send your first event in under five minutes. No credit card required.

  • Free during public beta
  • No contact list to sync
  • EU-hosted