What it does
splitforms delivers every submission on your form to Make the moment it arrives. On the Make side you build the workflow once — Webhooks → Custom webhook as the trigger, any apps you like after it — and splitforms keeps it fed.
The connection is a signed outbound webhook, not an OAuth app: there is nothing to install and no credentials to rotate.Make hands you a catch URL (https://hook.us1.make.com/abcd1234efgh5678), you paste it into splitforms, and every submission is POSTed there as JSON.
Before you start
- A splitforms form. Your form's
access_keyidentifies it in the HTML that posts tohttps://splitforms.com/api/submit— that's what connects a page on your site to the webhook. New accounts get a form and key automatically; find it underDashboard → Forms. - A paid splitforms plan. Forms and the dashboard are free for 500 submissions total; webhooks unlock on paid plans.
- The Make catch URL. Created in the first setup step below — don't go looking for it in Make's settings, it only exists once you add the trigger.
Set up Make
In Make, create a scenario and add a Webhooks → Custom webhook module as the first step. Click Add, name the hook, and save it.
Make generates a URL like https://hook.us1.make.com/… (the region subdomain varies; older hook.integromat.com URLs work the same). The module now shows “Listening” — it needs one request to learn the data structure.
Open Dashboard → Integrations → Webhooks, click Add a webhook, and pick the Make preset. Paste the Make URL, choose whether it fires for all forms or one form, and save.
Click Test webhook right in the preset card. Make's module stops listening and shows the received data structure, derived from the sample submission. That structure is what downstream modules offer for mapping.
Attach Google Sheets, Notion, HubSpot, Slack, or any other module and map the submission.data fields into each.
Set it to run immediately as data arrives. Each splitforms submission now triggers a run, usually within seconds.
Dashboard → Integrations → Webhooks shows these same steps next to the form where you paste the URL.Payload Make receives
Make gets the full submission as JSON — the same body documented in Webhooks:
{
"event": "submission.created",
"submission": {
"id": "3f9a2b7e-4c1d-4e9a-9b2f-7a6c1d3e4f5a",
"form_name": "Contact",
"data": {
"name": "Ada Lovelace",
"email": "[email protected]",
"message": "Hello."
},
"ip_address": "203.0.113.7",
"referer": "https://yoursite.com/contact",
"created_at": "2026-05-04T14:31:04.123Z"
}
}Your form's fields live under submission.data with the exact name attributes from your HTML. Alongside the body, splitforms sends these headers:
| Header | Value |
|---|---|
| Content-Type | application/json |
| X-Splitforms-Event | submission.created |
| X-Splitforms-Signature | sha256=<HMAC-SHA256 of the raw body with the webhook secret> |
| User-Agent | splitforms.com-webhook/1.0 |
Delivery times out after 8 seconds and is not auto-retried — the dashboard shows the last status and error per webhook. Want to inspect a payload by hand? Paste it into the webhook tester.
Troubleshooting
- The Make module keeps showing “Listening…”. It hasn't received a request yet. Fire the splitforms Test webhook, and confirm you copied the URL of this module — a scenario with several webhook modules has a different URL for each.
- The scenario runs but mapped fields arrive empty. Make learns the data structure from the last received payload. Re-fire the splitforms Test webhook (or submit the real form once with every field filled), then re-open the mapping panel.
- Test data arrived, but real submissions don't run the scenario. The scenario isn't turned on, or it's set to run on a schedule instead of immediately. Switch scheduling to “Immediately as data arrives” and activate it.
- splitforms reports a 4xx from the hook URL. Make webhook URLs need no extra authentication — a 4xx almost always means the URL was truncated when copied. Re-copy the full URL from the module.
FAQ
Is Make really faster than Zapier for webhooks?
Yes. Make's webhook module fires the moment the URL receives a request; Zapier's trigger polls a queue every 1–15 minutes depending on plan. End to end, a Make scenario typically finishes in seconds.
What Make plan do I need?
Make's free plan includes 1,000 ops/month with up to 2 active scenarios, which covers most contact-form volumes. On the splitforms side, webhooks are a paid-plan feature — the form itself stays free for 500 submissions total.
Can Make verify the webhook signature?
Not out of the box. You can recompute the HMAC-SHA256 of the raw body with your webhook secret in a function module and compare it to the X-Splitforms-Signature header, but most teams treat the unguessable webhook URL as the shared secret.
Does splitforms retry a delivery if Make is down?
No — the dashboard records the webhook's last status and error instead. The lead is never lost: every submission is saved to the dashboard and emailed regardless of webhook outcome.
More automation guides
- Send form submissions to Zapier — Webhooks by Zapier → Catch Hook.
- Send form submissions to n8n — Webhook trigger node.
- Browse all integrations — native and webhook destinations.