Reference · Tools

Gumroad Trigger

Starts workflow when Gumroad events occur via webhooks

Webhook trigger Sales v1

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

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Gumroad credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Cancellationcancellation
Disputedispute
Dispute Wondispute_won
Refundrefund
Salesale

Parameters

ParameterTypeRequiredDefaultDescription
ResourceoptionsYesThe 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 — always gumroad_webhook.
  • _timestamp — ISO 8601 timestamp of when the delivery arrived.
  • _webhookEvent — the resource that fired: taken from the payload’s resource_name when Gumroad supplies it, otherwise derived from the cancelled, dispute_won, disputed and refunded flags, defaulting to sale.
  • price is in the currency’s smallest unit (for example cents), and test is true for 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 BusyBot

Last updated . Spotted something wrong? Tell us.