Webhooks push your quiz events to Make, n8n, Pabbly Connect, Pipedream or your own server as signed JSON — the same events and data as the Zapier integration.
What your endpoint receives
POST https://your-server.com/shopperquiz
X-ShopperQuiz-Event: quiz.completed
X-ShopperQuiz-Signature: t=1791279842,v1=5f2a…
{
"id": "0f8c2d6e-3b1a-4c7e-9f21-5a6b7c8d9e01",
"type": "quiz.completed",
"created_at": "2026-10-06T09:44:02.000Z",
"test": false,
"data": {
"quiz_name": "Hair Discovery Quiz",
"platform": "shopify",
"shopper_email": "[email protected]",
"newsletter_opt_in": true,
"answers_text": "Hair type: Curly",
"recommended_product_names": "Hibiscus Oil, Amla Powder",
"filters_matched": 1
}
}Example data
Set up
From a Make custom webhook, an n8n Webhook node, Pabbly Connect, or your own server. It must use https.
Integrations → Webhooks → Add endpoint. Tick the events to send, and optionally pick a single quiz.
It’s shown once. Your code uses it to verify the X-ShopperQuiz-Signature header.
Click Send test — your tool receives a realistic sample event within a second.
What you can do
A Webhooks → Custom webhook module learns the data structure from a test event. Map fields such as data.shopper_email.
A Webhook node set to POST — and optionally a Crypto node to verify the signature.
Paste the trigger URL as an endpoint, send a test, and map the captured fields in your actions.
Verify the HMAC-SHA256 signature with ready-made Node.js, Python and PHP examples in the docs.
The details
Every event includes the shopper, quiz and store. From quiz.completed on, it adds every answer and the recommended products; carts and orders add their line items.
In your control
Signed and secret
Each endpoint has its own signing secret, kept server-side and shown only once. Rotate it any time.
Retries and duplicates
Failed deliveries retry for up to 12 hours. Every event has an id that stays the same on retries, so duplicates are easy to ignore.
Up to 20 endpoints
Pause, resume, edit, test, rotate or delete each one. Delivery history is kept for 30 days.
Sync per quiz
Keep test or internal quizzes out of webhooks. Every quiz is on by default, including new ones.
FAQ
With any 2xx status within 10 seconds — do slow work after responding. Respond 410 Gone to turn the endpoint off permanently.
They retry after 1 minute, 5 minutes, 30 minutes, 2 hours, 6 hours and 12 hours, then show as Failed with a Retry now button. After 50 failures in a row, the endpoint is paused automatically.
No — requests come from ShopperQuiz’s servers without a fixed IP. Verify the signature instead.
Webhooks push events to you when something happens. The API is for when your tool needs to ask for quiz data, for example “look up this shopper’s answers”.
More in the Webhooks setup guide — or ask Ana inside your dashboard.
Available on Starter and above, on Shopify and WooCommerce. Start free and upgrade when you’re ready to connect.
Get started for freeNo credit card required · Free plan available