Just look at what Uncanny Automator implemented for their Woo Subscriptions integration:
Triggers for logged-in users
- A user cancels a subscription to a product
- A user purchases a variable subscription
- A user purchases a variable subscription with a variation selected
- A user renews a subscription to a product
- A user renews a subscription to a product for the nth time
- A user renews a subscription to a specific variation of a variable subscription
- A user subscribes to a product
- A user’s subscription to a product expires
- A user’s renewal payment for a subscription product fails
- A user’s subscription switches from a specific variation to a specific variation
- A user’s subscription to a product is set to a status
- A user’s subscription to a specific variation of a variable subscription expires
- A user’s subscription to a specific variation of a variable subscription is set to a status
- A user’s trial period to a subscription expires
- A user’s trial period to a specific variation of a variable subscription expires
Actions
- Cancel the user’s subscription to a specific variation of a variable subscription variation
- Cancel the user’s subscription to a variable subscription product
- Create a subscription order with a product
- Create a subscription order with a product with a payment method
- Extend a user’s subscription to a specific product by a number of days
- Extend a user’s subscription to a specific product variation of a specific product by a number of days
- Extend the user’s next subscription renewal date to a specific product by a number of days
- Extend the user’s next subscription renewal date to a specific product variation of a specific product by a number of days
- Remove a subscription product from the user’s subscription
- Remove a variation of a subscription product from the user’s subscription
- Set the user’s subscription of a subscription product to a status
- Set the user’s subscription to a specific variation of a variable subscription product to a status
- Shorten a user’s subscription to a specific product by a number of days
Conditions
- The user does not have an active subscription to a specific product
- The user has an active subscription to a specific product