Start an n8n workflow from every form submission
FormThunder starts an n8n workflow by posting each form submission to n8n's Webhook node, on n8n cloud or your own server. Use the node's production URL, activate the workflow, and each form field arrives under body.data. Since it's a normal signed webhook, you can verify the signature inside the workflow. It needs FormThunder's Pro plan.
Updated
Set it up
- Add a Webhook node set to POST and copy its production URL.
- Set that URL as the form's webhook and activate the workflow.
- Send a test submission and read the fields from
body.data.
curl -X PATCH https://formthunder.com/api/v1/forms/YOUR_FORM_ID \
-H "Authorization: Bearer ft_live_..." \
-H "Content-Type: application/json" \
-d '{"integrations":{"webhook":{"enabled":true,"url":"https://n8n.example.com/webhook/contact-form"}}}'const crypto = require("crypto");
const item = $input.first();
const header = item.json.headers["x-formthunder-signature"];
const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")));
const raw = JSON.stringify(item.json.body);
const expected = crypto.createHmac("sha256", $env.FORMTHUNDER_WEBHOOK_SECRET)
.update(parts.t + "." + raw).digest("hex");
if (expected !== parts.v1) throw new Error("Bad signature");
return $input.all();What to know about n8n
- The Webhook node has a test URL and a production URL. The test URL only listens while you press Listen for test event, so a form pointed at it fails the rest of the time.
- A self-hosted n8n must be reachable over public HTTPS. FormThunder refuses plain HTTP and private addresses.
- The Code node above needs
cryptoallowed throughNODE_FUNCTION_ALLOW_BUILTINon self-hosted n8n, and environment access for$env. If it can't get the raw body it re-serialises the JSON, which matches FormThunder's output as long as n8n preserves key order.
Or ask your AI
An agent connected over MCP can set this up, send a test through it and read the result.
Send submissions from my contact form to n8n. Send a test and tell me whether it arrived.Questions
Does this work with self-hosted n8n?
Yes, as long as the webhook URL is on public HTTPS. A localhost URL or a private IP is refused.
Why do I get a 404 from n8n?
Usually the form points at the test URL, or the workflow isn't active. Use the production URL and activate the workflow, then press resend on the failed delivery.
Connect your form to n8n
Integrations are on Pro at $12 a month and Agency at $39 a month. The form itself is free to start.