If you’re managing subscriptions through HubSpot and Stripe, you may run into several manual tasks that need to be completed. Deals must be closed, subscriptions must be renewed, upgrades must be applied, and more. Without the right process, these tasks can create a lot of errant information in your system.
saas•hapily (formerly Zaybra) works to sync data between HubSpot and Stripe, but it also allows you to build workflows in HubSpot that trigger based on Stripe actions. You can use saas•hapily, Stripe, and apps by A8 Labs for self-service subscriptions, allowing you to dovetail every subscription object with Deals, upgrades, renewals, and other changes.
This requires seven different workflows, as well as some of A8 Labs, featured apps, so hold on to your hats.
The first workflow will clone a “Closed Won” Deal that hasn’t been upgraded, delivering a renewed Deal into your renewal pipeline.
Using A8 Lab’s Clone Attack app, you can set Deals, so their Default Value is +1 year after the close date.
Next, we need to associate the subscription object that’s been created with the Deal.
To run this workflow, you’ll need A8 Lab’s app Associ8, which looks for similar properties on two objects and then connects them. saas•hapily will already connect each subscription to a contact, but this workflow will pass the subscription ID to the contact as well.
All the workflow needs to do is copy the saas•hapily subscription ID of the associated contacts to the most recent Stripe Subscription ID.
Once you’ve copied the saas•hapily subscription ID to the most recent Stripe Subscription ID, that value is considered “known.” You can then use a workflow to associate subscription ID to your Deal.
This is a multi-step process, however. You’ll also need to associate the original Deal with the original subscription, which is covered in the next workflow.
This workflow creates a new association between the original Deal and the original subscription. Once again this is triggered when the Stripe Subscription ID is known, and it requires Associ8.
On the Associa8 Deal action, make sure the “Associated Label” is set to “Original Subscription.”
The second step is associating the renewal Deal with the original subscription. This is an important step if you want to connect renewals with previous subscriptions instead of generating separate subscription objects for the same customers when they renew.
As you can see, this workflow is almost identical to the previous one. The one difference is that the “Associated Label” is set to “Renewal Deal.”
As of now, you’ve already self-serve-created a new Stripe subscription in your app and associated it with the Deal, the renewal Deal, and the relevant contacts. Next, we’ll look at what workflows you need to create to associate an upgrade.
saas•hapily will automatically create a delta object which will include price (positive or negative) as well as tags (“upgrade” or “downgrade”). However, it will also automatically update the price of the original subscription based on the upgrade.
For example, if the original subscription was for $8 and the upgrade cost another $8, saas•hapily will update the active price of the subscription to $16.
This workflow writes that “$16” figure to the renewal Deal. It starts with an enrollment trigger stating that the “Type” is equal to “any of” “Upgrade.”
Next, assign an action to create an upgrade Deal for the given amount, and assign it to no one. This is then followed by an Associ8 action to create new associations between that record and Custom Objects. This associates the upgrade subscription with all the Deals that are part of the original subscription.
Finally, you’ll need to create a workflow that copies the updated subscription amount from the original subscription and copies it to the renewal Deal.
This workflow starts with a saas•hapily subscription enrollment trigger that activates when the “Amount” is known (i.e., when the amount changes). Use “and” to include a restriction dictating that the “Type” field doesn’t contain “Upgrade” or “Downgrade” or is empty.
Next, create an action that copy’s the saas•hapily subscription property “Amount” from associated Deals, then set that as the amount for the renewal Deal. This updates only the renewal Deal, ensuring continuity across all the Deals associated with the original subscription.
Now, when you look at any given Deal, you should see all contacts associated with it, as well as renewals and upgrades. You should also see the fully updated monthly recurring revenue (MRR) amount earned through the Deal, taking into account any upgrades.