All field notes
Webhook guide 3 min read

Zapier Webhook Testing Guide: Inspect Every Request

Put a temporary inspector between a Zap and the real receiver so you can see the exact method, headers, body, and response contract before enabling production automation.

Published August 3, 2026Facts verified August 3, 2026By Webhook Tester
Zapier webhook testing guideWebhooks by Zapier testZapier webhook testerZapier Catch Hook troubleshootingZapier custom request debug

Interactive example

Webhooks by Zapier request lab

Compare JSON and form-encoded action output. The custom correlation header and every payload value are synthetic.

POSTCaptured request
Content-Type
application/json
Accept
application/json
X-Test-Correlation-Id
zap_test_1042
{
  "event": "order.ready",
  "order_id": "ord_test_1042",
  "customer": {
    "id": "cus_test_82",
    "email": "[email protected]"
  },
  "items": [
    { "sku": "SKU-TEST-1", "quantity": 2 }
  ],
  "synthetic": true
}

Configured response

200 OK

Content-Type: application/json

{"accepted":true,"fixture":"zapier-order-test"}
X-WebhookTest-Receipt: synthetic-zapier-1042

Synthetic data only. Never paste production tokens, signing secrets, personal data, or payment information into a public test endpoint.

One-click test setup

Creates a temporary bucket and applies this guide's expected response. You can inspect and delete it from the dashboard.

01

Inspect the Zap Action Before the Real API

A successful Zap editor test does not prove that the production receiver got the request shape you intended. Field mapping, empty values, automatic serialization, and content type can change between the source record and the outbound HTTP request.

Temporarily use the WebhookTest.net endpoint as the action URL. Send only synthetic data, then inspect the raw body and headers. Do not put API keys, Basic Authentication credentials, OAuth tokens, customer records, or a real Zapier Catch Hook URL into the public fixture.

02

Choose JSON, Form, or Raw Data Deliberately

The JSON scenario preserves nested objects and arrays for an API that expects application/json. The form scenario shows the flattened application/x-www-form-urlencoded contract used by simpler receivers. Pick the shape documented by the destination rather than whichever option happens to return 200.

Inspect the exact Content-Type and raw bytes in the capture. If a nested object becomes a string or numbered fields appear unexpectedly, correct the Zap mapping before adding authentication or changing the receiver.

  • Use JSON when the destination specifies a JSON schema
  • Use form encoding only for receivers that expect key-value fields
  • Configure sensitive authorization only after moving to the private destination
  • Add a safe correlation value so the Zap run and capture can be matched
03

Understand Zapier Catch Hook Behavior

When Zapier is the receiver, Catch Hook parses the incoming payload while Catch Raw Hook exposes the unparsed body and headers. Zapier currently documents a 10 MB maximum for webhook triggers and 2 MB for Catch Raw Hook. A completely empty request is ignored.

Catch Hook and Catch Raw Hook normally return 200 while the Zap is live. Zapier documents 404 behavior for a disabled or deleted Zap, with a system-update delay before that state can take effect. Treat the hook URL as a password-like capability because anyone who has it can trigger the Zap.

04

Diagnose Missing and Duplicate Runs

If the temporary inspector receives nothing, verify the Zap action ran, its URL is complete, and the chosen app permits outbound HTTPS. If the inspector receives a correct request but the real API fails, compare status, response body, TLS, authentication, and destination-specific limits.

If a workflow runs twice, compare a stable source event ID or your synthetic correlation header. Retries and manual replays are normal possibilities. The final receiver should claim an idempotency key before performing a charge, message, provisioning action, or other irreversible side effect.

  • Nothing captured: confirm the action step and destination URL
  • Empty test ignored: include a body field or query value
  • Wrong field shape: inspect the raw JSON or form body
  • 404 from Catch Hook: confirm the Zap is live and allow for state propagation
  • Multiple runs: deduplicate by a stable event or business-operation key
05

Move the Verified Contract to Production

After the synthetic request is correct, change only the destination URL and add secrets through protected Zap configuration. Preserve the verified method, content type, field mapping, and safe correlation strategy.

Run one non-production end-to-end event, record the receiver response, and confirm exactly one downstream side effect. Then delete the temporary bucket and remove its capability URL from Zap history, screenshots, and team notes where practical.

Common questions

Frequently asked questions

How do I test a webhook sent by Zapier?
Use a Webhooks by Zapier action with the temporary endpoint as its URL, send a synthetic test record, and compare the captured method, headers, and body with the API contract. Replace only the destination URL after the request is correct.
Should I use Catch Hook or Catch Raw Hook in Zapier?
Zapier recommends Catch Hook for most parsed webhook triggers. Use Catch Raw Hook when you need the unparsed body and headers; its documented raw payload maximum is 2 MB.
Why does a Zapier Catch Hook ignore my test?
Zapier documents that a completely empty request is ignored. Send at least one synthetic body field or query value, use a supported JSON, XML, or form-encoded format, and confirm the exact Catch Hook URL.
Why did one webhook cause multiple Zap runs?
First compare captured request IDs, timestamps, and bodies. The source may have retried, two Zap hooks may be configured, or a workflow may have been replayed. Make the downstream operation idempotent before enabling production traffic.

Primary sources

Official references

Try it with a real request

Turn the guide into a test.

Open a temporary endpoint, send your payload, and inspect exactly what arrived.

Open the tester