Skip to Content
FeaturesEmail Alerts

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.