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.
sass•hapily 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 sass•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 hapily-featured apps, so hold on to your hats.
Workflow #1:
Clone the Closed Won Deal to Create the Renewal Deal
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.
Workflow #2:
Copy ID from sass•hapily Subscription to Contact
To run this workflow, you’ll need A8 Lab’s app Associ8, which looks for similar properties on two objects and then connects them. sass•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 sass•hapily subscription ID of the associated contacts to the most recent Stripe Subscription ID.
Workflow #3:
Copy Subscription ID from Contact to Deal
Once you’ve copied the sass•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.
Workflow #4:
Associate Original Deal with the Original Subscription
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.”
Workflow #5:
Associate Renewal Deal to the 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.
Workflow #6:
Creating Upgrade Deals and Associating Them with All Other Deals
sass•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, sass•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.
Workflow #7:
Copy Updated Subscription Amount from Original Subscription to Renewal Deal
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 sass•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 sass•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.
The Results
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.