Reference · Tools
Gumroad Trigger
Starts workflow when Gumroad events occur via webhooks
The Gumroad Trigger fires when Gumroad reports a transaction event — a sale, refund, dispute, dispute won, or subscription cancellation — and passes the full payload through, including product details, buyer email, price, currency and subscription metadata. A typical build is granting access to a course on sale and revoking it on refund or cancellation.
- Node type
- Webhook trigger
- Parameters
- 1
- Outputs
- Output
- Credentials
- Gumroad
Gumroad Trigger
Triggers on Gumroad events such as sales, refunds, disputes, and cancellations
Overview
Receives webhook notifications from Gumroad when commerce events occur on your digital products. Supports five resource subscription types: sale (new purchase), refund (purchase refunded), dispute (chargeback filed), dispute_won (chargeback resolved in seller favor), and cancellation (subscriber cancelled). Gumroad sends webhook payloads as application/x-www-form-urlencoded POST requests containing detailed transaction data including product info, buyer email, price, currency, card details, and subscription metadata. No signature verification is available from Gumroad. Useful for automating order fulfillment, license key delivery, refund processing, churn tracking, and sales analytics workflows.
Category: Sales
Tool Name: gumroad_trigger
Version: 1
Appearance: Icon: lucide-CircleDollarSign | Color: #ff90e8
Node Type
Trigger — webhook (receives incoming HTTP callbacks)
Input / Output
| Direction | Port(s) |
|---|---|
| Input | None (trigger node) |
| Output | Output |
Credentials
This tool requires Gumroad credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Cancellation | cancellation |
| Dispute | dispute |
| Dispute Won | dispute_won |
| Refund | refund |
| Sale | sale |
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Resource | options | Yes | — | The resource type that will fire the webhook event. Each type creates a separate subscription on Gumroad. |
Options: cancellation (a subscriber cancelled), dispute (a chargeback was raised against a sale), dispute_won (a sale dispute was won), refund (a sale was refunded), sale (a new purchase) |
To listen for more than one resource, add one Gumroad Trigger node per resource type.
Output Data
Each delivery produces one output item. The Gumroad payload fields are placed directly on the item alongside three metadata fields:
{
"_trigger": "gumroad_webhook",
"_timestamp": "2026-01-01T00:00:00.000Z",
"_webhookEvent": "sale",
"seller_id": "",
"product_id": "",
"product_name": "Example Product",
"permalink": "example",
"product_permalink": "https://gumroad.com/l/example",
"email": "buyer@example.com",
"price": 999,
"gumroad_fee": 100,
"currency": "usd",
"quantity": 1,
"order_number": 1,
"sale_id": "",
"sale_timestamp": "2026-01-01T00:00:00.000Z",
"purchaser_id": "",
"subscription_id": "",
"card": {
"visual": "**** **** **** 4242",
"type": "visa",
"expiry_month": 12,
"expiry_year": 2027
},
"offer_code": "",
"license_key": "",
"ip_country": "US",
"custom_fields": {},
"variants": {},
"url_params": {},
"shipping_information": {},
"is_recurring_charge": false,
"test": true,
"refunded": false,
"disputed": false,
"dispute_won": false
}
_trigger— alwaysgumroad_webhook._timestamp— ISO 8601 timestamp of when the delivery arrived._webhookEvent— the resource that fired: taken from the payload’sresource_namewhen Gumroad supplies it, otherwise derived from thecancelled,dispute_won,disputedandrefundedflags, defaulting tosale.priceis in the currency’s smallest unit (for example cents), andtestistruefor test purchases.
Field availability depends on the product and the event — subscription fields such as subscription_id and is_recurring_charge only appear for membership products, and license_key only appears when the product issues licences. Reference values downstream by expression, for example {{ $json.email }} or {{ $json.product_name }}.
Usage Examples
- Start a workflow when a digital product is sold on Gumroad
- Trigger a license key delivery email when a Gumroad sale occurs
- Automate refund processing when a Gumroad refund is issued
- Track subscriber churn when a Gumroad subscription is cancelled
- Alert on payment disputes from Gumroad customers
Example Configuration
Fire on every new sale:
{
"type": "gumroad_trigger",
"parameters": {
"resource": "sale"
}
}
Fire when a purchase is refunded:
{
"type": "gumroad_trigger",
"parameters": {
"resource": "refund"
}
}
Track subscription churn:
{
"type": "gumroad_trigger",
"parameters": {
"resource": "cancellation"
}
}
Alert on chargebacks:
{
"type": "gumroad_trigger",
"parameters": {
"resource": "dispute"
}
}
Trigger Behavior
- Activation: When the workflow is activated, a webhook endpoint is registered with the service.
- Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
- Payload: The incoming webhook payload is parsed and output as workflow items.
- Verification: Supports signature verification where applicable.
Tips
Entry point that fires when Gumroad sends a webhook for a subscribed resource event. Select the resource type to listen for: Sale (new purchase), Refund (purchase refunded), Dispute (chargeback filed), Dispute Won (chargeback resolved), or Cancellation (subscription cancelled). Each resource type creates a separate webhook subscription on Gumroad. Payloads include detailed transaction data such as product info, buyer email, price, currency, and subscription metadata.
Frequently asked questions
Can one trigger listen for several event types?
Each resource type creates its own webhook subscription on Gumroad, so a trigger listens for the resource you select. Use a separate trigger per event type you need to handle.
Which events are available?
Sale for a new purchase, Refund for a reversed one, Dispute when a chargeback is filed, Dispute Won when it is resolved in your favour, and Cancellation when a subscription ends.
What is in the payload?
Detailed transaction data — product information, buyer email, price, currency and subscription metadata — so most fulfilment logic needs no follow-up API call.
Do I need to handle refunds and disputes separately?
They are distinct events, so yes if you want distinct behaviour. Refund and Dispute often warrant different responses: one is usually a customer request, the other a bank-initiated chargeback.
Build with the Gumroad Trigger node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Gumroad credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.