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
{
"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.