product · forms · response desk

A response desk behind any website form.

Give each submission an owner, private files, delivery receipts, exports, and a deletion rule instead of another loose email.

·· hosted ingestion endpoint·· per-form spam thresholds·· csv and json export·· gdpr-honest retention controls
·· contact.html · static
<form action="https://formspring.io/f/abc123"><input name="email"/><button>Send</button></form>
POST · 14ms · eu-de
·· response desk · forms / contact3 new
Marta Lindqvist · €40k budget
to: sales · pricing · attached: brief.pdf
2m
Jon Park · application
to: hr · cv.pdf · consent ✓
14m
01 / capabilities

Built for the things email can't do.

Email is fine for alerts. It's lousy for ownership, retention, file handling, and audit trails.

01 · owner,

Owner, source, and state

See who owns the submission, which page sent it, whether it is open, and what happened next.

02 · notifications

Notifications with receipts

Send alerts to email, Slack, or a webhook and keep the delivery result attached to the submission.

03 · private

Private file handling

Collect documents without public object URLs or forwarded attachment chains.

04 · noise

Noise before inbox

Honeypots, rules, captcha options, and spam checks run before a person has to read it.

05 · exports

Exports that survive tools

Pull CSV or JSON when a CRM, spreadsheet, or custom system is no longer the source of truth.

06 · inspectable

Inspectable plumbing

Endpoints, signed webhooks, replay logs, scoped API tokens, and MCP are there when developers need the detail.

02 / how it works

Three steps, no glue code.

·· step 01Create the desk

Name the form, set owners, decide retention, and choose where alerts should go.

·· step 02Attach the form

Use a hosted page or point the existing form action at Formspring.

·· step 03Work the queue

Review submissions with files, delivery history, exports, and close reasons in view.

03 / for developers

Snippets ship for eleven frameworks.

HTML, React, Vue, Next.js, Astro, SvelteKit, Nuxt, vanilla JS, Python (requests), PHP (curl), Ruby (Net::HTTP).

·· HTML·· React·· Vue·· Next·· Astro·· Svelte·· Nuxt·· Python·· PHP·· Ruby·· curl
// React
async function handleSubmit(e) {
  e.preventDefault();
  const data = new FormData(e.target);
  await fetch("https://formspring.io/f/abc123", {
    method: "POST",
    headers: { Accept: "application/json" },
    body: data
  });
}

// Receive the signed webhook
const sig = req.headers["x-formspring-signature"];
const ok = timingSafeEqual(
  hmacSha256(secret, rawBody),
  sig
);
04 / questions

About Forms.

What is Formspring Forms?
A response desk for website forms. It collects submissions, keeps files private, records delivery attempts, filters spam, and gives teams a place to work the queue.
Does Formspring Forms have a free plan?
Yes. The Free plan accepts 50 submissions per month with 30-day retention, no credit card required. File uploads, webhooks, API access, MCP, and AI moderation start on Pro.
How does Formspring Forms compare to Formspree?
Drop-in compatible action URLs, EU data residency by default, signed webhooks with replay, and per-form Akismet keys you can rotate. See /compare/formspree for the side-by-side.
Can I host the form on my own domain?
On Pro and above you can verify a custom domain and serve the ingestion endpoint from a CNAME of your own host. Pro and Team include one verified domain; Scale is unlimited.
What languages and frameworks are supported?
Anything that can send a normal form submission. Implementation examples live in the docs for HTML, React, Vue, Next.js, Astro, SvelteKit, Nuxt, Python, PHP, and Ruby.

Start with one form. Scale when it earns it.

Free plan covers a personal site or a small intake flow. Upgrade when you cross 50 submissions a month.