docs

Email

Email both ways. Invitations send a survey's public page and store nothing. Inbound email gives a feedback Form an address; what arrives is stored as a Submission, and status changes answer in the thread.

Noonmark does two unrelated things with email, both through Resend:

  • Invitations send a survey's public page to a list of people. Nothing is stored.
  • Inbound email is a Source: mail sent to a Form's own address is stored as a Submission.

The rest of this page is about invitations.

Set up

Two environment variables, both on the server:

VariableWhat it does
RESEND_API_KEYTurns sending on. Without it the panel renders disabled and says so.
EMAIL_FROMThe sender. Defaults to Noonmark <invites@noonmark.dev>. The domain must be verified in Resend.
.env
RESEND_API_KEY=re_123…
EMAIL_FROM="Acme <surveys@acme.com>"

Send

On a survey Form's Integrations tab. Only survey Forms with a public address have the panel — feedback Forms have no hosted page to invite anyone to.

Paste addresses comma or newline separated. Up to 20 per send, duplicates are dropped, and a malformed address stops the send and is named. Each recipient gets their own email; nobody sees anyone else's address.

The email

PartContent
SubjectYou're invited: <form name> — editable before sending.
MessageYour optional one-line note, shown above the button.
ButtonOpens the public page at /f/<handle>.
Footer"Sent via Noonmark".

An invitation stores nothing. The per-recipient results — sent, or failed with the reason — show in the panel after the send and last until you leave the page. That is true of invitations only: inbound email stores what it receives, because what it receives is a Submission.

Sends go out one at a time with a short gap, and a rate-limited send is retried once. A failed address fails alone; the rest still go.

What did you think of this content?

On this page