Zapier Webhook Example

Inspect a Zapier webhook request as it arrives at your endpoint. See the JSON Zapier posts and the headers that come with it. Find out why there is no signature to check and how a failed step is replayed. Catch a real Zapier request on a URL of your own with the ReqBin Webhook Tester. No sign-up, nothing to install.

What is a Zapier webhook?

A Zapier webhook is an HTTP request that Zapier sends to a URL you registered, telling your server that something happened in an app it watches: a row was added to a sheet, a form was submitted, a payment was received. These events happen outside your server, so the only way Zapier can tell it is to send a request carrying the fields you mapped.

How do I receive Zapier webhooks while developing on localhost?

Zapier can deliver requests only to public URLs. A dev server on localhost is not reachable from the internet, so nothing Zapier sends arrives there. To make your localhost URL public, you need to install a tunnel, which is not a trivial task.

A simpler option is to use a ReqBin webhook URL. It is public, it takes whatever Zapier posts to it, and it shows you each request, as soon as it lands.

How do I connect a ReqBin webhook URL to Zapier?

  1. Create a webhook URL with the ReqBin Webhook Tester and copy it.
  2. In your Zapier workflow, add the request as an action:
    1. Add an action step, choose Webhooks by Zapier, and pick POST.
    2. Paste the ReqBin URL into URL and set Payload Type to JSON.
    3. Map the fields you want into Data, one key and value per row.
  3. Test the step and read the Zapier request details on your inbox page.

Can I edit a caught request and send it to my own server?

Yes. On the inbox page, select any of the requests you received from Zapier and press Open in API Tester. The request opens in the ReqBin API tester with everything that arrived. Enter your URL, change what you need, and send the request to your server. To send requests to localhost or to another server on your local network, you need to add the ReqBin Google Chrome Extension to your browser using this link.

What does a Zapier webhook payload look like?

Zapier sends the fields you mapped in the action's Data rows: one key and value per row, flat, in the order you entered them.

Zapier Webhook Example
{
  "event": "new_order",
  "order_id": "1234",
  "customer_name": "Jason Sweet",
  "customer_email": "[email protected]",
  "amount": "49.00",
  "currency": "USD"
}

Payload Type decides the shape and the content type with it: JSON sends application/json, Form sends application/x-www-form-urlencoded, XML sends application/xml. What each field of the action does is in Zapier's own help.

How does Zapier sign a webhook?

It does not. No signature header, no shared secret — a request from Zapier is an ordinary POST, and its URL is the only credential.

Does Zapier retry a failed request?

It depends on your plan. A plan with autoreplay repeats a failed step for you — up to five replays over about ten hours, then an email. Without it, an errored run waits for a manual replay from Zap history.

Updated: