Insane Forms

Submissions and exports

Reading, sorting, deleting and exporting Submissions.

Each Project has an inbox in the dashboard that lists its Submissions, newest first. Filter it by Form and state, or search the field values. Search matches the values people typed, not the field names, and ignores case.

States

  • Unread or Read. A new Submission is Unread until someone opens it. You can mark it Unread again.
  • Spam. Caught by the spam checks, or marked by hand. It sends nothing and is deleted after 30 days. Marking it as not spam moves it to Unread and sends its Notification.
  • Trash. Deleted Submissions wait here for 30 days, then they and their files are removed for good. Restoring one brings it back as Read.

Delete forever skips the Trash and works from any state. It can't be undone.

The 30 days start when a Submission enters Spam or Trash. Moving it from one to the other starts the count again. A daily job at 03:00 UTC deletes what has waited out its 30 days, so a Submission can sit a few hours past that.

Actions work on a selection too, up to 500 Submissions at a time. A selection that mixes states changes the Submissions the action fits and skips the rest. Read and Unread apply only to Submissions that are in the inbox, so Spam and Trash stay where they are.

What's stored

A Form accepts whatever fields arrive, so each Submission shows exactly what was sent. Reserved fields (_gotcha, _elapsed and cf-turnstile-response) are read by the spam checks and removed before the Submission is stored.

Each Submission also keeps the address of the page it came from (the Referer or Origin header), the sender's user agent, and whether it came through a Submit Key. The visitor's IP address isn't stored.

Files open through signed links that expire after a short time, so a copied link stops working.

Exports

Export the Submissions the inbox is showing, with its current filter, as CSV or JSON, for one Form or a whole Project. A filter without a state includes every state, Spam and Trash too.

  • Up to 10,000 rows download straight away.
  • Larger exports run in the background. The person who asked gets an email with a link that works for 7 days, and the file is deleted after that.

Newest Submissions come first. A CSV has the columns id, form, status and createdAt, then one column per field name found in the export. Nested values are written as JSON. A cell that starts with =, +, - or @ gets a leading apostrophe so a spreadsheet doesn't run it as a formula. A JSON export is an array with the same details plus the source URL, whether the Submission came through a Submit Key, and each file's name, type and size. Files themselves aren't included.

On this page