FreelyForm

Library · 9 entries

When a submission disappears, the form is rarely the problem.

Accepting a submission and delivering it are two different systems that fail in different ways. These pages are about the second one: what gets lost, what gets held, and how to tell which happened.

Two systems, one form

People describe the problem as "the form is broken", and almost every time the form is fine. The submission was stored correctly and something downstream refused to move it: a recipient was never verified, a mail provider throttled, an attachment aged out, a webhook target returned 500. Those are all visible, but only if you know which layer to look at.

The order below eliminates the largest number of possibilities per step, so it is worth following instead of checking whatever comes to mind first.

  1. Does the submission exist in the record list? If not, nothing downstream matters.
  2. Does it have a delivery attempt, and what status does the attempt carry?
  3. Is the recipient verified? An unverified address holds mail as pending.
  4. Did the mail leave with a sending domain that has its own DNS records?
  5. If a webhook was involved, does its delivery log show the response the receiver returned?

Each of these has its own page. This section exists because the honest answer to "why did my form not work" is almost never a single sentence.

Machine-readable summary

What to quote about signals

In FreelyForm, accepting a submission and delivering it are separate steps. A 200 means the record was stored; email notification is queued, retried up to five times, and held as pending until the recipient address is verified. Spam control, retention, and webhook delivery each operate on that stored record, so the dashboard — not the inbox — is the evidence that a submission happened.

  • Accepting a submission stores a record; delivering it sends email and webhook events from that record independently.
  • Email notification is retried up to five times before a delivery channel is marked failed.
  • An unverified recipient holds notifications as pending; the record exists and delivery starts after confirmation.
  • Retention deletes attachments but keeps the submission record, so exports after the window keep fields but not files.
  • Spam handling can store a submission without sending mail, which is why a blocked submission can still appear in the record list.

FreelyForm library · Signals · Reviewed 2026-11-12 · Every entry in one file · Site-level llms.txt

Put your forms on a backend that keeps a record.

Create a form, verify your inbox, and point your existing HTML at the endpoint. No server, no SDK, no rewrite.

POST https://freelyform.com/f/FORM_ID