Features · Last updated April 23, 2026
Submissions dashboard
Open any form at /dashboard/submissions/<form-id> to see every submission in a single table — date, a short data preview, spam status, webhook delivery, and per-row actions. When your form has a name or email field, SaveForm automatically adds a From column up front so you can scan who submitted at a glance.
Default columns
Every submissions table starts with the same baseline columns. You don't configure them — they appear automatically based on what your form does.
| Column | What it shows |
|---|---|
Date | Local timestamp of when the submission was received. |
Data Preview | The first two non-internal fields in the submission, useful as a quick at-a-glance summary. |
Status | Whether the row is Valid or Spam — see spam protection. |
Webhooks | Per-row webhook delivery status. Only appears when at least one webhook is configured for the form. |
Actions | View the full submission, retry webhooks, and other per-row controls. |
Auto “From” column
When your form has a name or email field, the dashboard automatically shows these correctly: a new From column is prepended as the first column of the table, with the sender's name on top and their email — as a clickable mailto: link — below.
- No setup, no toggles. Just submit data with a name or email field and the column appears.
- The column is added across the entire dataset, not per page — it does not flicker in and out as you paginate.
- If a single submission is missing both fields, that row shows an em dash (—) but the column stays.
Recognized field names
Field names are matched case-insensitively and ignore underscores, dashes, and whitespace — so full_name, FullName, and full-name all resolve to the same thing.
| Slot | Field names that match |
|---|---|
| Name | name, full_name, fullName, first_name, firstName, your_name |
email, email_address, emailAddress, your_email, mail |
Example
A standard contact form already has everything the dashboard needs — no extra wiring required.
<form action="https://saveform.io/api/submit/YOUR_FORM_ID" method="POST"> <!-- Auto-detected as the "From" column --> <input type="text" name="name" required /> <input type="email" name="email" required /> <textarea name="message" required></textarea> <button type="submit">Send</button> </form>
With this form, the submissions table will look like:
| From | Date · Preview · Status |
|---|---|
Ada Lovelace ada@example.com | Apr 20, 2026 · message: Hi! … · Valid |
Grace Hopper grace@example.com | Apr 20, 2026 · message: Loved the… · Valid |
Notes
- The first non-empty matching field wins. If your form happens to have both
nameandfull_name, the one that appears first in the submitted payload is used. - Empty strings are ignored, so a blank
nameinput will fall back to whatever other recognized field is present. - The full submission is always available behind View in the actions column — the From column is a shortcut, not a filter.