Blog Logo

Jan 22, 2025 · 4 min read min read

Understanding Form Submissions: What Happens When Users Hit Submit


You add a form to your website. A user fills it out and clicks “Submit.”

What happens next?

For most developers, this is where things get messy. You need to capture the data, validate it, check for spam, handle errors, send notifications, and somehow make sense of who submitted what and when.

With FormsReady, every submission is automatically enriched with metadata and security checks.


What is a Form Submission?

A form submission is created every time someone submits your form—whether it’s a traditional HTML <form> or a custom fetch request. Each submission is a complete snapshot of:

  • The data submitted (all form fields)
  • Who submitted it (IP address, user agent)
  • When it was submitted (timestamp)
  • Security status (bot detection, spam verification)
  • Processing status (pending, completed, failed)

Think of it as a receipt for every interaction with your form.


Anatomy of a Submission

When FormsReady receives a form submission, we capture the following information:

User Data

The actual form fields submitted by the user—whether it’s an email, message, phone number, or any custom fields you’ve added.

Metadata

Every submission includes:

  • IP Address: Where the request came from
  • User Agent: Browser and device information
  • Timestamp: Exact date and time of submission

This helps you understand your users and track patterns.

Spam & Bot Protection

FormsReady automatically analyzes every submission:

  • Bot Detection: Is this a real human or an automated script?
  • Spam Status: Does this submission look like spam?
  • Verification Status: Has the submission passed all security checks?

If spam protection is enabled, submissions go through verification before being marked as legitimate.

Processing Status

Every submission has a status:

  • Created: Just received, waiting to be processed
  • Pending: In the queue
  • In Progress: Currently being processed
  • Completed: Successfully processed and delivered
  • Failed: Something went wrong (with detailed error messages)

Rate Limiting

To prevent abuse, FormsReady tracks if a submission was rate-limited. If too many submissions come from the same IP in a short period, we’ll flag it to protect your endpoint.


Viewing Your Submissions

In the FormsReady dashboard, you can view detailed information about each submission:

Submission #12345

📅 Submitted: Jan 22, 2025 at 3:45 PM
🌍 IP Address: 192.168.1.1
👤 User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X...)

🛡️ Spam Protection
✅ Verified
✅ Human Verified
❌ Not Spam

📧 Autoresponder Email
✅ Email Sent
To: user@example.com
Subject: Thanks for contacting us!
Sent: Jan 22, 2025 at 3:45 PM

📝 Form Data
Email: user@example.com
Message: I'd love to learn more about your service!

When Things Go Wrong

Sometimes submissions fail. Maybe the webhook endpoint is down, or there’s an issue with your autoresponder template.

FormsReady tracks errors for you:

  • Error Messages: Detailed logs of what went wrong
  • Retries: We automatically retry failed submissions
  • Retries Left: Track how many retry attempts remain

This means you’ll never lose a submission—even if something breaks temporarily.


HTTP vs HTML Forms

FormsReady accepts submissions from two sources:

Traditional HTML Forms

<form action="https://api.formsready.io/workflows/$id$" method="POST">
  <input type="email" name="email" required>
  <textarea name="message"></textarea>
  <button type="submit">Send</button>
</form>

Custom Fetch Requests

await fetch('https://api.formsready.io/workflows/$id$', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ email: 'user@example.com', message: 'Hello!' })
});

Both create the same type of submission with the same metadata and security checks.


The Bottom Line

Every submission in FormsReady is more than just form data. It’s a complete record of who submitted, when, from where, and whether it passed security checks.

You get full visibility into every interaction with your forms—without writing a single line of backend code.

Ready to see it in action? Create your first form and watch the submissions roll in.

— The FormsReady Team