Skip to content

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.

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.

  1. Open app.formkove.com and select your form
  2. Go to IntegrationsWebhook
  3. Paste your endpoint URL
  4. Save

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.

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.

Zapier lets you route Formkove submissions to 5,000+ apps.

  1. Create a new Zap in Zapier
  2. Choose WebhookCatch Hook as the trigger
  3. Zapier will give you a webhook URL. Copy it
  4. Paste it into Formkove (IntegrationsWebhook)
  5. Submit a test form entry. Zapier will capture it
  6. Continue building your Zap (Slack, Google Sheets, Mailchimp, etc.)

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.

  1. Catch Hook captures the submission
  2. Lookup Spreadsheet Row or Create Spreadsheet Row action
  3. Map form fields to columns (name → Column A, email → Column B, etc.)
  1. Catch Hook captures the submission
  2. Send Channel Message action
  3. Use {{field_name}} tokens to insert submission data into the message
  1. Create a new Scenario in Make
  2. Add a Webhook module → Custom webhook as the trigger
  3. Copy the webhook URL into Formkove
  4. Submit a test entry
  5. Continue building your workflow

Make lets you build more complex scenarios with filters, iterators, and data transformations.

  1. Create a new Workflow in Pipedream
  2. Select HTTP Webhook as the trigger
  3. Copy the endpoint URL into Formkove
  4. Submit a test entry
  5. Add actions: send to Slack, store in database, run custom Node.js code

Pipedream is free for reasonable volumes and has excellent debugging tools.

  1. Create a new Workflow in n8n
  2. Add a Webhook node
  3. Copy the webhook URL into Formkove
  4. Submit a test entry
  5. Connect to any node: HTTP Request, Google Sheets, Airtable, Slack, etc.

Use webhook.site or requestbin.com to get a temporary URL you can test with before connecting your real automation platform.

Formkove sends webhooks for:

Event When it fires
submission.created New valid submission
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