Presenting Additional Terms of Service to Customers as an Add-on Partner
Last updated February 06, 2024
Table of Contents
Some add-ons may require the acceptance of additional Terms of Service or additional configuration before a Heroku customer can begin using it.
We don’t directly support injecting custom Terms of Service into the add-on provisioning flow, however you can implement this pattern easily with the Add-ons SSO dashboard you provide.
How to require additional Terms of Service or customer configuration
The below articulates a possible strategy where essentially you assume an add-on is “inactive” until a customer has taken the necessary post-provisioning steps.
- A customer provisions an add-on instance.
- Mark that instance as
inactivein your infrastructure during provisioning,
- Return a message like the below in your JSON response to the original provisioning request. This message will be displayed in the CLI and the Heroku dashboard.
You've taken the first step - now open the add-on dashboard to sign our Term of Service. Once you've done that, you'll be ready to use your new add-on.
- Modify your add-on infrastructure to set the add-on instance as
activeonce the customer has visited your add-on dashboard via SSO and taken the necessary steps.
- You may want to create a background job that emails customers that haven’t taken the necessary post-provisioning steps after a set time period to ensure they don’t forget to fully activate your add-on.
Supporting Review and CI apps
If you implement a system that requires the customer to accept additional terms of service, Heroku customers will not be able to effectively use your add-on in Review and CI apps. This is because add-on installation will require manual steps.
- Create a Review and CI app specific plan per the guidelines in this article,
- When you detect that a customer has requested a plan specific to Review and CI apps, you should mark your add-on
Your Heroku customer has most likely already signed your TOS in a staging or production app, but you should confer with your legal team if this is adequate.