Developer-first email infrastructure

Transactional email API that manages your templates too

Most email APIs let you send. else.events lets you send and manage — templates, locales, versions and routing rules live outside your codebase.

Why a send-only email API is not enough

Templates end up in your codebase

With a raw email API you still build template rendering, variable injection and localisation — in your own code.

Copy changes require deployments

Changing a subject line or CTA button text means a commit, a review, a deploy. Every time.

No version history or rollback

When a template change breaks something, you have no audit trail and no rollback unless you built one yourself.

Multi-locale handling is manual

Supporting German and French transactional emails with a raw API means maintaining parallel template sets in your repo.

One API call. Templates, locales and versions managed externally.

POST an event, not a template

Your app fires a typed event. else.events selects the right template, injects variables and delivers through your provider.

Edit templates without touching the codebase

Marketing, product or support can update copy in the else.events UI. No deploy needed.

Full version history per template

Every change is versioned. Roll back to a previous version in one click if something goes wrong.

Locale routing built in

Include a locale in the event payload. Rules route to the correct language template automatically.

// POST /api/events

Send a transactional email via the else.events API

POST https://api.else.events/v1/events
Authorization: Bearer <api_key>

{
  "type": "user.password_reset_requested",
  "locale": "en",
  "user": { "email": "user@example.com", "name": "Alex" },
  "data": {
    "reset_url": "https://app.example.com/reset?token=abc123",
    "expires_in_minutes": 30
  }
}

else.events matches the event type to a rule, selects the correct template, injects variables and delivers through your configured provider — all from a single API call.

Frequently asked questions

What does the else.events API accept?
A typed event object with a user block (email, name), an optional locale, and a data block for template variables. The API returns a delivery reference immediately.
Do I still need a template engine in my codebase?
No. Template rendering happens inside else.events. Your app sends the event payload; else.events injects variables into the stored template and sends the result.
Can I preview a template before sending?
Yes. The else.events UI includes a live preview with sample variable values. You can preview per locale and per template version.
Which email providers are supported?
Postmark and SMTP in the current release, with more providers on the roadmap. Provider configuration is per workspace, not per API call.

One API call — templates, locales and routing handled

Stop building template infrastructure. Fire an event and let else.events handle the rest.

  • Free during public beta
  • Template management included
  • No template code in your repo