If your product is a subscription — a recurring monthly or annual plan — it doesn't have just one moment worth automating. A subscription has a whole lifecycle: someone signs up, gets billed every cycle, might miss a payment, might cancel, might pause, might come back. Rules let you react to every one of these moments automatically — pushing the customer's data to your autoresponder or to any external tool via a webhook.
This article covers the subscription-specific triggers and the new webhook action. If you haven't set up a basic purchase rule before, it may help to start with the general Set Product Rules article first — this one builds on the same interface.
1. Open Set Product Rules
Go to your product's settings. In the left-hand menu, click Set Rules. This opens the Set Product Rules page, which explains: "You can set the actions that will be Performed based on the Product Status."

Product settings → Set Rules → click "Set Product Rules" to create your first rule
2. The Create Automation Rule Window
Clicking the button opens the Create automation rule window: "When something happens on this product, trigger an action automatically." This window has two parts — WHEN (the trigger) and THEN (the action).

The Create automation rule window — WHEN sets the trigger, THEN sets what happens
3. Choosing a Subscription Trigger (WHEN)
Click the first dropdown under WHEN. It opens a scrollable list grouped by category: Product, Manual member, and — the one this article focuses on — Subscription.

The WHEN dropdown, grouped by Product, Manual member, and Subscription


Scrolling further down the Subscription group
Here is every subscription trigger available, in order:
| Trigger | Fires when… |
|---|---|
| subscription is renewed | A recurring payment succeeds and the subscription continues into its next billing cycle. |
| subscription payment fails | A recurring charge is attempted but declines (expired card, insufficient funds, etc.). |
| subscription is cancelled | The customer or you cancels the subscription. |
| subscription is paused | The subscription is put on hold rather than cancelled outright. |
| subscription is resumed | A paused subscription is started again. |
| subscription expires or completes | The subscription reaches its natural end (e.g. a fixed-length plan finishes its term). |
| subscription is refunded | A subscription payment is refunded. |
| card is about to expire | The card on file is nearing its expiry date — a useful early warning before a payment fails. |
| free trial converts to paid | A free trial ends and successfully converts into a paid subscription. |
| free trial is ending | A free trial is about to end (fires before conversion, as a heads-up). |
Filtering by Pricing Option
The second dropdown next to WHEN lets you choose for all pricing options or for a specific pricing option — useful if your subscription has multiple tiers (e.g. Monthly vs. Annual) and you want different automations for each.

Choose whether the rule applies to every pricing tier or just one
4. Choosing an Action (THEN)
Under THEN, pick one of two action cards:

THEN — Push to autoresponder, or Send a webhook
| Action | What it does |
|---|---|
| Push to autoresponder | Adds the customer to a list or tag in your connected email service (Mailchimp, ActiveCampaign, etc.). |
| Send a webhook | New: POSTs the event data as JSON to your own endpoint or CRM — no email platform required. |
Option A: Push to Autoresponder
Selecting this card reveals the familiar fields:

- Autoresponder — pick from your connected email platforms.
- Action — currently add them to.
- This list — the list in your autoresponder to add them to.
- Autoresponder Tags — optional tags to apply. Note: tags must be at least three characters.
Option B: Send a Webhook
Selecting the Send a webhook card reveals a completely different set of fields — this is the new option built specifically to handle rich subscription events.

Webhook events — tick exactly which events should POST to your URL
At the top, it explains: "Pick the events that POST to this webhook URL. Uncheck the purchase event to make this a subscription-only rule, then select a single event. For a different URL per event, add one rule per event from the When list."
Every event has a checkbox and its exact technical name (the value sent in the JSON payload's type field):
| Event (as shown) | Technical name sent in payload |
|---|---|
| product is purchased | purchased |
| is renewed | subscription.renewed |
| payment fails | subscription.payment_failed |
| is cancelled | subscription.cancelled |
| is paused | subscription.paused |
| is resumed | subscription.resumed |
| expires or completes | subscription.expired |
| is refunded | subscription.refunded |
| card is about to expire | subscription.card_expiring |
| free trial converts to paid | subscription.trial_converted |
| free trial is ending | subscription.trial_ending |
Below the event checklist:
- Sample subscription event payload — a collapsible section showing exactly what JSON gets POSTed, with the
typefield carrying the event name shown in the table above. Expand it before building your integration so your endpoint knows what fields to expect. - Webhook Name — a label for your own reference (e.g. "CRM sync").
- Webhook URL — the endpoint that will receive the POST request (e.g. your Zapier catch hook, Make.com webhook, or your own server URL).
type field to tell them apart. Or, if you want different URLs per event (e.g. failed payments go to a Slack alert, cancellations go to your CRM), create a separate rule for each event, each with its own single ticked box and its own Webhook URL.5. Save the Rule
Once WHEN and THEN are configured, click Save rule at the bottom-right of the window. The rule is now live and will fire automatically the next time that event happens on this product.
Common Use Cases for Subscription Rules
Common Situations & Quick Fixes
subscription.payment_failed or subscription.renewed. Expand the "Sample subscription event payload" section in the rule builder to see the full JSON structure before you build your integration.Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article