Documentation

Notifications

Email and WhatsApp delivery queues, templates, and delivery retries.

Updated Aug 5, 20255 min read

Notifications

The Notification module sends transactional messages — emails and WhatsApp — through queued, retryable delivery. Configuration is under Platform Settings → Email Configuration and WhatsApp Configuration.

Design

Messages are enqueued with a template + payload, then a background job polls and delivers. Delivery runs on an interval and retries failures, so the platform is resilient to transient provider outages.

Email

Email Setting Purpose
EnableEmailDelivery Turn on outbound email
EmailProvider smtp (current)
SmtpHost / SmtpPort SMTP server & port
SmtpUsername / SmtpPassword SMTP auth (password encrypted)
SmtpUseSsl SSL/TLS for the connection
FromEmail / FromName Sender identity
EmailJobIntervalMinutes How often the delivery job runs
EmailMaxRetries Delivery retry cap

Email job flow

Enqueue(EmailMessage) → Job runs every EmailJobIntervalMinutes
  → deliver SMTP → on failure retry up to EmailMaxRetries

Note: Nothing is actually sent until EnableEmailDelivery is on.

WhatsApp

WhatsApp Setting Purpose
EnableWhatsAppDelivery Turn on WhatsApp outbound
WhatsAppProvider meta (current)
WhatsAppBusinessAccountId Meta Business Account ID
WhatsAppPhoneNumberId Sender phone number ID
WhatsAppAccessToken Meta access token (encrypted)
WhatsAppWebhookVerifyToken Verifies inbound webhook
WhatsAppJobIntervalMinutes Delivery cadence
WhatsAppMaxRetries Delivery retry cap

Message lifecycle

Every message model carries:

  • Type (email/whatsapp), globally "notification"
  • To (email address / WhatsApp number)
  • Data (template variables) + template identifier

What notifications does the platform send?

  • Temporary password on onboarding
  • Activate/active confirmation emails (via site activation business rules)
  • Invoice & payment updates from the Billing module
  • Password reset flows via the Identity module
  • Operational alerts for backup & restore