Skip to main content
Question

. 🧩 Problem: “Catch Raw Hook” in Zapier seems to mangles binary/gzipped HTTP bodies — not actually “raw”

  • November 12, 2025
  • 3 replies
  • 52 views

Summary:

When a service sends a gzipped JSON webhook, the Zapier “Catch Raw Hook” trigger does not preserve the real bytes.

Instead, Zapier replaces invalid UTF-8 bytes with Unicode “replacement characters” (U+FFFD, rendered as ), so the payload becomes unrecoverable.
This breaks all use cases where compressed or binary bodies must be decompressed or verified inside Zapier.

 

Steps to Reproduce

  1. Create a test Zap:

    • Trigger: Webhooks by Zapier → Catch Raw Hook

    • Test & copy the generated URL.

  2. Send a gzipped POST body:

    echo '{"hello":"world"}' | gzip | \ curl -X POST "$ZAPIER_URL" \ -H "Content-Type: text/plain" \ -H "Content-Encoding: gzip" \ --data-binary @-

  3. Inspect the test trigger sample in Zapier.

What You See in Zapier

Zapier’s trigger output looks like this:

{ "raw_body": "\u001f\ufffd\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000uSMo\ufffd0\u0014...", "headers": { "content_encoding": "gzip", "content_type": "text/plain; charset=UTF-8" } }

The true gzip header byte 0x8B has been replaced with \ufffd.
Decompression fails 😒
 

Why This Matters

Many modern webhook APIs (security logs, telemetry, IoT, etc.) use gzip or deflate compression for performance.
Without true binary access, Zapier cannot act as an endpoint for those webhooks — users must build an intermediate proxy to decompress before Zapier.

 

Can you please make “Catch Raw Hook” truly raw:

  • Do not automatically decode binary payloads as UTF-8 text.

  • Provide a binary file field or base64-encoded version.

  • Optionally, automatically decompress when Content-Encoding: gzip is present.

3 replies

Troy Tessalone
Zapier Orchestrator & Solution Partner
Forum|alt.badge.img+14
  • Zapier Orchestrator & Solution Partner
  • November 12, 2025

Hi ​@Stas 

Probably best to open a ticket with Zapier Support for feedback on this and for a feature request to be logged for consideration: https://zapier.com/app/get-help


  • Author
  • Beginner
  • November 12, 2025

That too. 

I wasn’t able to find anything while analyzing.

Hence a comprehensive description and analysis here - may be useful for the community.

 


robintrainward
Zapier Orchestrator
Forum|alt.badge.img
  • Zapier Orchestrator
  • November 12, 2025

Hi ​@Stas,

Great callout, when I came across this on a project, I used a lambda function in AWS to decode and send to Zapier. Depending on how often you’re firing that webhook you could stay under their free plan.