Webhooks integration
Send form submissions to any URL with webhooks
The webhook integration POSTs every new submission as JSON to a URL you control — your own API, a serverless function, Zapier, Make or n8n. Requests are signed with HMAC-SHA256 and retried automatically when your endpoint is down.
How to connect Webhooks
- 1
Open your form in the FormSubmit dashboard and go to Integrations.
- 2
Choose Webhooks and paste the HTTPS URL that should receive submissions.
- 3
Leave the signing secret blank to auto-generate one, or paste your own.
- 4
Click Send test to fire a sample payload and confirm your endpoint returns a 2xx status.
- 5
Verify the X-FormSubmit-Signature header in your handler before trusting the payload.
What FormSubmit sends
- event — submission.created (or test)
- form — id and name
- submission — id, createdAt (ISO 8601), data (every submitted field) and files (field, filename, signed url, size, contentType)
- Headers: x-formsubmit-event and x-formsubmit-signature (t=<unix>,v1=<hex>)
You'll need
- Endpoint URL
- Signing secret (optional)encrypted
Included on every plan, including Free. Failed deliveries are retried automatically with backoff and every attempt is shown in your delivery log.
Frequently asked questions
Can I use webhooks with Zapier or Make?
Yes. Create a “Catch Hook” (Zapier) or “Custom webhook” (Make) trigger, paste its URL into the webhook integration and send a test so the fields are detected.
What status code should my endpoint return?
Any 2xx. 408, 429 and 5xx responses and timeouts are retried; other 4xx responses are treated as permanent failures.
Is there a timeout?
Each request times out after 10 seconds. Do heavy work asynchronously and respond quickly.
Related
Webhooks
Receive every submission as signed JSON, verify the signature and understand retries.
Webhooks
POST every submission as signed JSON to your API, Zapier, Make or n8n — with automatic retries.
How to send website form submissions to Slack
Post every contact form, lead or support request to a Slack channel in real time using an Incoming Webhook and FormSubmit.
Connect your forms to Webhooks in a minute
Sign in with Google, create a form, paste the endpoint. Free forever for small sites — no credit card.