Heroku - 16 Heroku Connect Introduction
This lesson kicks off the integrations between Salesforce and Heroku with the most click-and-go solution: Heroku Connect. Among the three options we will cover, Heroku Connect is the one that requires the least amount of code and development time. With a few clicks, it makes your Salesforce data available inside your Heroku application by converting Salesforce objects and their content into PostgreSQL tables in Heroku. The add-on only works in combination with Heroku Postgres, so to use it you must have a Heroku Postgres database attached to your app.
How the sync works (both directions)
Imagine a table with three fields: first name, last name and age. We have a row for someone called John Ross, aged 21. If the value 21 is changed to 22 on the Heroku side, Heroku Connect pushes that change to Salesforce and updates the age on that side too, keeping both platforms in sync. The exact same thing happens in the other direction: if the last name in Salesforce changes from Ross to another value, that update is transferred back to Heroku Postgres. Synchronization is therefore bidirectional.
Plans, frequency and data volumes
An important question when using Heroku Connect is how often the data is synced between the platforms, and how much data can be synced. That depends on the plan you choose:
- Free plan — up to 10,000 rows synchronized across all your synced tables. You can technically have an unlimited number of synced tables, but the total number of rows cannot exceed 10,000. The free plan does not offer accelerated sync: a change can take up to 10 minutes to propagate.
- Shield / Enterprise plan — paid plans, with pricing that depends on the data volume to sync (Salesforce does not publicly publish the exact pricing algorithm). On these plans, the base sync runs every two minutes, and you also get access to accelerated sync, which is near-instant — effectively real-time synchronization between Heroku and Salesforce.
It is up to you to pick the plan that matches your needs. If you need more than the free plan offers but Shield is too expensive, the other solutions we cover in upcoming lessons may fit better.
Known limitations
Before moving to the hands-on part, two important limitations are worth knowing. Files and attachments cannot be synced: if you want to store a file, Heroku Connect will not replicate it. The recommended pattern is to store the file in an external service (for example Amazon S3 or another hosting service) and then keep only the URL pointing to the file in a synced text field. Partial sync is not supported: when a table or object is synced, you cannot choose which subset of rows or columns is or is not synced — it is "all or nothing" at the object level. See you in the next lesson.
Summary
Heroku Connect is a low-development-time solution that synchronizes Salesforce objects and data into PostgreSQL tables on Heroku with minimal setup. The add-on supports bidirectional real-time data synchronization with configurable pricing tiers (free, Shield, and Enterprise plans), though it has limitations including no file attachment synchronization and no partial table synchronization capabilities.
Key points
- Heroku Connect requires PostgreSQL add-on installed and syncs Salesforce data to Heroku database tables automatically
- Free plan offers up to 10,000 synchronized rows with sync delays up to 10 minutes; Shield and Enterprise plans enable near-instant synchronization
- Bidirectional synchronization keeps data in sync across both platforms when changes occur in either Salesforce or Heroku
- Pricing depends on data volume; no transparent algorithm disclosed, requiring manual evaluation of affordability
- File attachments and partial table synchronization are not supported; files must be stored separately and synced by URL reference
- Complete table objects are synchronized as units—selective column or row synchronization is not possible
FAQ
What is Heroku Connect and how does it work?
Heroku Connect is an add-on that synchronizes Salesforce objects and data into PostgreSQL tables on Heroku. When data changes in either platform, the connection automatically syncs the updates bidirectionally between Salesforce and Heroku database.
What are the pricing differences between Heroku Connect plans?
The free plan includes up to 10,000 synchronized rows with delays up to 10 minutes. Shield and Enterprise plans support higher row counts, synchronize every 2 minutes, and offer accelerated near-instantaneous synchronization, though exact pricing varies by data volume.
What data cannot be synchronized with Heroku Connect?
File attachments cannot be synchronized directly. Files must be stored externally using services like AWS and the URL reference synced instead. Additionally, partial table synchronization is not supported—entire objects are synced as complete units.