Notifications
SMTP email, SMS, mobile push, outgoing webhooks. i18n templates, rate-limit per channel, bounce management, HMAC signatures. Everything from a job edge.
Four channels, one unified SDK
The aura-notifications service exposes a single aura.notify.* surface which manages email, SMS, push and webhooks. Calls go through a NATS queue with retry, backoff, and DLQ — you send, we guarantee delivery (or refund the credit).
Templates, logs and quotas live in project_{uuid}_platform.notifications_*. 30-day retention of delivery logs (2 years on Enterprise).
What each channel guarantees
Email (SMTP)
MJML/HTML templates with Liquid, DKIM/SPF/DMARC, rate-limit by domain, bounces managed automatically.
SMS
Multiple providers (Twilio, Vonage, OVH), routing by country, automatic fallback.
Push
APNs (iOS), FCM (Android), Web Push (VAPID). Self-validated device tokens, purging invalid ones.
Outgoing webhooks
HMAC-SHA256 signing, exponential retry (5 attempts), DLQ, rotating signatures.
MJML + Liquid, native i18n
Create templates from the Studio or via CLI. MJML syntax for email (responsive out-of-the-box), Liquid for templating. Locales managed by file welcome.fr.mjml, welcome.en.mjml.
EMAIL TEMPLATES
~12 per project
on average
LOCAL SUPPORTED
38
Liquid + auto fallback
DELIVERY P99
< 8s
queue → recipient
INBOX RATE
97.8%
DKIM + dedicated IP
Four channels in code
Continue with a edge.job() to decouple: the transmitter pushes into the notificationsqueue, the worker sends asynchronously with automatic retry.
Signed webhook: configure a secret in Notifications → Settings → Webhook (or WEBHOOK_SIGNING_SECRET on the service side). Each send then carries the X-Aurabase-Signature: t={timestamp},v1={hmac-sha256} header — verification on the receiver side documented in the README of the @aurabase/notificationspackage.