webhouse.appwebhouse.appdocs

Transactional email — the From address, provider, and notification recipients for invites, form submissions, and alerts.

Where it is

Settings → Email (/admin/settings?tab=email).

What the tab configures

How outgoing email is sent from your site. The CMS sends email for:

  • Team invites — onboarding new members
  • Form submissions — the form engine emails a copy of every submission to the site owner
  • Agent notifications — alerts when a long-running agent finishes
  • Backup alerts — when a scheduled backup fails
  • Link checker reports — when the crawler finds broken links
  • Lighthouse alerts — when scores drop below thresholds

Without this tab filled in, the CMS falls back to environment-level defaults from .env. Configuring per-site here overrides those.

The fields

FieldPurpose
ProviderWhich email service. Currently: Resend
API keyYour provider's API key. Stored as a site-level secret — never exposed to editors
From addressThe From: header on outgoing mail. Must be a domain you've verified with the provider
From nameDisplay name on the From: header (e.g. "Acme CMS")
Reply-toWhere replies go. Often an inbox you actually monitor
Notification recipientsComma-separated list of emails that get system alerts (build failures, scheduled backups, link-check reports)

Resend setup

  1. Create a Resend account and verify your sending domain.
  2. Create an API key scoped to that domain.
  3. Paste the key in this tab.
  4. Send a test email using the Test button.

The test sends a short message to the first notification recipient. If it lands, you're done.

Deliverability checklist

If mails land in spam, check in order:

  • SPF — domain DNS has v=spf1 include:amazonses.com ~all (or Resend's equivalent)
  • DKIM — Resend's DKIM records are in DNS and verified
  • DMARC — at least v=DMARC1; p=none; for passive monitoring
  • From domain matches sending domain — don't send @webhouse.dk mail from a non-webhouse-verified Resend domain

Resend's dashboard shows per-mail delivery status and SPF/DKIM verification results.

Per-form overrides

The form engine can override the recipient list on a per-form basis via notifications.email in cms.config.ts:

typescript
forms: [
  {
    name: 'contact',
    notifications: {
      email: ['sales@example.com', 'cc@example.com'],
    },
    ...
  },
],

When set, submissions from that form go to the listed recipients instead of the site's default notification list.

What happens without a provider

Email-triggered features degrade cleanly:

  • Team invites show the signup URL on screen (copy manually)
  • Form submissions still save to the inbox, just no email
  • Agent and backup alerts log to the event log but don't ping anyone
Tags:WebhooksPermissions
Previous
Team settings
Next
GEO settings
JSON API →Edit on GitHub →