Skip to content

What is a webhook? A plain-English guide for marketers

What is a webhook? A plain-English guide with everyday analogies, a sample quiz payload, how to use one with Zapier or Make, and how to fix failures.

By . 9 min read. .

What is a webhook? It is an automatic message that one app sends to another when something happens. A visitor finishes your quiz, and your website immediately posts the details to a web address you chose. Another tool receives them and does something useful, like adding the person to your email list. You set it up once, and it runs every time.

That is all it is. The rest of this guide explains it with everyday comparisons, shows what the message looks like, and covers testing, safety and the reasons webhooks fail.

What is a webhook, explained with a doorbell

Imagine you are waiting for a parcel. You could walk to the front door every five minutes to check whether it has arrived. Or you could install a doorbell, so the courier tells you when they are there.

Checking the door again and again is how most software asks for information. A doorbell is a webhook. Something happens, and the message arrives at your door without you asking.

Another comparison: a newsletter. You do not go to a website each morning to see if there is news. The news comes to you. A webhook is the same thing for apps, except the message is data and not an article.

Webhook, API and email notification

These three get mixed up, so here is the difference.

What it doesWho starts itExample
WebhookPushes data to a web address when something happensThe app where it happenedA quiz sends a new lead to your automation tool
APIAnswers questions when another tool asksThe tool that wants dataYour tool asks for “all leads from last week”
Email notificationTells a person that something happenedThe app where it happenedYou get an email that a new lead came in

The key difference from an email notification is who reads it. An email is written for a human. A webhook is written for another program, so it can act without you.

The key difference from an API is timing. An API is like calling a shop to ask whether your order is ready. A webhook is the shop calling you when it is.

For a marketer, this means webhooks are usually the easier route. You do not need to write requests or remember to check. You give the sending app an address and it does the rest.

What a webhook message contains

The message is called a payload. It is usually a block of text in a format called JSON, which is just labeled values. You do not have to write it. You only need to recognize it.

Quizably posts to the address you give it when the lead form is submitted and again when the quiz is completed. The event field tells the two apart. Here is what the payload contains, using clearly fake sample data:

{
  "event": "submission_completed",
  "quiz_uuid": "a1b2c3d4-0000-0000-0000-000000000000",
  "quiz_title": "Which type of runner are you?",
  "quiz_type": "personality",
  "submission_uuid": "e5f6a7b8-0000-0000-0000-000000000000",
  "result": {
    "id": 3,
    "title": "The Sprinter"
  },
  "score": null,
  "breakdown": {},
  "lead": {
    "id": 42,
    "email": "alex@example.com",
    "name": "Alex Example",
    "phone": "",
    "double_optin_verified": null
  },
  "timestamp": "2026-11-14T10:30:00Z"
}

The exact formatting of each value, such as the quiz type or the timestamp, can vary, so treat this sample as an illustration of the fields and not a template to copy. Here is what each field means:

  • event: lead_captured when the form is submitted, submission_completed when the quiz is scored. A quiz with a lead form sends both, and the completed one carries the lead too, so for one record per visitor act on submission_completed. The submission_uuid joins them.
  • quiz_uuid and quiz_title: which quiz this came from.
  • quiz_type: personality, trivia, survey or poll.
  • submission_uuid: a unique ID for this one submission.
  • result: the result the visitor got, with its ID and title. For segmenting, this is the most useful field.
  • score: the score, for score-based quizzes.
  • breakdown: the detail behind the result or score.
  • lead: the person’s details: id, email, name, phone and, if you use double opt-in, whether they have confirmed yet. It’s null if the visitor skipped the form.
  • timestamp: when it happened.

The payload doesn’t include the individual answers, UTM tags or the consent checkbox. If you need those, the CSV export on the Leads screen has them.

Notice that the payload carries the result together with the contact. That is what lets your email tool tag Alex as “The Sprinter” and send the right emails, without anyone copying data by hand.

What you can do with a webhook

A few realistic uses, all hypothetical:

  • Add each new quiz lead to an email list and tag them with their result.
  • Post a message to a team chat when a lead arrives.
  • Add a row to a spreadsheet for each submission.
  • Create a task for a salesperson when someone gets a particular result.
  • Start a welcome sequence as soon as a lead confirms.

Each of these is a chain: something happens (the quiz is taken), and then one or more actions follow. A webhook is the link that starts the chain.

How to use a webhook with Zapier or Make

You do not need to code. Zapier and Make are tools built to catch webhooks and act on them. The steps below are general, because the screens change and differ by tool. If you’re still comparing quiz plugins, a webhook is one of the integration features to look for in a quiz plugin.

  1. Create a new workflow in your automation tool.
  2. Choose a webhook as the trigger. The tool gives you a unique web address. Copy it.
  3. Paste the address into Quizably. In the quiz builder, open the Integrations tab and add it as the webhook URL.
  4. Send a test submission. Use the test button on the webhook, then take your own quiz with a fake name and an email like alex@example.com so your automation tool can see what the data looks like.
  5. Add your actions. For example, create or update a contact in your email tool, and map the fields: email, name, and result title.
  6. Test the whole chain with another submission and check the result in your email tool.
  7. Turn the workflow on.

