With Portable, you can sync HubSpot data into your PostgreSQL warehouse in minutes. Access all of your CRM System data from PostgreSQL without having to manage cumbersome ETL scripts.
The Two Paths To Connect HubSpot To Your Data Warehouse
There are two ways to sync data from HubSpot into your data warehouse for analytics.
Method 1: Manually Developing A Custom Data Pipeline Yourself
Write code from scratch or use an open-source framework to build an integration between HubSpot and your warehouse.
Method 2: Automating The ETL Process With A No-Code Solution
Leverage a prebuilt connector from a cloud-hosted solution like Portable.
How To Create Value With HubSpot Data
Teams connect HubSpot to their data warehouse to build dashboards and generate value for their business. Let’s dig into the capabilities HubSpot exposes via their API, outline insights you can build with the data, and summarize the most common analytics environments teams are using to process their HubSpot data.
Extract: What Data Can You Extract From The HubSpot API?
HubSpot is a CRM system used for managing the customer experience.
To help clients power downstream analytics, HubSpot offers an application programming interface (API) for clients to extract data on business entities. Here are a few example entities you can extract from the API.
You can visit the HubSpot API documentation to explore the entire catalog of available API resources and the complete schema definition for each. As an example, here are some of the details for the deals endpoint in the HubSpot API documentation.
As you think about the data you will need for analytics, don’t forget that Portable offers no-code integrations to other similar applications like Pipedrive, ActiveCampaign, and Insightly that can be useful for comparison purposes.
Regardless of the SaaS solutions you use, it’s important to find a CRM system with robust data available for analytics.
Load: Which Destinations Are Best For A HubSpot ETL Pipeline?
To turn raw data from HubSpot into dashboards, most companies centralize information into a data warehouse or data lake. For Portable clients, the most common ETL pipelines are:
- HubSpot to Snowflake Integration
- HubSpot to Google BigQuery Integration
- HubSpot to Amazon Redshift Integration
- HubSpot to PostgreSQL Integration
Once you have a destination to load the data, it’s common to combine HubSpot data with information from other enterprise applications like Jira, Zendesk, Mailchimp, HubSpot, and LinkedIn.
From there, you can build cross-functional dashboards in a visualization tool like Power BI, Tableau, Looker, or Retool.
Develop: Which Dashboards Should You Build With HubSpot Data?
Now that you have identified the data you want to extract, the next step is to plan out the dashboards you can build with the data.
As a process, you want to consume raw data, overlay SQL logic, and build a dashboard to either 1) increase revenue or 2) decrease costs.
Here are three HubSpot dashboards you should consider as a starting point.
- Open Deals (By Status) - If your company uses HubSpot to manage your sales funnel, it's valuable to understand how many deals you have in each stage of the pipeline. Not only are summary statistics helpful, but showing a list of the deals in each pipeline phase along with a link to the deal in HubSpot is a very actionable way of displaying your sales funnel.
- Companies With No Engagements In 30 Days - When you are trying to close deals, it's important to stay in touch. By tracking which accounts have gone cold (i.e. no engagements - meetings, emails, etc.), you can help get your team back on track pushing these deals over the finish line.
- Contact Summary View - Create a dashboard with a filter at the top (to select a specific contact). From there, break out all of the engagements, the companies, the deal pipeline status, and the lists that the contact is part of. It's the beginning of a customer 360 view and can involve data from other data sources as well.
Beyond the dashboards above, replicating HubSpot data into your cloud data warehouse can unlock a wide array of opportunities to power analytics, automate workflows, and develop products. The use cases are endless.
Now that we have a clear sense of the insights we can create, let’s compare the process of developing a custom HubSpot integration with the benefits of using a no-code ETL solution like Portable.
Method 1: Building A Custom HubSpot ETL Pipeline
To build your own HubSpot integration, there are three steps:
- Navigate the HubSpot API documentation
- Make your first API request
- Turn an API request into a complete data pipeline
Let’s walk through the process in more detail.
How To Interpret HubSpot’s API Documentation
When reading API documentation, there are a handful of key concepts to consider.
There are many common authentication mechanisms. OAuth 2.0 (Auth Code and Client Credentials), API Keys, JWT Tokens, Personal Access Tokens, Basic Authentication, etc. For HubSpot, it’s important to identify the authentication mechanism and how best to incorporate the necessary credentials into your API requests.
Hubspot uses OAuth 2.0 Auth Code for authentication. Developers need to create an application with a client ID and client secret, redirect users to an authentication URL, and generate a token. Once a bearer token is generated, it is added to the API header for every request.
In addition to understanding how to authenticate with the HubSpot API, it’s also important to understand the permissions and scopes necessary to make calls to various API endpoints and how access is granted to users and systems.
To grant access to the HubSpot API, a user can authorize a third party via the OAuth Auth Code flow. HubSpot offers scopes that can be leveraged in the OAuth flow.
It’s important to identify the HubSpot API endpoints you want to use for analytics. Most APIs offer GET, POST, PUT, and DELETE methods; however, for analytics, GET requests are typically the most useful. At times, POST requests can be used to extract data as well.
For HubSpot, the deals endpoint is a great place to get started.
For each API endpoint, you would like to use for analytics, you need to understand the method (GET, POST, PUT, or DELETE) and the URL (i.e. https://api.hubapi.com/crm/v3/objects/deals) but there are other considerations to take into account as well. You should look out for pagination mechanics, query parameters, and parameters that are added to the request path.
HubSpot uses different pagination mechanisms depending on the API endpoint.
For instance, the deals endpoint uses limit and after parameters where a cursor is returned from the prior request.
Some endpoints require parameters to be included in the path or query parameters such as when you want to return stages in a pipeline.
How Do You Call The HubSpot API? (Tutorial)
- Follow the instructions above to read the HubSpot API documentation
- Identify and collect your credentials for authentication
- Pick the API resource you want to pull data from
- Configure the necessary parameters, method, and URL to make your first request (Either with curl, or Postman)
- Add your credentials and make your first API call. Here is an example request using curl (without real credentials):
curl --request GET \ --url 'https://api.hubapi.com/crm/v3/objects/deals' \ --header 'authorization: Bearer YOUR_ACCESS_TOKEN'
How Do You Maintain A Custom HubSpot ETL Pipeline?
Making a call to the HubSpot API is just the beginning of maintaining a complete custom ETL pipeline.
Here is a getting started guide to building a production-grade pipeline for HubSpot:
- For each API endpoint, define schemas (which fields exist and the type for each)
- Process the API response and parse the data (typically parsing JSON or XML)
- Handle and replicate nested objects and custom fields
- Identify which fields are primary keys and which keys are required vs. optional
- Version control your changes in a git-based workflow (using GitHub, GitLab, etc.)
- Handle code dependencies in your toolchain and the upgrades that come with each
- Monitor the health of the upstream API, and - when things go wrong - troubleshoot via the status page, reach out to support, and open tickets
- Handle error codes (HTTP error codes like 400s, 500s, etc.)
- Manage and respect rate limits imposed by the server
We won’t go into detail on all of the items above, but rate limits are a great example of the complexity found in a production-grade data pipeline.
For rate limits, Hubspot provides different thresholds depending on the type of authentication used (OAuth vs. Private Apps). Applications that use OAuth 2.0 can make up to 100 requests every 10 seconds. For private apps, the number of calls that can be made is based on the account subscription and whether the API add-on has been purchased.
If you don’t respect rate limits, and if you can’t handle server responses (like 429 errors with a Retry-After header), your pipeline can break, and analytics can become out-of-date.
What Are The Drawbacks Of Building A HubSpot ETL Pipeline Yourself?
You can probably tell at this point that there is a lot of work that goes into building and maintaining an ETL pipeline from HubSpot to your data warehouse.
If you want less development work, faster insights, and no ongoing responsibilities, you should consider a cloud-hosted ETL solution.
Let’s walk through the setup process for a no-code ETL solution and its benefits.
Method 2: Using A No-Code HubSpot ETL Solution
No-code ETL solutions are simple. Vendors are specialized in building and maintaining data pipelines on your behalf. Instead of starting from scratch for each integration. Companies like Portable create connector templates that can be leveraged by hundreds or thousands of clients.
Step-By-Step Tutorial For Configuring A HubSpot ETL Pipeline
Off-the-shelf ETL tools offer a no-code setup process. Here are the instructions to connect HubSpot to your cloud data warehouse with Portable.
- Create an account (no credit card required)
- Add a source - Search for and select HubSpot
- Authenticate with HubSpot using the instructions in the Portable console
- Select your warehouse (Snowflake, BigQuery, Redshift, or PostgreSQL) and authenticate
- Set up a flow connecting HubSpot to your analytics environment
- Run your flow to replicate data from HubSpot to your warehouse
- Use the dropdown to set your data flow to run on a cadence
What Are The Benefits Of Using Portable For HubSpot ETL?
Start moving HubSpot data in minutes. Save yourself the headaches of reading API documentation, writing code, and worrying about maintenance. Leave the hassle to us.
Easy To Understand Pricing
With predictable, fixed-cost pricing per data flow, you know exactly how much your HubSpot integration will cost every month.
Fast Development Speeds
Access lightning-fast connector development. Portable can build new integrations on-demand in hours or days.
APIs change. Schemas evolve. HubSpot will have maintenance issues and errors. With Portable, we will do everything in our power to make your life easier.
Unlimited Data Volumes
You can move as much HubSpot data as you want without worrying about usage credits or overages. Instead of analyzing your ETL costs, you should be analyzing your data.
Free To Get Started
Sign up and get started for free. You don’t need a credit card to manually trigger a data sync, so you can try all of our connectors before paying a dime.