Heroku is an immensely popular platform that allows you to create and deploy apps in record time. It’s even more popular with businesses that use Salesforce, as the Heroku Connect extension allows for easy integration between Salesforce and applications in Heroku.

But from a data point of view, it creates a slight headache. Your new apps might go online quickly, which is great, but now you have a new source of data. Your next step will be to integrate this source into the rest of your data infrastructure. How do you interact with a live database connected to an application running inside a hosted environment?

The simple answer? Use Integrate.io. There’s an easy-to-use Integrate.io integration that allows you to perform a Heroku data transfer with zero coding. Let’s take a look at how it works.

  1. How Does Heroku Store Data?
  2. Heroku Data Transfer via Integrate.io
  3. How Does Integrate.io Work With Heroku Connect?
  4. Getting Started on Your First Integrate.io-Heroku Data Transfer

How Does Heroku Store Data?

Before we look at the Heroku data transfer process, let’s looks at how this platform hosts applications.

Heroku is a cloud-based Platform-as-a-Service (PaaS) that takes care of all the set-up work involved in creating an application. Your applications run inside containers, known in Heroku lingo as dynos. You can handle all aspects of dyno admin, including permissions and resource allocation, from the command line or a visual dashboard. Dynos support eight programming languages: Ruby, Node.js, PHP, Go, Clojure, Java, Python, and Scala.

Your applications need a database, and the default option is Heroku Postgres, a relational database based on PostgreSQL. There’s also an option to work with MySQL or NoSQL, but the majority of Heroku data transfer processes will involve Postgres.

Heroku Data Transfer via Integrate.io


Integrate.io is a cloud-based Extract, Transform, Load (ETL) platform that obtains data from a source, applies transformations, and then loads it to a destination.

Heroku Postgres can serve as a source or a destination in your ETL process. For example, imagine you have a client-facing application that runs in a Heroku dyno. You can use ETL in both directions:

  • Source: You use ETL to extract data from the application and integrate it into your data warehouse.  
  • Destination: You take updated data, such as contact information or marketing preferences, and use ETL to load this information into the Heroku Postgres database. 

Heroku data transfer is easy in either direction. It’s simply a matter of configuring both services and then using Integrate.io’s visual UI to create an ETL package.

Configuring Integrate.io on Heroku

Integrate.io is a standard add-on for Heroku, and you can provision it from the command line interface with this command:

heroku addons:create xplenty

If you want to view your Integrate.io configuration from the CLI, you can use:

heroku config | grep xplenty

You can open the Integrate.io interface directly from the Heroku dashboard, or access it from the CLI by typing:

heroku addons:open xplenty

From this point on, you can use the Integrate.io API as you need. You can also manage your Integrate.io connection from the Heroku dashboard. For more details, take a look at Heroku’s Integrate.io documentation.

Configuring Heroku on Integrate.io

Integrate.io connects directly to Heroku Postgres, which means that it directly accesses the database layer without requiring further authentication.

Connecting to Heroku Postgres is as easy as connecting to any other data source. Simply log into Integrate.io and:

  1. Create a new database connection in the normal way.
  2. Select “Heroku Postgres” as the connection type.
  3. Provide the authentication details from your Heroku database. You can find this information in the databases section of your Heroku dashboard.
  4. Test the connection and save

Now that you’re connected, you can create new packages with Heroku as a source or destination.

  • As a source: Integrate.io will extract data from Heroku, perform any required data transformations, and then load that data to your destination.
  • As a destination: You create a package with a source and transformations. Integrate.io then does a data transfer to Heroku, and updates the Heroku Postgres tables accordingly.

Disconnecting Heroku and Integrate.io

If you’re no longer using the connection, you can simply delete Heroku Postgre from your list of Integrate.io connections on the admin console.

If you need to remove Integrate.io on the Heroku side, you can do so from the dashboard or with this CLI command:

heroku addons:destroy xplenty

How Does Integrate.io Work With Heroku Connect?

Salesforce acquired Heroku back in 2010, which is why the two services are closely associated.

Heroku Connect is a service dedicated to ensuring the smooth flow of data between Salesforce and any applications running in dynos. Heroku Connect syncs the contents of your Heroku Postgres tables with objects in Salesforce, and this data flow can be uni- or bi-directional. There’s also support for Salesforce Connect, which allows Salesforce to display data from external sources in the context of Salesforce objects.

However, Heroku Connect still lacks some of the features you get from a full ETL platform. You need additional tools to complete a full integration with external databases, or to replicate data on a data repository.

Integrate.io can also serve as a communication layer between applications. Many applications don’t have a PostgreSQL interface, which means that you can’t create a direct Heroku data transfer. Integrate.io uses a REST API to communicate with apps and has a library of over 100 common integrations. So data can flow through Integrate.io and into your Heroku Postgres database, or vice versa.

Integrate.io to Heroku Connect integration has several common use cases, including:

  • Marketing: Integrate.io integrates with a range of marketing automation and sales enablement tools. As Salesforce is likely to be a core part of your sales and marketing strategy, you’ll likely need an active data pipeline to tie all of your tools together.
  • Analytics and Business Intelligence: By establishing an active data pipeline between Heroku, Salesforce, and your other mission-critical applications, you provide your analytics team with access to timely data.
  • Replication: Integrate.io connects to the most popular data repositories, including data warehouses, data marts, and data lakes. Your ETL-driven data pipeline will replicate all essential data, which you can use for operations, analysis, or storage.

Of course, Integrate.io can connect to Heroku and to Salesforce independently. But using Heroku Connect can help improve data flow while ensuring your team always has access to the information they need.

Getting Started on Your First Integrate.io-Heroku Data Transfer

Heroku is a lifesaver for many organizations. PaaS allows you to build and deploy applications in record time, which means that you can respond to customer needs, even if you have limited in-house IT resources. The fact that it works so well with Salesforce is a bonus. And if you can manage your data flow with Integrate.io, you can take your business to the next level.

Ready to create a Heroku data transfer package in Integrate.io?  Schedule your demo and discover how Integrate.io can connect your apps to the world.