Quizably does not connect directly to specific email tools, so this webhook route is how you get leads to one. Messages are sent in the background, so the visitor never waits on your automation tool, and a failed delivery is retried up to three times over a few minutes. There’s no delivery log in Quizably, so your automation tool’s history is where you check what arrived. Because the payload includes the result, you can use it to tag or segment each contact. The next step after that is deciding what to send.

How to test a webhook

Most webhook problems come from skipping the test. A few habits help.

  • Use a fake submission first. Take the quiz with a made-up name and an address you control.
  • Look at what arrived. Your automation tool will show the data it received. Check that the email, name and result are all there and in the right place.
  • Test each result. If you have four results, run the quiz four times. A mapping that works for one result can break for another.
  • Check the end of the chain, not just the start. Did the contact actually appear in your email tool, with the right tag?
  • Turn on your owner notification as a backup. Quizably can email the site owner about submissions and leads, so you will see a lead even if the automation fails.

If you use double opt-in, remember that the lead is saved right away as pending, and the lead_captured message and your new-lead email wait until the person clicks the link. Test that path as well.

Security basics in plain terms

A webhook address is like a mail slot in your front door. Anyone who knows where it is can drop something through. A few simple habits keep that manageable.

  • Treat the address like a password. Do not paste it in a public forum, a screenshot, or a shared document that many people can see. Quizably sends to one address per quiz and doesn’t sign its messages, so the receiving tool can’t check who sent them. Keeping the address private is your main protection.
  • Use addresses that start with https. That means the message is encrypted on its way.
  • Send data only to tools you trust. A quiz payload includes email addresses, so you are passing personal data along. Check who you are sending it to and what they do with it.
  • Send only what you need. Do not forward the whole payload to five places if two need it.
  • Replace the address if it leaks. Most automation tools let you generate a new one. Update it in the quiz and delete the old one.
  • Tell people how you use their data. A privacy note near the quiz form is a good habit, and in many places it is expected.

Quizably stores answers on your WordPress site, hashes visitor IP addresses before storing them, and lets only users with the right capability view leads. The webhook is the point where you choose to send data elsewhere, so that choice is yours to make carefully.

Why webhooks fail, and how to fix them

When a webhook stops working, the cause is usually dull. Check these in order.

  1. The workflow is switched off. Automation tools often have an on and off switch, and some only catch data while they are listening.
  2. The address is wrong. A missing character or an old address from a deleted workflow. Copy it again.
  3. You are testing on a site that cannot reach the internet. A local development site, for example, may not be able to send messages out the way a live site can.
  4. The receiving tool expected something else. Maybe a field was empty, or a field you mapped no longer exists. Check the data the tool actually received.
  5. The next step failed, not the webhook. The message arrived, but the email tool refused the contact, for example because the address was already on a list or was missing. Look at the history of your workflow.
  6. A plan limit or a pause in your automation account. Free plans of automation tools often limit how many tasks they run.
  7. WordPress cron isn’t running. Quizably queues each message with WordPress cron. If your host has switched that off and there’s no real cron job in its place, nothing gets sent.
  8. Your hosting blocks outgoing requests. Rare, but possible. Ask your host if everything else checks out.

The fix almost always starts with a fresh test submission, because it shows you exactly where the chain breaks.

Where to go from here

You now know enough to use a webhook. To see how it fits into the bigger picture of capturing and sorting leads, read what is a quiz funnel. If your goal is a bigger list, how to grow your email list with a quiz puts the webhook to work in a full plan. If you use Mailchimp, how to send quiz leads to Mailchimp with Zapier walks through one complete setup. Then open the Integrations tab in Quizably, paste in an address from your automation tool and send one test submission. It takes a few minutes, and you will see for yourself how it works. For the full plan, from choosing a quiz to following up, read the quiz marketing guide.

Frequently asked questions

What is a webhook in simple terms?

A webhook is an automatic message one app sends to another when something happens. When a visitor finishes your quiz, your site can post the details to a web address, and another tool picks them up and acts on them.

What is the difference between a webhook and an API?

With an API, your tool asks another system for information when it wants it. With a webhook, the other system sends the information to you the moment something happens. Webhooks push, APIs are pulled.

Do I need to code to use a webhook?

No. Tools like Zapier and Make give you a webhook address to paste into your quiz plugin, then let you build the next steps with menus and forms instead of code.

Is a webhook safe?

It can be, if you treat the address like a password, send it only to tools you trust, and use HTTPS. Anyone who has the address can send data to it, so do not post it in public places.

Why is my webhook not working?

The usual causes are a wrong or expired address, a workflow that is switched off, a site that cannot reach the internet, or a receiving tool that expected a different format. Send a test submission and check what the receiving tool shows.

Keep reading