How to Test Zapier Webhooks — Catch Hook Trigger Guide
Zapier's Webhooks app is powerful but testing it is non-obvious. This guide explains how to test the Catch Hook trigger, map payload fields, use the Custom Request action, and fix the most common Zapier webhook errors.
Zapier Catch Hook Explained
Zapier's Webhooks by Zapier → Catch Hook trigger gives you a unique URL. Any HTTP POST sent to that URL starts your Zap and makes the request body available as field data in subsequent actions.
This is the most flexible Zapier trigger — you can use it with any service that sends webhooks, custom scripts, or other Zaps. The payload can be JSON, form-encoded, or even XML.
⚠️ Important: Zapier requires a sample payload to be sent to the Catch Hook URL before it can map fields. Without sending an actual request, Zapier can't identify what fields your Zap will receive.
Capturing the Payload Before It Reaches Zapier
Before completing your Zap setup, use Requex.me to inspect the raw payload your service sends. This prevents spending time re-entering Zapier's setup wizard after discovering field names don't match.
Get your Requex URL
Visit requex.me. Your unique URL is ready instantly.
Paste into your sending service
In the service that'll trigger your Zap, set the webhook URL to your Requex URL. Trigger a test event.
Inspect the payload in Requex
Note the exact field names and nesting. This is what Zapier will receive — knowing the structure lets you build the Zap without guessing.
Switch to Zapier's Catch Hook URL
Now update the sending service with Zapier's Catch Hook URL. Trigger the event again so Zapier receives the sample payload and auto-maps the fields.
Sending a Test Payload to Map Fields
During Zap setup, Zapier prompts you to "Test the trigger" — it's waiting for an actual HTTP request to its Catch Hook URL. You can send this from your terminal:
curl -X POST https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID/ \
-H "Content-Type: application/json" \
-d '{
"customer_email": "[email protected]",
"order_id": "ord_8821",
"amount": 89.99,
"currency": "USD",
"items": [{"sku": "SHIRT-L", "qty": 2}]
}'After this fires, Zapier maps each field. customer_email, order_id, amount, and currency become available in all downstream Zap actions as field tokens.
Using the Captured Payload to Build the Rest of the Zap
Once your sample payload is in Zapier, you can reference any field in downstream actions using the field picker. For example, in a "Send Email" action:
{{customer_email}}Order {{order_id}} confirmedTotal: {{amount}} {{currency}}💡 Tip: Nested JSON is flattened by Zapier. For a payload like {"user": {"id": 42, "name": "Alice"}}, the field name in Zapier becomes user__id and user__name (double underscore for nesting).
Testing the Custom Request Action
Beyond Catch Hook (receiving), Zapier also offers Webhooks by Zapier → Custom Request — which sends an HTTP request from Zapier to any URL. To test what Zapier sends, set your Requex URL as the target URL in the Custom Request action:
- In your Zap, add a Webhooks action → Custom Request
- Set the URL to your Requex URL
- Configure Method, Headers, and Data as you normally would for production
- Run the Zap — the request appears in Requex instantly
- Inspect the exact request Zapier sends, including headers and body formatting
- Once verified, replace the Requex URL with your real production endpoint
Common Zapier Webhook Errors
Zap not triggering — payload sent but Zap off
The Zap must be turned on for the production Catch Hook URL to work. During setup, use the "Test" button in the editor. Once satisfied, turn the Zap on before pointing your production service at it.
Fields not appearing in field picker
Zapier only shows fields it received in the sample payload. If a field is missing, send another test event that includes that field, then click "Load More" in the field picker or re-test the trigger.
Custom Request returning non-2xx response
If the target endpoint returns 4xx or 5xx, Zapier marks the Zap run as failed. Use Requex.me with custom response simulation to test how your Zap handles error responses.
Task usage depleted on free plan
Zapier's free tier limits monthly task usage. Every time a Zap runs successfully, it consumes a task. During heavy testing, this quota can be exhausted. Use Requex.me to verify everything is working before fully activating high-frequency Zaps.
Related Resources
Inspect Your Zapier Webhook Payload
Capture and inspect the exact data before building your Zap. Free, no signup.
Open Webhook Tester →