Skip to main content

Webhooks

Webhooks send HTTP POST requests to your server whenever a form event occurs.

Setup

  1. Open a form → Integrations tab.
  2. Click Add webhook.
  3. Enter your endpoint URL.
  4. Choose events to subscribe to.
  5. Optionally add custom headers and a signing secret.

Events

EventDescription
response.createdFired when a new response is submitted.
response.updatedFired when a partial response is updated.

Payload

Webhooks send JSON payloads with:
{
  "event": "response.created",
  "form_id": "abc123",
  "form_name": "Customer Feedback",
  "response_id": "resp_456",
  "data": {
    "question_1": "John Doe",
    "question_2": "john@example.com",
    "question_3": 5
  },
  "submitted_at": "2026-03-27T10:30:00Z"
}

Security

Custom Headers

Add custom headers to authenticate requests on your server (e.g. X-API-Key: your-secret).

HMAC Signature

Set a signing secret, and Zevform will include an HMAC-SHA256 signature in the X-Zevform-Signature header. Verify this on your server to confirm the webhook is authentic.

Delivery Logs

View delivery history for each webhook:
  • Status code — HTTP response code from your server.
  • Duration — How long the delivery took.
  • Response body — First 500 characters of your server’s response.
  • Error — Error message if delivery failed.

Testing

Click Test to send a test payload to your endpoint without requiring a real submission.