What Happens After Someone Submits a Formspree Form?
Updated
After a visitor submits a form pointed at your Formspree endpoint, Formspree runs a fixed sequence: it validates the data server-side and filters spam, sends email notifications and any auto-responses, saves the submission to your Formspree Inbox with analytics and CSV/JSON export, and triggers any third-party integrations you've connected. You don't run any server code for this — your form's action attribute points at https://formspree.io/f/{form_id} and Formspree handles the rest.
The submission pipeline, step by step
1. Spam blocking and server-side validation
Formspree validates submitted data on its servers rather than in the browser, so checks can't be bypassed by editing client-side code. Spam protection runs at the same stage, using automatic filtering, optional captchas, and custom rules:
- Formshield — machine-learning spam filtering applied automatically.
- reCAPTCHA — added with one click if you want an explicit challenge.
- Custom rules — your own rules to fight specific spam patterns.
2. Email notifications and auto-responses
Formspree sends email notifications for new submissions, and can send auto-responses to the person who submitted the form. The email templates are fully customizable, so the notification your team receives and the confirmation your visitor receives can both be shaped to match your brand.
3. Saving to the Formspree Inbox
Every submission is stored in the Formspree Inbox, where you can view submissions, see daily analytics reports, and export data as CSV or JSON. This matters if email delivery fails or you need a record outside your inbox — the submission isn't lost with a bounced notification.
4. Triggering third-party integrations
If you've connected integrations, they fire after the submission is processed. Formspree lists direct integrations (no Zapier required) with services including:
| Category | Examples from Formspree's integration list |
|---|---|
| Spreadsheets / databases | Google Sheets, Airtable, Notion |
| Email marketing | Mailchimp, Klaviyo, ConvertKit, Mailerlite, Constant Contact |
| CRM / support | HubSpot, Salesforce, Pipedrive, Zendesk, Freshdesk, Gorgias |
| Communication | Slack, Discord, Telegram |
| Project tools | Asana, Trello, GitHub |
| Payments | Stripe |
| Other | Webhooks, Zapier |
Webhooks are the escape hatch: if your destination isn't on the list, a webhook lets your own endpoint receive the submission data.
A concrete example
Suppose a freelancer hosts a portfolio site on static hosting with a contact form:
<form action="https://formspree.io/f/{form_id}" method="post">
<label for="email">Your Email</label>
<input name="Email" id="email" type="email">
<button type="submit">Submit</button>
</form>
When a visitor submits it, Formspree checks the data and screens it for spam, emails the freelancer a notification, optionally sends the visitor an auto-response, stores the entry in the Inbox where it appears in analytics and can be exported, and — if a Slack integration is connected — posts a message to the freelancer's channel. No server, database, or mail configuration is involved on the site owner's side.
What this means for your setup decisions
- If you need a submission record you control, plan on the Inbox export (CSV/JSON) or a webhook/integration to your own system — the Inbox is the built-in store, not your database.
- If notification reliability matters, the Inbox copy is your fallback when email doesn't arrive.
- If you're automating setup with an AI agent, Formspree publishes an
llms.txtwith setup instructions for LLMs. - If you want popup forms without writing markup, Formspree's Formbutton lets you copy/paste a snippet for an overlay form.
Pricing and plan limits are not covered in the material available here; check Formspree's Plans page before assuming a tier covers your submission volume.