Why not call Gumroad's API directly from your own endpoint? You can — but then you own Gumroad's signature verification, retry handling, and payload quirks yourself. ZestyGlue verifies the signature, normalizes the event into a clean JSON body, and POSTs it to your URL — you only write the part that's actually yours.
What it looks like
A real Gumroad event, shown as ZestyGlue formats it for Custom Webhook.
Setup — about two minutes
- Create the connector. In ZestyGlue, start a new Gumroad → Custom Webhook connector. You'll get a unique webhook URL right away.
- Point Gumroad at it. Go to Settings → Advanced → Ping, and paste in your ZestyGlue webhook URL. That's the only setting — Gumroad's Ping feature has no event picker.
- Point it at your endpoint. Paste the URL of your own server, script, or automation tool's webhook receiver — no signup, no app to install.
Tip: Gumroad's Ping feature sends one webhook format for every sale and marks refunds with a refunded field — ZestyGlue reads that automatically, so refunds show up clearly labeled instead of looking like new sales.
Events you can forward
sale (ping)
refund
Questions
Does Gumroad support picking specific event types like other platforms?
No — Gumroad's Ping feature sends every sale to one URL with no event picker. ZestyGlue reads the refunded field to label refunds separately.
Will this work for subscription or affiliate products?
Yes, the Ping payload includes the same core fields regardless of product type, so subscriptions and affiliate sales flow through normally.
Do I need to write my own server to receive this?
Yes — this destination expects your own endpoint (or a tool like a serverless function, a script, or another automation platform's webhook trigger) to receive the POST. If you don't have one yet, pick one of ZestyGlue's built-in destinations instead.
What happens if my ZestyGlue subscription lapses?
Events are silently dropped rather than causing errors on Gumroad's side — Gumroad never sees a failure response, so it won't retry aggressively or flag your webhook as broken. Your dashboard will simply stop showing new events until you resubscribe.