Documentation
Double opt-in
Double opt-in confirms that the person who filled in your form owns the email address they typed. Turn it on and each submission waits until the sender clicks a link in the email we send them; then it is delivered as usual. It is one switch, there is nothing to design, and it is available on Pro and above.
Last updated
When to use it
Waitlists, newsletter sign-ups, gated downloads and anything where a typo or a fake address is costly. It also keeps sign-ups typed in by bots out of your list, because a bot does not click confirmation links. For an ordinary contact form it is usually unnecessary: people reaching out want an answer and rarely mistype their own address.
Turning it on
Open the form's Settings, find Autoresponder and double opt-in, tick Ask senders to confirm their emailand save. Your HTML does not change. The form needs a field containing the sender's email address (any field namedemail works, or _replyto).
Through the API it is a single field:
curl -X PATCH https://api.webforms.to/v1/forms/frm_xxx \
-H "Authorization: Bearer wf_live_your_key" \
-H "Content-Type: application/json" \
-d '{ "doubleOptIn": true }'What happens to a submission
The submission is stored straight away and shows in your inbox as awaiting confirmation. We email the sender a short message asking them to confirm, with one button. When they click it and confirm, the submission is delivered to your destinations and any autoresponder goes out, exactly as it would have without double opt-in. Its status changes to confirmed.
If they never confirm, it is never delivered; you can still read it in the dashboard. The link works for 30 days. A submission with no email address, or one that looks like a bot, gets no confirmation email and shows as unconfirmed.
The confirmation email's wording is ours and fixed: it names your form and nothing else, so it can never be used to send someone a message they did not ask for. White-label workspaces send it without the WebForms mark.
Details
- Test submissions (
_test, or a form in test mode) skip confirmation, so testing never waits on an inbox. - A submission counts toward your monthly allowance when it is received, like any other.
- Opening the link does nothing by itself: the sender confirms with a button on the page. Email security scanners open links automatically, and a link that confirmed on opening would confirm everything.
- An address that has bounced our email before is not emailed again, so its submission stays unconfirmed.
- The Submissions API reports the state as
confirmation:pending,confirmedorunavailable.
Get your endpoint
Free for 300 submissions a month. No card required.
Start free