If you need to synchronize data between Salesforce & Heroku, look no further than using Heroku Connect. Heroku Connect is “point & click” configuration and requires no coding. Follow this step-by-step guide and in less than 45 minutes you will have your own Heroku Instance, a Postgres database on Heroku and Heroku Connect synchronizing the data between Salesforce & Heroku. But before we get into the nitty-gritty of the same, here are a few things that you need to be aware of.

  • Heroku Connect is not free. You will need to buy the licenses and the license is based on the number of rows that needs to be synchronized. Please contact Salesforce for pricing
  • Heroku Connect keeps the data in sync at all times. Any changes on Salesforce will be updated in Heroku and any changes on Heroku will be updated in Salesforce (that is if you have enabled the option to synchronize from Heroku to Salesforce)
  • As of now you cannot synchronise the data selectively from an object (that is you cannot specify a filter criteria to select records). All the records of the object will be synched with Heroku
  • For Heroku -> Salesforce synchronization, Heroku Connect synchronizes data from Postgres to Salesforce every 10 seconds in asynchronous batch mode
  • For Salesforce -> Heroku synchronization there are two options
    • Polling Synchronization – which can be set to a frequency from 2 to 60 minutes
    • Event Driven Synchronization – Based on Streaming API, this mode notifies Heroku Connect of any changes in real time, rather than waiting for the service to poll Salesforce for updates
  • Each object can have a different synchronization setting and frequency

For more information about Heroku Connect, you may also want to refer to the following URLs