Zapier and Webhooks
Webhooks let you send Formkove submissions to any HTTP endpoint, which means you can connect to Zapier, Make, Pipedream, n8n, CRMs, databases, or your own backend.
This is a Pro feature.
How Webhooks Work
Section titled “How Webhooks Work”When a submission comes in, Formkove sends an HTTPS POST to your configured URL with the form data as JSON. Your endpoint receives it, processes it, and returns a 200 OK.
Setting Up a Webhook
Section titled “Setting Up a Webhook”- Open app.formkove.com and select your form
- Go to Integrations → Webhook
- Paste your endpoint URL
- Save
Webhook Payload Structure
Section titled “Webhook Payload Structure”Every webhook POST request delivers a JSON body. Note that the submitted form data is nested under the data key, while metadata is at the root:
{ "id": "sub_abc123", "formId": "form1_f1fbfb94b460156e2", "formName": "Contact Form", "data": { "name": "Jane Smith", "email": "jane@example.com", "message": "Hello, I would like to learn more." }, "createdAt": 1720725336000}What gets sent depends on the fields in your form. Custom fields come through as-is inside the data object. Configured honeypot fields are stripped before delivery. AI classification features (like tags, spam scoring, and sentiment analysis) are performed asynchronously and are not included in raw webhook payloads.
Webhook Security (Signatures)
Section titled “Webhook Security (Signatures)”If your webhook has a secret key configured, Formkove signs the request with a SHA-256 HMAC signature.
Every delivery includes the following headers:
X-Formkove-Delivery-Id: A unique UUID for this specific webhook delivery attempt.X-Formkove-Signature: The hex-encoded HMAC-SHA256 signature, generated by signing the raw request body with your webhook secret.
To verify the request, generate an HMAC-SHA256 signature on the raw request body using your configured secret and compare it to the X-Formkove-Signature header.
Connecting via Zapier
Section titled “Connecting via Zapier”Zapier lets you route Formkove submissions to 5,000+ apps.
- Create a new Zap in Zapier
- Choose Webhook → Catch Hook as the trigger
- Zapier will give you a webhook URL. Copy it
- Paste it into Formkove (Integrations → Webhook)
- Submit a test form entry. Zapier will capture it
- Continue building your Zap (Slack, Google Sheets, Mailchimp, etc.)
What Gets Passed to Zapier
Section titled “What Gets Passed to Zapier”The Zapier payload has a flat structure where all submitted form fields are merged at the root level, alongside metadata fields (id, form_id, form_name, and created_at):
{ "name": "Jane Smith", "email": "jane@example.com", "message": "Hello, I would like to learn more.", "id": "sub_abc123", "form_id": "form1_f1fbfb94b460156e2", "form_name": "Contact Form", "created_at": 1720725336000}You can use any of these fields to map data into your Zap’s downstream actions.
Zapier Example: Route to Google Sheets
Section titled “Zapier Example: Route to Google Sheets”- Catch Hook captures the submission
- Lookup Spreadsheet Row or Create Spreadsheet Row action
- Map form fields to columns (name → Column A, email → Column B, etc.)
Zapier Example: Notify Slack
Section titled “Zapier Example: Notify Slack”- Catch Hook captures the submission
- Send Channel Message action
- Use
{{field_name}}tokens to insert submission data into the message
Connecting via Make (Integromat)
Section titled “Connecting via Make (Integromat)”- Create a new Scenario in Make
- Add a Webhook module → Custom webhook as the trigger
- Copy the webhook URL into Formkove
- Submit a test entry
- Continue building your workflow
Make lets you build more complex scenarios with filters, iterators, and data transformations.
Connecting via Pipedream
Section titled “Connecting via Pipedream”- Create a new Workflow in Pipedream
- Select HTTP Webhook as the trigger
- Copy the endpoint URL into Formkove
- Submit a test entry
- Add actions: send to Slack, store in database, run custom Node.js code
Pipedream is free for reasonable volumes and has excellent debugging tools.
Connecting via n8n
Section titled “Connecting via n8n”- Create a new Workflow in n8n
- Add a Webhook node
- Copy the webhook URL into Formkove
- Submit a test entry
- Connect to any node: HTTP Request, Google Sheets, Airtable, Slack, etc.
Testing Webhooks
Section titled “Testing Webhooks”Use webhook.site or requestbin.com to get a temporary URL you can test with before connecting your real automation platform.
Events
Section titled “Events”Formkove sends webhooks for:
| Event | When it fires |
|---|---|
submission.created |
New valid submission |
Troubleshooting
Section titled “Troubleshooting”| Problem | Fix |
|---|---|
| Webhook not firing | Check the URL is correct and uses https:// |
| 403 or 500 error | Your endpoint returned an error. Check its logs |
| Data missing | Verify all field names match what you’re sending from the form |
| Zapier didn’t catch test | Make sure you actually submitted a form entry after adding the webhook URL |
