The classic Heroku-Salesforce loop is provisioning Heroku Connect on an existing Heroku app and pointing it at a Salesforce org. The setup takes about an hour.
- Create or pick the Heroku app
From dashboard.heroku.com, create the app or open an existing one. Confirm the app has Heroku Postgres provisioned.
- Provision Heroku Connect
Click the Add-ons tab, search for Heroku Connect, pick a plan, and provision. The add-on appears in the resources list.
- Authorize a Salesforce org
Open Heroku Connect, click Set Up Connection, OAuth into the target Salesforce org. The connection grants Heroku Connect access to read and write objects.
- Map objects and fields
Pick the Salesforce objects to sync. For each, choose a Postgres schema and table name, pick the fields to sync, and pick the sync direction (Read Only, Read Write).
- Test the sync
Insert a row in the Postgres table; verify the Salesforce record appears within seconds. Update the Salesforce record; verify the Postgres row updates. Diagnose any sync errors in the Heroku Connect logs.
- Deploy app code that uses the data
Build your Heroku app to read and write the synced Postgres tables. The app never talks to the Salesforce API directly; Heroku Connect handles all the API traffic and rate limiting.
- Heroku Connect counts against Salesforce API limits. A high-volume sync of a busy object can exhaust the daily API call quota; size Heroku Connect plans accordingly.
- The Common Runtime is not HIPAA-ready. Healthcare and finance customers need Heroku Private Spaces; the upgrade is significant in cost.
- Heroku dynos restart roughly every 24 hours. Apps must handle restart cleanly; in-memory state is lost on restart.
- The 30-second request timeout on the routing layer is fixed. Long-running requests (data exports, complex reports) need to move to background workers or use streaming responses.