Send Email And Manage Messages
Inbound messages, event notifications, templates, delivery logs, and provider webhooks are kept in separate paths.
On this page
Inbox
Signed-in users can send messages and review replies in /account/messages. Admins triage and reply from /communications/inbox.
Outbound delivery
System events queue email work, retry failures, and keep a send history.
Templates
Admins edit application-owned templates. Supabase Auth emails stay in the Supabase template system.
Resend webhook
Delivery status from Resend is received at /api/notifications/webhooks/resend.
Notification events
| Event | Meaning |
|---|---|
| lead.new | A new lead was captured. |
| lead.contact.message | A signed-in user sent a contact message. |
| lead.contact.reply | An admin replied to a user contact message. |
| team.invite | A staff invite was created. Supabase Auth renders and sends the email. |
| auth.signup.welcome | A new user should receive a welcome email. |
| system.alert | An internal system alert needs attention. |
| operations.stripe.dispute.created | Stripe reported a dispute. |
| billing.invoice.payment_succeeded | A billing invoice was paid. |
| billing.invoice.payment_failed | A billing invoice payment failed. |
| billing.subscription.expiring_soon | A subscription is near its end date. |
Email template ownership
| Template type | Owner | Where to configure |
|---|---|---|
| Authentication and security | Supabase Auth | Supabase Dashboard → Authentication → Email Templates and SMTP Settings |
| Application notifications | Shipflash notifications | /communications/outbound/templates |
| Delivery status | Resend webhook | /api/notifications/webhooks/resend and the outbound send log |
- 1
Configure Supabase Auth
Set the production Site URL, redirect allow list, custom SMTP, and authentication templates before testing invites or recovery.
- 2
Customize application templates
Use the Communications editor for leads, welcome messages, billing notices, and operational alerts.
- 3
Preview and publish
Save a draft, verify supported variables, preview the output, send a controlled test, and publish a new version.
- 4
Verify delivery
Confirm provider webhooks update send status and that authentication links are not rewritten by email tracking.
Customer customization rules
- Change brand copy, colors, footer details, and button labels without changing event keys or delivery code.
- Use Supabase Go-template variables only in Supabase Auth templates.
- Use Shipflash {{variable_name}} placeholders only for application notification events that support them.
- Keep authentication links, webhook verification, recipient resolution, retries, and deduplication server-owned.
- Do not add team.invite to the application-managed template set.