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.
Comments, mentions, task assignments, status changes — each fires a domain event, else.events routes the right notification email without a marketing automation layer.
Comment notification, mention alert, assignment email — each ends up as a separate template and a separate send call in your application.
Users who opt out of mention emails should not receive them. Wiring preference checks into email send logic is brittle.
Some users want instant emails; others prefer a daily digest. Encoding this in application code adds significant complexity.
Changing the copy of a comment notification email requires a code change and a deploy.
comment.created, user.mentioned, task.assigned — each fires a typed event. else.events matches the right template.
Notification preferences, plan tier, workspace settings — rules determine whether an email is sent and which template is used.
Update the subject line or body of a comment notification in the else.events UI. No commit, no review, no deploy.
See which notification emails were sent to which users, and trace them back to the triggering event.
comment.created Sent when a user posts a comment in a thread or document the recipient is following.
user.mentioned Sent when a user is @mentioned in a comment, task or document.
task.assigned Sent when a task or ticket is assigned to a user.
project.status_changed Sent when a project, task or record status changes in a way the user is watching.
digest.activity Daily or weekly summary of activity across the user's workspace.
Fire domain events for every user action. else.events handles the notification email.