Bringing an Add-on to Market
Last updated 22 July 2020
Table of Contents
For more information on the benefits of becoming an add-on partner, see the Heroku Ecosystem Partner Program page.
Most change requests are processed within a few business days. If your changes require specific or coordinated timing, please contact email@example.com to discuss.
Add-on release stages
Every add-on progresses through three release stages: alpha, beta, and general availability (GA). As your add-on meets the requirements for each stage and advances, it becomes visible to a wider audience. Upon reaching GA, it can offer paid plans to Heroku customers.
|Release stage||Can offer paid plans||Visible in Elements Marketplace||Requires partner support|
All add-ons start in alpha. While in this stage, add-ons are still in initial development, and they have no feature or support requirements. They do not appear in the Elements Marketplace or in search results.
An alpha add-on is accessible only to its developers and to individuals that are explicitly granted access. These individuals might include internal testers or early adopters that you’ve invited in order to gather user feedback. Alpha users test your add-on by installing the free “Test” add-on plan, which is the only plan allowed during this stage.
It’s common for add-on partners to create a
-staging version of their add-on that stays permanently in alpha. This allows you to test new features “full stack”, and point this
-staging add-on to staging versions of your integration infrastructure. You might want to do this as you’re building a new add-on too, to give you a safe place to test as you reach integration milestones.
Advancing to beta
Before your alpha add-on can proceed to beta, you need to complete the following set of tasks, mostly in the Heroku Partner Portal:
- Test the add-on with a minimum of 10 alpha users outside your company/team (not internal testers). You can obtain your add-on’s current user count in the Partner Portal.
- Create documentation for the add-on and submit it for approval by Heroku Dev Center team
- Provide your company’s details, including business, engineering, and contact information
- Provide a name and product icons for the add-on
- Prepare screenshots for the add-on’s marketplace listing
- Describe the add-on’s benefits (see below)
- Describe the add-on’s features (see below)
It is important that your alpha users are real users and not internal testers. This requirement is intended to prove you can operate a service that others will try, solicit feedback from potential customers, and determine if any unexpected integration issues may arise. Ideally, this process proves the viability of the add-on and business model within your own company and prepares you for dealing with supporting customers in the future.
After your add-on’s Dev Center documentation is approved, complete the add-on state progression intake form and submit it for review.
On the Benefits page of the Partner Portal, describe in moderate detail what your add-on provides to Heroku customers. This content appears as prominent paragraphs on your add-on’s marketplace page.
For example, the Heroku Postgres add-on specifies two benefits: “Connect, Use, and Develop” and “Scale and Grow”:
You specify your add-on’s features on the Features page of the Partner Portal. This feature list should at least include every aspect of your add-on that might differ across different plans. For example, Heroku Postgres lists items such as “RAM”, “Row Limit”, and “Connection Limit”, all of which differ across plans:
When an add-on reaches the beta stage, it is listed publicly in the Heroku Elements Marketplace (with a “BETA” label), and all Heroku customers can provision it.
Like alpha add-ons, beta add-ons have a single, free plan called “Test.” The beta stage provides the opportunity for you to gather insights and feedback from a larger collection of customers. Use this information to make any improvements or changes to your add-on before submitting it for advancement to GA.
Unlike alpha add-ons, beta add-ons must provide timely support. Beta add-on partners gain access to the Heroku support dashboard and must address customer support tickets that are assigned to the partner.
Partners are expected to acknowledge and respond to all Heroku customer tickets within 48 hours. Note that all issues are not expected to be resolved within this timeframe; technical issues can of course sometimes take significantly longer to address.
See Add-on Support for more information on support requirements.
Advancing to GA
Before your beta add-on can proceed to GA, you need to complete the following set of tasks:
- Have your add-on tested by a minimum of 100 unique owners of apps with the beta add-on. Like the alpha user requirement, these must be external users and not internal testers. You can obtain your add-on’s current install count with the Add-on App Info API, or by counting the number of active resource records you have.
- Ensure that your add-on is backed by production-ready infrastructure that can support thousands of paid customers
- Specify the details of free and paid plans for your add-on in the Partner Portal
Additionally, we will need to set up your supplier records to issue monthly payments when customers purchase your service. Please be prepared to submit the following information:
- The legal entity name of your business
- A primary contact name and related information (email and phone number)
Heroku uses these details to initiate the setup process with the Salesforce Vendor Management team. You communicate directly with this team to provide other required information for your company (business details, a W9 form, banking information, and so on).
When your beta add-on meets all requirements for advancement to GA, submit the add-on state progression intake form.
General Availability stage (GA)
When your add-on reaches GA, the “BETA” tag is removed from its marketplace listing, and you can can offer multiple free and paid plans to Heroku customers. The original free “Test” plan that was available in alpha and beta stages will be disabled, so no new instances of it can be provisioned.
After reaching GA, be sure to continue gathering product feedback and improving your service to meet your customers’ needs and drive additional adoption.
Add-on plans and pricing
Add-ons must define one or more associated plans before advancing from beta to GA. Each plan can specify a different price (including free), along with a different set of available features and usage thresholds.
Add-ons are priced in monthly, flat-rate tiers. Heroku bills customers by the calendar month, and add-on billing is pro-rated according to the amount of time a particular plan was active during the month.
Heroku does not currently support usage-based billing. Enforcement of any plan-specified usage thresholds is the responsibility of the partner.
Commonly, add-ons with usage thresholds respond with a
402 HTTP status code when a customer attempts to take an action that would exceed their current plan’s associated threshold.
Modifying add-on plans
At some point after your add-on reaches GA, you might want to modify your available plans to better serve your customers’ needs. Any such modifications must be approved by Heroku before they are widely available.
You can create new add-on plans in the Partner Portal. Once a new plan is created, the plan appears with the default availability setting of “Invite Only.”
You can decide which users can access this plan and whether it appears in the Elements marketplace. There are three “availability” states:
- Invite Only. You can make the plan available only to specific users and hidden from the marketplace. No additional steps from Heroku is needed. You will administer these plans to specific users with “Plan Passes” by adding the users’ email addresses associated with their Heroku account in the partner portal.
- All Users (hidden). You can make the plan available to all users and hidden from the marketplace. Heroku will need to make the change for you.
- All Users. You can make the plan available to all users and visible in the marketplace. Heroku will need to make the change for you.
For a step-by-step guide on hidden plans and add-on plan summary, take a look at these slides: How to Create “Custom” Heroku Add-on Plans
To change plan availability, complete the add-on plan change request intake form.
Plan removals must also be processed and approved by Heroku. After a plan is disabled, customers can no longer provision it. However, customers that already have the disabled plan can remain on that plan until they change it themselves or remove the add-on altogether.
To disable a plan, complete the add-on plan change request intake form.
Changing plan prices
Plan prices can be edited directly in the Partner Portal for add-ons in alpha or beta, as these plans cannot charge.
To request a price change to a plan for a GA add-on, submit your request in the Plans section of the partner portal.
- Navigate to “Plans” in the partner portal.
- Select the desired add-on plan by clicking the double chevron control and choosing
Edit Plan Details.
- If the plan is for an alpha or beta add-on, you can edit the price directly.
- If the plan is for a GA add-on:
Request Price Changebutton to enter new price.
- Enter new price desired for this plan.
Request Price Change.
Price change behavior
If approved, price changes will take effect no sooner than the next billing cycle at the start of the month. The behavior of a price change differs depending on whether you are decreasing or increasing a price:
When a plan price is decreased, the new price goes into effect for all customers in the next billing cycle at the start of the month.
When a plan price is increased, the new price goes into effect for new installs in the next billing cycle at the start of the month. You can choose whether the new price will also effect existing customers. Heroku encourages ecosystem partners to keep existing customers with current plan installs on legacy prices by choosing to grandfather them in. If you do choose to increase a plan price for existing customers, the increase does not go into effect earlier than the following billing cycle. Heroku reserves the right to delay increases to ensure sufficient notice is given to affected customers before final approval.
Shutting down an add-on
In the event that you wish to discontinue support for an add-on, please complete the add-on shutdown intake form to begin the shutdown process. Shutdowns are subject to Salesforce approval based on the Add-ons License and Distribution Agreement between you and Salesforce.
Below are the high-level steps of the add-on shutdown process for your reference:
- Add-on partner submits the add-on shutdown intake form.
- Heroku requests add-on partner to fill out an add-on shutdown FAQ (as needed).
- Heroku schedules a call with the add-on partner to review FAQ and discuss shutdown details (as needed).
- Heroku sends a minimum of three email communications to customers regarding the shutdown, with the first being sent 60 days prior to the desired shutdown date for GA add-ons; a minimum of 2 email communications and 30 days prior for beta add-ons.
- Heroku removes all installations of the add-on from all Heroku apps.