Product notification emails — from your app events, not a marketing platform

Comments, mentions, task assignments, status changes — each fires a domain event, else.events routes the right notification email without a marketing automation layer.

Why product notification emails get messy fast

Each notification type becomes its own code path

Comment notification, mention alert, assignment email — each ends up as a separate template and a separate send call in your application.

Notification preferences need to plug into template logic

Users who opt out of mention emails should not receive them. Wiring preference checks into email send logic is brittle.

Digest vs instant notifications require branching

Some users want instant emails; others prefer a daily digest. Encoding this in application code adds significant complexity.

Template updates require deployments

Changing the copy of a comment notification email requires a code change and a deploy.

Fire notification events. else.events routes and renders.

One event per notification type

comment.created, user.mentioned, task.assigned — each fires a typed event. else.events matches the right template.

Rules handle routing logic

Notification preferences, plan tier, workspace settings — rules determine whether an email is sent and which template is used.

Edit notification copy without deploying

Update the subject line or body of a comment notification in the else.events UI. No commit, no review, no deploy.

Structured logs per notification event

See which notification emails were sent to which users, and trace them back to the triggering event.

Common product notification events

comment.created

Comment notification

Sent when a user posts a comment in a thread or document the recipient is following.

user.mentioned

Mention alert

Sent when a user is @mentioned in a comment, task or document.

task.assigned

Task assignment

Sent when a task or ticket is assigned to a user.

project.status_changed

Status change

Sent when a project, task or record status changes in a way the user is watching.

digest.activity

Team activity digest

Daily or weekly summary of activity across the user's workspace.

Frequently asked questions

Can I respect user notification preferences in else.events?
Rules can include conditions on data in the event payload — e.g. if your event includes a notifications_enabled flag, a rule can skip sending when it is false.
How do I handle digest vs instant notifications?
Digest aggregation is not built into else.events. Your backend compiles the digest and fires a single digest event (e.g. digest.activity). else.events handles the email from that event.
Can I send notification emails to multiple recipients from one event?
The current release supports one primary recipient per event. For multi-recipient notifications, fire an event per recipient from your backend.
Can notification templates include dynamic content like a list of recent comments?
Yes. Include the comment list as an array in the event payload data. The template can iterate over it using template syntax.

Notification emails that match what users actually did

Fire domain events for every user action. else.events handles the notification email.

  • Free during public beta
  • Rule-based routing per notification type
  • No marketing platform required