Integrations
Webhooks
POST every accepted submission to an endpoint of your own.
Webhooks are part of Pro and Business. On the free plan submissions still arrive by email and in the dashboard; nothing is posted anywhere.
Set a webhook URL in the form settings and we POST each accepted submission to it as JSON. This is the escape hatch: anything we do not integrate with directly, you can reach from your own handler.
what we send
{
"formId": "a3k9x2m1",
"formName": "Website contact",
"submissionId": "019fd955-982a-77c6-8144-c35f077f6b9e",
"data": {
"name": "Ada Lovelace",
"email": "ada@example.com",
"message": "Testing my new form endpoint."
},
"createdAt": "2026-08-03T10:24:11.482Z"
}Delivery behaviour
- Fire-and-forget: a webhook that fails, hangs, or returns a 500 never fails the visitor's submission — their message is already stored.
- Requests time out after 8 seconds. Do slow work after you have responded, not before.
- Submissions the filter caught are not forwarded, so your handler does not have to filter them again.
- AI review is the exception: it marks rather than filters, so a submission it flags is still forwarded. Read ai_verdict on the payload if you want to act on it.
Webhook URLs can only be set in the dashboard, never in the posted form. Otherwise anyone who knows your public endpoint could point your submissions at their own server.