HubSpot workflows for failed Paddle payments, cancellations and ending trials
By Kayabyte
A failed renewal, a scheduled cancellation and a trial about to end are the three moments when a human can still change the outcome. This guide shows how to react to them in HubSpot when billing runs through Paddle: what Paddle does itself, what you can build in HubSpot, and what data HubSpot needs first. Paddle and HubSpot facts last checked 11 November 2026.
What Paddle does by itself
Paddle sets a subscription to past_due when an automatic payment fails, or when an invoice is not paid 24 hours after its due date (Paddle: subscription object). Paddle Retain is Paddle’s product for recovering failed payments with automated dunning, and for trying to prevent cancellations (Paddle: Retain). Its page does not say how many retries it makes. Use it for the payment retries; a HubSpot workflow is for your own team’s follow-up, such as a call, a task or an internal message.
A cancellation or pause that you or the customer schedule is stored on the subscription as a scheduled change with the action cancel, pause or resume and an effective date. The subscription stays active until that date.
What HubSpot needs first
A HubSpot workflow reacts to data in HubSpot, so the Paddle facts must be properties first: the subscription status, the date of the last failed payment, the scheduled cancellation date and the trial end date. Without an integration, you can import them from a Paddle Subscriptions report (see How to sync Paddle subscriptions to HubSpot), but a daily or monthly file reacts too late for a failed payment.
Build the workflows
Workflows need HubSpot Professional or Enterprise (HubSpot: create workflows). Create them as contact-based or company-based workflows, depending on who owns the account.
1. Failed payment - Trigger: Subscription status is Past due, or the last-failed-payment date is known. - Actions: create a task for the account owner (“Payment failed: check card and reach out”), send an internal notification, and optionally set a lifecycle or lead status property. - Re-enrollment: HubSpot enrols a record only once unless you turn on re-enrollment, so enable it on the status trigger if a customer can fail more than once (HubSpot: enrollment triggers). - Check what Paddle already sends to the customer before you add a message of your own.
2. Scheduled cancellation - Trigger: the cancellation date is known and the status is still active. - Actions: task for the account owner with the date, and a branch on MRR so large accounts get a call and small ones get an email.
3. Trial ending - Trigger: the trial end date is within a number of days, using HubSpot’s date filters. - Actions: task or email to the contact, depending on whether you have asked for marketing consent.
4. Won back - Trigger: status changes from past due to active. Action: close the task and notify the owner.
Where the manual version breaks
- An imported file is a snapshot, so the workflow fires on yesterday’s data.
- Nothing tells HubSpot when a failed payment is fixed, so tasks stay open.
- Customers with several subscriptions need one status to rely on.
Full disclosure: we built an app for this
Paddle Sync: Subscriptions & MRR writes the properties these workflows use: Paddle subscription status (Active, Trialing, Past due, Paused, Canceled), Paddle last failed payment, Paddle cancellation date, Paddle trial ends and Paddle MRR. It updates them when Paddle sends the event, in our tests within about a minute, and adds a note to the contact timeline for a started, upgraded or downgraded subscription, a failed payment, a cancellation and an approved refund. On a contact with several subscriptions the status shown is the best-ranked one (active before past due), and the failure date carries the signal for the rest. One limit we should state: we could not produce a failing renewal in Paddle’s sandbox, so the failed-payment path is covered by tests and by a real declined checkout event, not by a live failed renewal. The app does not send email and does not retry payments; Paddle does the collecting. Free up to 50 active subscriptions; Growth USD 29 per month; Scale USD 79 per month; 14-day Scale trial without a card. Paddle Billing only.
More detail
FAQ
Can HubSpot detect a failed Paddle payment? Only if the failure reaches HubSpot as data, for example as a status or date property written by an integration. HubSpot does not read Paddle on its own.
Do I need Paddle Retain? Retain is Paddle’s own dunning product. A HubSpot workflow does not replace it; it adds your team’s follow-up.
Which HubSpot plan do I need? Workflows need Professional or Enterprise. Properties and cards do not.
Why did my workflow not fire a second time? HubSpot enrols a record once unless re-enrollment is turned on.
Questions or corrections: support@kayabyte.dev. HubSpot is a registered trademark of HubSpot, Inc. Paddle is a trademark of Paddle.com, used here only to say which service is meant. Kayabyte is an independent developer and is not affiliated with HubSpot or Paddle.com.
More guides
- How to audit and clean up HubSpot properties without breaking anything
- How to stop a HubSpot deal reaching Closed won until it is approved
- How to bulk create custom properties in HubSpot from a CSV or spreadsheet
- How to calculate MRR from Paddle: yearly, weekly, discounts and tax
- How to send a client an hours statement from HubSpot
- How to copy properties from one HubSpot account to another
- DealHub or a lightweight approval app for HubSpot deals?
- How to export all properties from HubSpot, with their dropdown options
- How to bulk add dropdown options (and properties) in HubSpot
- HubSpot deal approval options compared: native approvals, workflows, DealGuard and Deal Approvals & Stage Gate
- HubSpot deal approvals without Enterprise: what Free, Starter and Professional can do
- HubSpot discount approval on Sales Hub Professional or Starter
- How to set up discount approvals in HubSpot (deal desk)
- How to see what your HubSpot pipeline looked like last week
- How to track prepaid hours and retainers in HubSpot
- Creating HubSpot properties in bulk: HubSpot import, the API, Lift and Bulk Property Import & Export compared
- HubSpot property naming conventions: a template for internal names, groups and labels
- Tracking retainer hours in HubSpot: StopWatch, PSOhub, a spreadsheet or Retainer Wallet
- A weekly stale-deal report in HubSpot, without Enterprise
- Time tracking on HubSpot tickets: what HubSpot has and the options
- Insycle or Bulk Property Import & Export for HubSpot properties?
- How to require approval before a deal moves stage in HubSpot
- How to require fields before a HubSpot deal moves to a stage
- Retainer rollover rules: expire, capped or full, with examples
- RevOps Deal Desk & CPQ vs Deal Approvals & Stage Gate for HubSpot
- How to stop reps skipping deal stages or moving deals backward in HubSpot
- Export property history in HubSpot: who changed it and when
- How to track a retainer balance per client in HubSpot