Last updated June 11, 2026
Independent Software Vendors (ISV) can provision, configure, and manage Heroku Connect instances on the behalf of their end customers via API with the heroku partner CLI plugin. This article describes how to configure and manage Heroku Connect for ISVs.
Use Case
ISVs can manage Heroku Connect on behalf of their customers so that ISV users don’t purchase or manage Heroku Connect themselves. This feature creates a one-to-many model where the ISV can onboard many customers to their Heroku Connect integration.
Using an OAuth-based authentication, ISVs can connect a customer’s Salesforce org directly to a schema in the ISV’s own Heroku Postgres database. This connection creates a secure data bridge where the ISV maintains full ownership of the infrastructure, and the customer authorizes the data sync through a branded, SOC2-compliant interface.
Prerequisites
Before using this feature, ISVs must:
- Have a verified Heroku Account
- Have a Heroku Team or Enterprise Team
- Install the Heroku Connect CLI plugin
- Install the Heroku API CLI plugin
- Enable the feature by opening a support ticket
Install the Partner Plugin
You must be on Heroku CLI v11 or later to install and use the heroku partner plugin. Update the CLI version with heroku update.
To install the Heroku Connect Partner CLI plugin:
$ heroku plugins:install @heroku-cli/plugin-partner
If you can’t install the plugin, try running heroku plugins:install @heroku-cli/plugin-partner --min-release-age=0. If the issue still persists, open a ticket with Heroku Support.
Create a Partner Integration Record
To create an integration record of the ISV or partner in Heroku Connect, run the heroku partner:connect:create command and provide a value for <ISV_SLUG>. You’ll use the <ISV_SLUG> later when creating Heroku Connect add-ons tied to your ISV:
$ heroku partner:connect:create <ISV_SLUG> \
--team <ISV_heroku_team_name> \
--isv-name "<ISV_Name>" \
--description "<short_description_of_the_partner_integration>" \
--contact-email "<partner_contact_email>" \
--docs-url "<https://link.to.partner.docs>" \
--logo-file "<path_to_logo_on_file_system>"
✓ Partner integration created
Slug: <ISV_SLUG>
Partner Integration: <ISV_Name>
Team: <ISV_heroku_team_name>
Description: <short_description_of_the_partner_integration>
Documentation URL: <https://link.to.partner.docs>
Contact Email: <partner_contact_email>
Logo URL: <path_to_logo_on_file_system>
Status: active
Created At: 2026-04-08T14:30:16.012544Z
Valid logo image files are:
- A
jpeg/jpg,png,svg, orwebPfile type. - A minimum width and height of 100 pixels.
- A maximum width and height of 1000 pixels.
- A maximum file size of 5 MB.
Update a Partner Integration Configuration
You can update the following pieces of your Heroku Connect partner integration record:
- The description of your partner integration
- The URL to your documentation
- The email of your point of contact
- The logo of your partner integration
$ heroku partner:connect:update <ISV_SLUG> \
--description "<short_description_of_the_partner_integration>" \
--docs-url "<https://link.to.partner.docs>" \
--contact-email "<partner_contact_email>"
--logo-file "<path_to_logo_on_file_system>"
✓ Partner integration updated
Slug: <ISV_SLUG>
Partner Integration: <ISV_Name>
Description: <short_description_of_the_partner_integration>
Documentation URL: <https://link.to.partner.docs>
Contact Email: <partner_contact_email>
Logo URL: <path_to_logo_on_file_system>
Status: active
Updated At: 2026-04-08T14:36:19.332386Z
View Partner Integration Info
To get the details of your Heroku Connect partner integration record:
$ heroku partner:connect:info <ISV_SLUG>
Slug: <ISV_SLUG>
Partner Integration: <ISV_Name>
Contact Email: <partner_contact_email>
Team: <ISV_heroku_team_name>
Description: <short_description_of_the_partner_integration>
Documentation URL: <https://link.to.partner.docs>
Logo URL: <path_to_logo_on_file_system>
Status: active
Created At: 2026-04-08T14:30:16.012544Z
Updated At: 2026-04-08T14:36:19.332386Z
Provision an ISV Heroku Connect Add-on
After creating your partner integration record in Heroku Connect, you can provision Heroku Connect for your customers by providing the ISV_SLUG you set when creating the ISV record.
For example, to provision an add-on from the CLI:
$ heroku addons:create -a APP_NAME herokuconnect:enterprise -- --isv <ISV_SLUG>
See our quick start guides for configuring your Heroku Connect add-on to use your Heroku Postgres database from the dashboard, CLI, or API.
Enroll Existing Heroku Connect Add-ons
You can also enroll existing Heroku Connect add-ons to your partner integration record:
$ heroku partner:connect:enroll <ISV_SLUG> --addon <addon-id>
Authorize Access to Integration
ISV customers must authorize the Heroku Connect partner integration to access their Salesforce data. Follow these steps to authorize or reauthorize access for the integration.
1. Provide Customer’s Integration User Details
You need your customer’s Salesforce organization ID and Salesforce username for the authorization API request. We recommend providing the dedicated integration user’s org ID and username for the request. These authorization details confirm that the user who completes the OAuth step is the intended user for the integration.
2. Retrieve the Authorization URL
Use the Heroku API plugin installed from the Prerequisites section to make an API call to retrieve the authorization URL. In the API call, provide your customer’s dedicated integration user’s Salesforce org ID and username:
$ heroku api POST /partner/connect/<isv-slug>/addon/<addon-id>/authorize \
--body '{"sf_org_id": "<org-id>", "sf_username": "<username>", "environment": "<environment>"}' \
-v 3.partner
The API parameters include:
sf_username: the Salesforce username that performs the authorizationsf_org_id: the Salesforce organization ID that the authorizing user belongs toenvironment: (optional) the Salesforce organization environment, eitherproduction,sandbox. The default issandbox.domain: (optional) the custom login domain if theenvironmentiscustomapi_version: (optional) the Salesforce API version for connection, for example66.0. The default is the latest supported version.
3. Authorize User
After retrieving the authorization URL, your customer can visit the URL and see a landing page that displays the ISV’s logo and a button to authorize the ISV to access their Salesforce data. Clicking the Authorize button redirects the customer to a Salesforce page to complete the OAuth login step.
4. Verify Authorization
To verify that your customer has completed the OAuth step for using the ISV Heroku Connect add-on, run the heroku connect:state command:
$ heroku connect:state
You can also verify the authorization with the Connection Details endpoint of the Heroku Connect API. The endpoint shows:
auth_updated: the timestamp when the connection was last authorizedorganization_id: the Salesforce organization IDstate: the state of the connection. For example,NEED_AUTHENTICATIONshows when your customer hasn’t authorized the connection yet, orUNAUTHORIZEDshows if Salesforce is no longer authorized.sf_info.username: the Salesforce username who authorized the connection
Deactivate Partner Integration
After deactivating your Heroku Connect partner integration record, you can no longer associate new Heroku Connect add-ons to the partner integration. Deactivating also destroys existing Heroku Connect add-ons associated with the partner integration. You can’t undo this action.
To deactivate your partner integration for Heroku Connect:
$ heroku partner:connect:deactivate <ISV_SLUG> --team <ISV_heroku_team_name>
› Warning: This will deactivate the partner integration <ISV_SLUG> and destroy all associated Heroku Connect add-ons.
✔ To proceed, type <ISV_SLUG> or re-run this command with --confirm <ISV_SLUG> <ISV_SLUG>
Deactivating integration <ISV_SLUG>...
✓ Partner integration deactivated
Integration: <ISV_SLUG>
Status: inactive