Skip to Content
Core ConceptsSubmissions

Submissions

Every POST to your form endpoint creates a submission. Formtorch stores the field data, runs spam scoring, and records delivery status for any notifications or webhooks.

What gets stored

Each submission includes:

FieldDescription
Field dataAll form fields as key-value pairs (JSON)
IP addressThe submitter’s IP (used for rate limiting and spam signals)
User agentThe browser or client string
TimestampWhen the submission was received
Spam scoreA numeric score from 0 to 100+
Spam signalsWhich signals fired
Delivery statusWhether notifications and webhooks were sent successfully

Reserved fields (prefixed with _) are not stored as submission data.

Spam scoring

Every submission is scored by TorchWarden, Formtorch’s internal spam detection system. The score ranges from 0 (clean) to 100+ (obvious spam), with a threshold.

Submissions at or above our threshold are marked as spam. They’re stored and visible in the dashboard with a spam badge, but they:

  • Don’t trigger email notifications
  • Don’t trigger webhooks
  • Don’t count toward your submission quota

You can review and un-flag spam submissions from the dashboard if something was incorrectly classified.

Dashboard

Open any form in the dashboard to see its submissions. You can:

  • Search by field value (e.g. find a specific email address)
  • Filter by status: all, spam, test
  • View full field data for each submission
  • Delete submissions individually or in bulk

Exporting to CSV

Every form has a CSV export. Go to the form’s submissions page and click Export. You can filter by date range before exporting:

RangeDescription
Last 24 hoursSubmissions from the past day
Last 7 daysSubmissions from the past week
Last 30 daysSubmissions from the past month
All timeEvery submission for this form

The CSV includes all field values plus metadata columns (submittedAt, isSpam, spamScore).

Test submissions

Submissions with _test=true are stored separately. They:

  • Show up in the dashboard with a “Test” badge
  • Are excluded from quota counts
  • Don’t trigger email notifications
  • Don’t trigger webhooks

Use them freely during development to verify your form is connected correctly.

The submission detail view shows the raw field data exactly as it was received. If a field is missing, check that your input has a name attribute Fields without a name attribute are not submitted by the browser.

Last updated on