Integrate

Webhooks

Receive every genuine response as JSON at a URL of yours, the moment it arrives.

Add a webhook URL in the form's Settings → Integration. Each genuine response is POSTed to it as JSON with the header x-pixelverse-event: submission.created. Spam and rate-limited responses are never delivered.

Payload

json
{
  "event": "submission.created",
  "form": { "id": "4f2c…", "name": "Website contact", "slug": "contact" },
  "submission": {
    "id": "9a1b…",
    "created_at": "2026-10-09T01:23:45.000Z",
    "data": { "name": "Jane", "email": "jane@acme.com", "message": "Hello" },
    "meta": { "utm_source": "newsletter" },
    "country": "Australia", "country_code": "AU", "city": "Sydney",
    "device": "desktop", "browser": "Chrome", "os": "macOS",
    "referrer": "https://acme.com/contact"
  }
}

Delivery

  • Sent once, immediately, in parallel with the emails. Delivery times out after 6 seconds.
  • Not retried. If your endpoint must never miss an event, respond fast (queue the work) and reconcile with an export if needed.
  • Any 2xx is a success. Other statuses are logged on our side only.

Securing the endpoint

Payloads are not signed yet. Put an unguessable token in the URL path or query (for example https://api.acme.com/hooks/pv/8f3c2a…) and reject requests without it. Signed payloads are on the changelog roadmap.

Common targets

Zapier, Make and n8n all offer a catch webhook trigger that accepts this payload directly. Slack incoming webhooks expect a different shape, so route through one of those or a small function of your own.

Something missing or wrong? Email us and we will fix it.