Integrate · Last updated May 16, 2026
HTML form integration
The fastest way to use SaveForm.io: point a regular HTML form at your endpoint. Works on any static site — Jekyll, Hugo, Astro, plain HTML, or whatever — without shipping JavaScript.
AI assistant prompt
Wording targets native HTML forms — action URL, POST, hidden helpers like _honey / _redirect / _emailTo, and swapping in your real form ID.
Help me integrate SaveForm.io (https://www.saveform.io) into my site with a plain HTML form (no SPA, no mandatory JavaScript).
Please:
1. Ask me which visible fields I need (names matching what I want in the dashboard, input types like email/tel/date, required vs optional, textarea vs input, selects, radios, validation attributes).
2. Output a complete, accessible <form>: action="https://saveform.io/api/submit/YOUR_FORM_ID", method="POST", with meaningful labels and suitable input types.
3. Tell me explicitly to replace YOUR_FORM_ID with my real form ID from SaveForm → Dashboard → Forms (copy the form ID). Without my actual ID in the URL, submissions will not reach my workspace.
4. Mention optional hidden <input>s for SaveForm behaviour: spam honeypot, thank-you redirects, notification routing — wired as normal named fields.
5. Explain that native HTML POST expects the browser-driven flow (redirect / success-page); if I need JSON in JS, steer me to fetch instead.
6. Use this doc when helpful: https://www.saveform.io/docs/html-integration
SaveForm control fields (names starting with _): pass them as normal keys in the JSON or form body when useful:
• _honey — honeypot for spam filtering: https://www.saveform.io/docs/spam-protection
• _redirect and _redirect_mode — thank-you URL and whether to show SaveForm's success page first vs redirect immediately: https://www.saveform.io/docs/custom-redirects
• _emailTo — optional per-submit override for where the notification email is sent: https://www.saveform.io/docs/email-notifications
• Submitter auto-reply (acknowledgement email) is configured on the form in the dashboard with {{field}} placeholders, not ad-hoc payload fields: https://www.saveform.io/docs/auto-replyMinimal example
Swap the action attribute for your SaveForm endpoint, keep method="POST", and add a few fields.
<form action="https://saveform.io/api/submit/YOUR_FORM_ID" method="POST"> <input type="text" name="name" placeholder="Your name" required /> <input type="email" name="email" placeholder="Your email" required /> <textarea name="message" placeholder="Your message" required></textarea> <button type="submit">Send message</button> </form>
_honey (spam honeypot), _redirect / _redirect_mode (redirect after submit), _emailTo (notification recipient). Submitter replies use dashboard auto-reply. Supported fields →Replace YOUR_FORM_ID with the form ID from your dashboard.
Supported fields
Anything with a name attribute is captured. That includes text, email, number, tel, URL, date, textarea, select, checkboxes, radios, and hidden fields. Names that start with _ are treated as control fields — see the list below.
_honey— honeypot for spam filtering._redirect/_redirect_mode— custom redirects._emailTo— opt-in email notification address.
What happens on submit
By default SaveForm.io returns a clean success page with a countdown back to the page the form lived on. If the request comes from JavaScript (see fetch integration), the endpoint returns JSON instead.