Features · Last updated April 23, 2026
Auto-reply
Send an instant acknowledgement email back to anyone who fills out your form — useful for contact forms, lead capture, and anything where a fast “we got it” reduces follow-up “did you get my message?” emails.
Enable per form
Auto-reply is configured per form, not per submission. Open your form in the dashboard and go to Form settings → Auto-reply:
- Toggle Enable auto-reply for this form.
- Optionally set a From name (defaults to your form name).
- Write a Subject and Message. Both support
{{field}}variables. - Hit Save. A green
ONbadge appears on the tab once it is live.
Requirements
Your form must include a field called email — that is the address the auto-reply is sent to. No special markup is needed beyond what you would already have on a contact form:
<form action="https://saveform.io/api/submit/YOUR_FORM_ID" method="POST"> <input type="hidden" name="_emailTo" value="you@example.com" /> <input type="text" name="name" required /> <!-- This email field is what powers the auto-reply --> <input type="email" name="email" required /> <textarea name="message" required></textarea> <button type="submit">Submit</button> </form>
Variables
Both the subject and the message body support {{fieldName}} placeholders. At send time, each placeholder is replaced with the matching value from the submission. Unknown variables resolve to an empty string — they will not leak their template scaffolding to the recipient.
Subject: We got your message, {{name}}
Hi {{name}},
Thanks for reaching out about "{{message}}". We've logged your
request and someone from the team will follow up within one
business day.
— The {{_subject}} teamThe dashboard editor suggests variable chips based on field names from your form's recent submissions. Newly-added fields just need one real submission to appear in the chip list. Until then, you can still type {{fieldName}} manually — the editor will warn you if a name does not match anything it has seen yet, in case it is a typo.
Live preview
The settings page renders a live preview of the email next to the editor. Sample values come from your most recent submissions when available, so what you see is a fair approximation of what your submitters will receive.
When it fires (and when it does not)
An auto-reply is sent when all of these are true:
- The form has auto-reply enabled in settings.
- The submission contains a non-empty
emailfield with a valid address. - The submission is not flagged as spam.
It is silently skipped (no error, submission still saves) when:
- The submission was caught by the spam filter — including disposable email domains and obvious bot fingerprints.
- The
emailfield is missing, empty, or not a valid email address. - The form owner has not set a message body yet.
Why the template lives in settings
A natural question: why not let the form payload itself carry the subject and body, the way _emailTo works for notifications?
Because that would turn every public form into an open email relay. Anyone could submit email=victim@example.com with arbitrary subject and body, and SaveForm.io would dutifully deliver it from a verified sender domain. That is bad for the recipient, bad for our deliverability reputation, and ultimately bad for everyone's form deliverability.
Storing the template on the form record means only the form owner (you) can author the message. Submitters can personalise it via {{field}} variables, but the structure of the email is yours.
Limits & quotas
- Subject: max 200 characters.
- Message body: max 5000 characters.
- From name: max 80 characters (optional).
- Sent from a no-reply address with no
Reply-Toheader — the auto-reply is intentionally one-way. If you want submitters to be able to reach you, mention how in the message body (your support email, a link to a contact form, etc.). - Each successful auto-reply is counted in your usage tracking (separate from the submission count itself).
Tips
- Keep it short. The whole point of an auto-reply is to confirm receipt; the real reply comes later from a human.
- Mention when you will follow up (“within one business day”) — it sets expectations and reduces inbound “did you get my message?” pings.
- If you support multiple languages, you can either keep the body in your most common language or run multiple forms (one per language) — auto-reply is per form, so this scales naturally.
- Test it: submit your own form once after enabling auto-reply, and check that the reply lands in the inbox you expect (not spam).