Skip to content

Notification Domain Events

Why This Exists

This document defines events published by the Notification Domain.

Owner

The owner is the Chief Product Officer and Enterprise Architect.

Business Value

Notification events provide traceability for communication workflows and allow analytics, audit, and adjacent domains to observe delivery outcomes without owning Notification state.

Event Metadata

Every Notification event should include:

  • EventId.
  • EventType.
  • OccurredAt.
  • NotificationId or RequestId.
  • OrganizationId where applicable.
  • UserId or RecipientReference where applicable.
  • SourceReference.
  • CorrelationId.
  • CausationId.
  • SchemaVersion.

Event Catalogue

Event Trigger Payload Consumers Business value
NotificationRequested A domain or workflow requests communication. RequestId, type, source reference, recipient rule, priority. Notification, Analytics. Starts communication workflow.
NotificationCreated A request creates one or more notification records. NotificationId, request ID, recipients, type. Analytics, Audit. Records message creation.
NotificationScheduled A notification is scheduled. NotificationId, schedule rule, due time. Scheduler, Analytics. Supports future or repeated reminders.
NotificationRendered Template is rendered for channel delivery. NotificationId, template version, channel. Audit. Preserves message version.
DeliveryAttempted A channel send attempt occurs. AttemptId, NotificationId, channel, provider. Analytics, Audit. Tracks provider interaction.
NotificationSent Provider accepts the message. NotificationId, channel, provider message ID. Analytics. Confirms send.
NotificationDelivered Provider confirms delivery where available. NotificationId, channel, delivered at. Analytics. Confirms recipient reach.
NotificationFailed Delivery attempt fails. NotificationId, channel, failure reason. Escalation, Analytics. Enables retry or escalation.
NotificationRead Recipient reads the notification. NotificationId, recipient, read at. Analytics, Escalation. Tracks attention.
NotificationAcknowledged Recipient acknowledges required action. NotificationId, recipient, acknowledged at. Source domains, Analytics. Confirms awareness.
NotificationDismissed Recipient dismisses notification. NotificationId, recipient, reason. Analytics. Tracks user choice.
NotificationEscalated Escalation policy creates escalation. EscalationId, NotificationId, level, reason, target. Notification, Analytics. Protects critical actions.
NotificationPreferenceUpdated Preferences change. PreferenceId, scope, changed settings. Notification. Applies future delivery preferences.
CommunicationHistoryRecorded A communication event is written to history. HistoryId, notification, event type. Audit, Analytics. Maintains traceability.

Event Flow

sequenceDiagram
    participant Bid
    participant Notification
    participant Provider
    participant Recipient
    participant Analytics

    Bid->>Notification: TeamApprovalRequired event
    Notification->>Notification: Create notification
    Notification->>Provider: Send email/WhatsApp/in-app
    Provider-->>Notification: Sent or delivered status
    Recipient-->>Notification: Read or acknowledge
    Notification-->>Analytics: NotificationAcknowledged

Cross-Domain Rule

Notification may emit acknowledgement and delivery outcome events. These events do not automatically mutate source domain facts unless the owning domain consumes the event and applies its own rules.