So you’re using saas·hapily to manage your Stripe subscriptions within HubSpot. You get an A+ for making the smart choice! But perhaps you’ve run into a problem.
You see, saas·hapily creates subscription objects for all of your Stripe subscriptions and associates them to their respective contacts (or companies). When a customer makes an upgrade or downgrade, saas·hapily makes a separate subscription object for those too!
So let’s say you want to update the association labels for those subscription objects any time an update is made to them. You could go through and manually update them. But who has that kind of time?
Fortunately with the help of workflows and our app Associ8, we can win the day!
How do you update association labels for hapily subscriptions?
So what do we need to do? Remember there are two types of subscription objects: The Main Subscription Object and the Upgrade/Downgrade object. We’ll need to check for updates from both and send them down different paths to update their association labels.
1. Start by creating a hapily subscription based workflow.
2. We’ll want both subscription object types to go through this workflow. Updates to the Main Subscription Object are tracked through the Status property while the Upgrade/Downgrade Object tracks them through the Type property.
So we’ll set the enrollment trigger to: Subscription Status has been updated in the last 1 day OR Type is known.
3. Now that they’ve entered the workflow, we need to set them down different paths. Click the “+” button beneath the workflow trigger and select the If/then branch action.
4. Name the first branch Main Subscription Object. Then set it to check if: Subscription Status is known AND Type is unknown
5. Add a second branch and name it Upgrade/Downgrade. Then set it to check if Type is known AND Subscription Status is unknown
6. On the Main Subscription Object branch, click the “+” button and add another If/then branch action.
7. We’ll be applying an active or canceled association label to the hapily subscription, so we’ll need to check which is which. Name the first branch Active and set it to check if: Subscription Status is equal to any of active, past_due, or incomplete.
8. Add another branch, name it Canceled, and set it to check if: Subscription Status is equal to any of canceled or incomplete_expired (not to be confused with just plain old incomplete).
Now it’s time to update the association labels using Associ8. The association between your hapily subscriptions and Contact/Company object has already been made, but we can use the app to change the association label.
9. Click the “+” button under the Active branch and select the Associ8 Custom Objects action.
10. We’re associating the hapily subscription to a Contact in this example, so enter hapily subscription under Custom Object Type and Contact under Supported Associated Object Types.
11. Under Associated Object Property, select Email.
12. Under Search Value, select Stripe Customer Email.
13. Under Associated label, select the association label you want to apply! For this example, I used one called Active Subscription.
14. Create another Associ8 Custom Objects action for the Canceled branch using the same parameters. The only difference will be the association label. For this example, I used one called Canceled Subscription.
15. Alright! Time for another If/then branch (last one I promise)! Under the Upgrade/Downgrade branch, add an If/then branch action.
16. We’ll want to check if this subscription is an upgrade or a downgrade. Name the first branch Upgrade and set it to check if: Type is equal to any of Upgrade.
17. Add another branch and name it Downgrade. Set it to check if: Type is equal to any of Downgrade.
18. Now create Associ8 Custom Object actions using the same parameters we used before! Just make sure that the Associated label field is Upgrade on the Upgrade branch and Downgrade for the Downgrade branch.
19. And now you’re done (whew)!
So what have we done here? Whenever a hapily subscription enters the workflow, it will be sent down either the Main Subscription Object path or the Upgrade/Downgrade path.
Both paths will check what Status or Type it is and apply an association label respectively.
That was a sizable workflow. But thanks to your efforts there will be no more manual association label setting for you!
Now isn’t that better?
Want to see what else the app can do? Check out this blog post on How to Update Association Labels For Existing Associations. It’s in the same vein as this post but for standard objects.