Email Alerts
Heartbeet sends transactional alert emails via Resend .
Emails sent
Alert opened
Sent when a new anomaly alert is created. Contains:
- Severity badge (WARNING or CRITICAL)
- Beet name and detection time
- Expected vs actual event count
- Percentage drop from baseline
- Link to the beet page and AI explanation
Alert resolved
Sent when an alert’s status transitions from open to resolved. Contains:
- RESOLVED badge
- Beet name
- Time opened, time resolved, duration
- Link to the beet page
Configuration
Default channel
When an organisation is created, a default email channel is seeded automatically using the account owner’s email address. No configuration required.
Adding recipients
Insert a row into alert_channels:
insert into alert_channels (org_id, channel, destination, enabled)
values ('<org-id>', 'email', 'oncall@example.com', true);Multiple email destinations are supported. Each enabled email row receives the notification.
Disabling a channel
Set enabled = false on the alert_channels row, or delete it.
Sending domain
Emails are sent from alerts@heartbeet.downfall24.com. This domain must be verified in the Resend dashboard for emails to deliver reliably.
Required environment variable
RESEND_API_KEY=re_...If RESEND_API_KEY is not set, email sending is silently skipped — no errors are thrown. This allows the app to run in development without a Resend account.
Testing
Use the Integration Health section on the admin dashboard (/admin) to send a test email and verify delivery. The test sends a real email to your account’s email address.