Webhooks

Send signed form submissions to your endpoint.

A submission that only lands in an inbox can't trigger anything downstream. FormWire POSTs every submission to any endpoint you control as signed JSON, carrying an x-form-signature HMAC header you verify. It's configured per form, firing alongside the email and the stored record.

A submission your systems can act on

What each webhook POST carries.

A JSON body you own

Every submission POSTs as JSON (id, form, fields and a spam flag) into your CRM sync, a queue or a custom endpoint.

Signed with an HMAC header

Each request carries an x-form-signature HMAC of the raw body. Verify it against your signing secret and you know the payload is FormWire's, untampered.

Retried on a failed POST

A non-2xx response or a timeout is retried automatically, so a brief outage on your endpoint doesn't drop the submission.

Only real leads reach your handler

Webhooks fire after spam filtering, so your endpoint processes genuine submissions instead of bot traffic.

Set up in under a minute

Wire a form to your endpoint in 3 steps.

  1. Open the Integrations tab

    From your form's Integrations tab, choose Webhooks. Everything for this destination is configured per form, right here.

  2. Paste your endpoint URL

    Add the HTTPS URL to POST to, then copy the signing secret FormWire generates. That secret is how you'll verify every request.

  3. Receive and verify

    New submissions arrive as JSON. Recompute the HMAC over the raw body and compare it to x-form-signature: match, and you trust the payload.

The payload

What lands at your endpoint.

A JSON body you can act on, and a signature you check first.

{
  "id": "sub_9fK2xQ7mB1",
  "form": "contact",
  "created_at": "2026-07-18T14:32:07Z",
  "spam": false,
  "data": {
    "name": "Dana Okafor",
    "email": "dana@example.com",
    "message": "Can you send over the API pricing tiers?"
  }
}

The exact header name, signature encoding and HMAC algorithm are pinned in the webhook docs. Verify against them before you ship your handler.

Webhooks FAQ

Payloads, verification and the details that matter.

Want a different destination?

All integrations
Ready in a minute

Every submission, POSTed to your stack.

Add your endpoint, copy the signing secret. The next submission arrives as signed JSON you can verify and act on.