Paddle n8n integrationAutomate Paddle with n8n.
Paddle takes the checkout, n8n takes everything that happens after it. The Paddle n8n integration exposes 9 operations across 5 resources: coupons, payments, plans, products and users. No trigger node ships for Paddle, so a Schedule Trigger opens the workflow. Built for teams on Paddle Classic.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Paddle n8n integration cover?
The Paddle n8n integration is the Paddle node plus a Paddle credential, sitting inside an n8n workflow. n8n is the automation tool where you chain steps together; a credential is the stored login n8n keeps once and reuses everywhere. With both in place, the node reads plans, products, payments and users out of your Paddle account, and creates or updates coupons, without a line of code.
Coupons are the obvious starting point, because they are the only objects this node writes. A release goes out, and the same workflow creates the coupon, then hands the generated code to the channel that announces it. The template library already carries a Create a coupon on Paddle workflow under number 659, which is a fair skeleton to copy before adapting it.
Reporting is the second pattern. Get many payments, filtered on a date window and a state, lands a clean list in Google Sheets every Monday morning, and a short summary in Slack for whoever watches revenue. Nobody logs into a dashboard to copy rows.
The third pattern points outward. Get many users returns subscription users filtered by plan, subscription or state, which is exactly the shape a CRM wants. Push that into HubSpot so a sales rep sees the plan on the record. If part of your revenue also runs through another processor, the Stripe node has its own page on this site.
When an endpoint you need sits outside these 9 operations, the HTTP Request node calls any endpoint of the Paddle API and reuses the same credential through predefined authentication. Same secrets, same workflow, one extra node.
Two things to know before you build. Paddle has no trigger node in n8n, so the workflow starts on a Schedule Trigger at a fixed interval, on an n8n Webhook called by another service, or on another tool's trigger. And on the list operations, Return All walks through the API pages until everything is in, while leaving it off means Limit decides how many items come back. If n8n itself is new to the team, the n8n training covers the workflow basics this page assumes.
How do you connect Paddle to n8n?
- 01
Check which Paddle API your account uses
The n8n credential is built for the Paddle Classic API. Paddle's own documentation is blunt about it: if you joined Paddle after August 2023, your account runs on the Paddle Billing API and this credential may not work for you. Settle that question first, because every step after it depends on the answer.
- 02
Generate a Vendor Auth Code
In Paddle, open Developer Tools, then Authentication, then Generate Auth Code. Select Reveal Auth Code to display it on screen. Your Vendor ID appears at the same moment, when you generate the API key. Copy both values somewhere safe: the auth code is the secret half of the pair, the vendor ID identifies the account it belongs to.
- 03
Create the credential in n8n
In n8n, open the Credentials menu and create a Paddle credential. Paste the Vendor Auth Code and the Vendor ID into their two fields. Turn on Use Sandbox Environment API and nodes using that credential hit the Sandbox API endpoint instead of the live one. A credential is set up once and reused across workflows; the Paddle node then offers it in its dropdown.
What can the Paddle node do?
The Paddle node exposes 9 operations across 5 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create | Get | Get Many | Update | Reschedule |
|---|---|---|---|---|---|
| Coupon | ✓ | ✓ | ✓ | ||
| Payment | ✓ | ✓ | |||
| Plan | ✓ | ✓ | |||
| Product | ✓ | ||||
| User | ✓ |
Operations index
Coupon
3 operationsCreate a coupon
coupon.createWhat you see in n8n
Notes & use cases
Creates a discount coupon in Paddle and hands back the code. A single call mints one code or a batch of them.
Key parameters
- Product Names or IDs: the products the coupon applies to, required when Coupon Type is set to Product; pick them from the dropdown or pass IDs through an expression.
- Discount Type: flat or percentage, read together with Discount Amount Currency for the amount and Currency, which has to match the balance currency of your account.
- Coupon Code: left empty, the code is generated randomly; Allowed Uses sits at
999,999redemptions unless you set it.
Get many coupons
coupon.getAllWhat you see in n8n
Notes & use cases
Lists the coupons attached to one product or subscription, so an audit runs from a workflow instead of the Seller Dashboard.
Key parameters
- Product ID: the specific product or subscription ID whose coupons you want, required; a fixed value, or
{{ $json.field }}when the ID arrives from an earlier node. - Return All: on, n8n chains the API pages until every coupon of that product is in the output; off, Limit caps the number of items returned.
Update a coupon
coupon.updateWhat you see in n8n
Notes & use cases
Edits coupons that already exist, one precise code or a whole group at a time. Nothing here is mandatory: what you fill in is what changes.
Key parameters
- Update By: Coupon Code targets a single coupon, Group targets every coupon in a named group.
- Coupon Code or Group: the value that identifies the target, depending on that choice.
- Additional Fields: New Coupon Code renames a code, New Group Name moves it, Expires ends it on a date at
00:00:00 UTC, and Product IDs takes a comma-separated list such as499531,1234,123546, or drops the associated products when left blank.
Payment
2 operationsGet many payments
payment.getAllWhat you see in n8n
Notes & use cases
Pulls payments out of Paddle, with filters that cut the list down to the slice a report needs.
Key parameters
- Date From and Date To: the window the payments fall into, both inside Additional Fields.
- State: keeps only
active,past_due,trialingorpausedsubscription plans; left unset, all four come back. - Is Paid, Plan ID and Subscription ID: narrow to paid rows, to one plan, or to one user subscription.
Reschedule a payment
payment.rescheduleWhat you see in n8n
Notes & use cases
Moves an upcoming subscription payment to a different date, which is the polite answer when a customer asks for a few more days.
Key parameters
- Payment Name or ID: the upcoming subscription payment to move, required; the dropdown lists them, and an expression works when the ID comes from a previous step.
- Date: the date you want the payment moved to.
Plan
2 operationsGet a plan
plan.getWhat you see in n8n
Notes & use cases
Fetches a single subscription plan from its identifier. Handy when an item carries a plan ID and nothing else readable.
Key parameters
- Plan ID: the subscription plan ID, required; usually an expression such as
{{ $json.field }}pointing at the ID already on the item.
Get many plans
plan.getAllWhat you see in n8n
Notes & use cases
Returns the subscription plans of the account in one shot, which is what you want when a downstream step needs the full list rather than one lookup.
Key parameters
- Return All: on, the node keeps paging until every plan is returned; off, Limit sets how many plans come back.
Product
1 operationGet many products
product.getAllWhat you see in n8n
Notes & use cases
Reads the products of the account. This is the list to call first when another operation asks for product IDs and you only know product names.
Key parameters
- Return All: on, every product comes through the API pages; off, Limit stops the node at a number you choose.
User
1 operationGet many users
user.getAllWhat you see in n8n
Notes & use cases
Lists subscription users, with filters for the segment you care about rather than the whole base.
Key parameters
- Limit: required here, it sets the maximum number of users returned; Return All overrides it and pages through everything.
- Plan ID and Subscription ID: restrict the list to one subscription plan, or to one specific user subscription.
- State: filters on
active,past_due,trialingorpaused; unset, all four statuses are returned.
Need help automating Paddle with n8n?
A person reads every message.


