Skip to content

What is a webhook?

Reviewed on 24 October 2026

A webhook is a message that one app sends to another by itself, the moment something happens. Zapier's help page describes it as an automatic message passed between apps.1

That's all the word means. When a tool says it can "send a webhook", it can push a message out when an event occurs. When it says it can "receive a webhook", it has an address that other apps can send those messages to.

What you need to know first

  • The event is the thing that happens. A form is filled in, a payment goes through, a file is uploaded.
  • The sender is the app where the event happens.
  • The receiver is the app, or automation tool, that gets the message and does something with it.
  • The URL is the address the sender posts the message to. The webhook URL page covers it in full.

How it works, step by step

You set it up once. First, you ask the receiving tool for an address. In Zapier, the catch-hook trigger gives you a unique URL, and the sending app posts its requests there.1

Next, you paste that address into the sending app's webhook settings. You also choose which events you care about.

After that, you don't do anything. GitHub's documentation says you only express interest in an event once, and a delivery of data then arrives whenever that event occurs.2

A webhook from event to actionSomething happens in app AApp A sends a message to your URLApp B receives itApp B starts an action
The sending app does the work of telling the receiver.

Wikipedia gives the same picture in a technical form. When the event occurs, the source site makes an HTTP request to the webhook's configured URL.3 HTTP is just the standard way programs talk over the web, the same one your browser uses.

Why a business owner would care

Webhooks are what let one tool react to another without a person copying data across. A new enquiry arrives in a form tool, and that tool can tell your automation tool straight away.

They also feed AI tools. If an automation passes a message to an AI step, a webhook is often the thing that started the run. The AI step page covers what should go into that step.

What the message looks like

The sender doesn't send a web page. It sends a small package of data. Stripe's documentation says it delivers its events over HTTPS as a JSON payload that carries the event information.4

JSON is a plain-text way to write labelled data. The message contents page shows what one looks like and what the headers mean.

Things that catch beginners out

  • A webhook only fires for the events you chose. If you didn't pick an event in the sender's settings, nothing arrives.
  • The sender needs the right address. A single wrong character in the pasted URL means the message goes nowhere.
  • Both ends need to be switched on. Zapier notes that if a Zap is turned off or deleted, it returns a 404 response to incoming webhook requests, though the change can take up to several hours.1
  • Some tools say "webhook" for the sending side only, and others for the receiving side only. Check which one a feature covers before you plan around it.

One more point. Wikipedia says users can set webhooks up so that an event on one site triggers behaviour on another.3 The two apps don't have to come from the same maker.

Where to go next

If you're wondering how this differs from an API, read webhook or API. If you've been handed a long address to paste, read the webhook URL before you share it.

Sources used

  1. Trigger Zap workflows from webhooks, Zapier
  2. About webhooks, GitHub Docs
  3. Webhook, Wikipedia
  4. Receive Stripe events in your webhook endpoint, Stripe Documentation