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