--- title: "HubSpot" slug: "hubspot" description: "Get the most out of your HubSpot data with Dataddo. Easily access all available metrics, load historical records, and create a secure & reliable data pipeline." updated: 2026-07-09T08:29:16Z published: 2026-07-09T08:29:16Z canonical: "docs.dataddo.com/hubspot" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.dataddo.com/llms.txt > Use this file to discover all available pages before exploring further. # HubSpot **HubSpot** is an all-in-one platform for marketing, sales, and customer service. Businesses use it to attract, engage, and support customers. It includes tools for campaigns, lead generation, customer relationships, and support. Each of the objects has different metrics. Refer to HubSpot's official documentation to see [all available endpoints from the HubSpot API](https://developers.hubspot.com/docs/api/overview). Custom Fields and Objects **Custom fields** are supported for all objects. **Custom objects** are currently being added to the connector and are not yet supported out of the box. If you need data from a HubSpot custom object, contact our Solutions team with the name of the object. We will add the ***data source*** manually for you. ## HubSpot and HubSpot Analytics Connectors Difference The **HubSpot** connector is for CRM data (contacts, deals, tickets etc.) whereas the [**HubSpot Analytics**](/docs/hubspot-analytics) connector is for analytics data (about landing pages, content, blog posts, website performance and other). Another difference is that it is possible to extract historical data for HubSpot Analytics. For HubSpot, you can only use extraction timestamps to [**build a time series**](/docs/hubspot#no-historical-data). ## Authentication Methods HubSpot supports more than one way to connect. Pick one when you create the authorizer in Dataddo: - **HubSpot account** - sign in with HubSpot and approve access (recommended). - **Your own HubSpot app** - use your own HubSpot app credentials (for advanced setups). ## Authorize Connection to HubSpot To authorize this service, use **OAuth 2.0** to share specific data with Dataddo while keeping usernames, passwords, and other information private. 1. On the **Authorizers** page, click on [Authorize New Service](https://app.dataddo.com/service/new) and select your service. 2. Follow the on-screen prompts to grant Dataddo the necessary permissions to **access and retrieve** your data. 3. **[Optional]** Once your ***authorizer*** is created, click on it to **change the label** for easier identification. Ensure that the account you're granting access to holds at least **admin-level permissions**. If necessary, assign a team member with the required permissions with the [authorizer role](https://docs.dataddo.com/docs/user-roles#authorizer) to authenticate the service for you. For more information, see our article on [***authorizers***](https://docs.dataddo.com/docs/authorized-services). ## Data Coverage HubSpot exposes the following datasets. Each dataset maps to a table you can extract. Example fields are a representative sample; each dataset returns more columns. The Date range column shows whether a dataset extracts a selected relative window or all available data (see below). | Dataset | Description | Example fields | Date range | | --- | --- | --- | --- | | Blog posts report | Daily, weekly or monthly report for blog posts | Amp Views, Contacts, Contacts Per Pageview, Cta Clicks, Cta Rate, Cta Views (+17 more) | Yes | | Basic breakdowns | For totals, sessions, sources, geolocations and campaigns | Bounce Rate, Bounces, Contact To Customer Rate, Contacts, Contacts Per Pageview, Customers (+19 more) | Yes | | Calls | | dynamic (from your account) | No | | Channels | Channels | ID, Name | No | | Communications | | dynamic (from your account) | No | | Companies (deprecated) | | dynamic (from your account) | No | | Companies | | dynamic (from your account) | No | | Contacts v3 | | dynamic (from your account) | No | | Content breakdowns | For landing pages, standard pages, blog posts and articles | Contacts, Contacts Per Pageview, CTA Clicks, CTA Rate, CTA Views, Entrances (+17 more) | Yes | | Conversations | Conversations | Archived, Client Type, Created At, Created By, Direction, ID (+9 more) | No | | Custom Objects | Data from HubSpot custom objects using CRM v3 API | dynamic (from your account) | No | | Deal Pipelines | | dynamic (from your account) | No | | Deals | | dynamic (from your account) | No | | Email statistics | Aggregated statistics for the given interval, plus the IDs of emails that were sent during that interval. | Email ID, Bounce, Bounce Ratio, Click, Click Device Type - Computer, Click Device Type - Mobile (+30 more) | Yes | | Email statistics - Campaign Aggregations | Aggregated statistics for the given interval, plus the IDs of emails that were sent during that interval. | Email ID, Campaign ID, Bounce, Bounce Ratio, Click, Click Device Type - Computer (+31 more) | Yes | | Emails | | dynamic (from your account) | No | | Forms | | dynamic (from your account) | No | | Forms report | Daily, weekly or monthly report for forms | Click Through Per Form View, Completions, Completions And Unenrolls, Contact Submissions, Date, Form Views (+7 more) | Yes | | Individual form report | Daily, weekly or monthly report for a specific form | Click Through Per Form View, Contact Submissions, Date, Form ID, Form Views, Interactions (+5 more) | Yes | | Inboxes | Inboxes | Archived, Assigned To, Associated Contact Id, Created At, ID, Inbox Id (+6 more) | No | | Landing pages report | Daily, weekly or monthly report for landing pages | Contact To Customer Rate, Contacts, Contacts Per Pageview, Cta Clicks, Cta Rate, Cta Views (+20 more) | Yes | | Line Items | | dynamic (from your account) | No | | Meetings | | dynamic (from your account) | No | | Notes | | dynamic (from your account) | No | | Object breakdowns | For event completions, forms, pages and social assists | Contacts, Contacts Per Pageview, CTA Clicks, CTA Rate, CTA Views, End Date (+19 more) | Yes | | Owners | | dynamic (from your account) | No | | Owners Archived | | dynamic (from your account) | No | | Postal Mail | | dynamic (from your account) | No | | Products | | dynamic (from your account) | No | | Quotes | | dynamic (from your account) | No | | Sessions report | Daily, weekly or monthly report for sessions | Date, Desktop, Direct Traffic, Email Marketing, Mobile, Organic Search (+4 more) | Yes | | Sources report | Daily, weekly or monthly report for sources | Bounce Rate, bounces, Breakdown, Contacts, Contacts Per Pageview, Date (+13 more) | Yes | | Tasks | | dynamic (from your account) | No | | Conversation threads | | Created At, ID, Name | No | | Tickets | | dynamic (from your account) | No | | Totals report | Daily, weekly or monthly report for totals | Amp Views, Contact To Customer Rate, Contacts, Contacts Per Pageview, Customers, Customers Per Pageview (+19 more) | Yes | | Updated Contacts | | dynamic (from your account) | Yes | | Website pages report | Daily, weekly or monthly report for website pages | Contact To Customer Rate, Contacts, Contacts Per Pageview, Cta Clicks, Cta Rate, Cta Views (+20 more) | Yes | ## How Data Extraction Works What each extraction pulls depends only on whether a dataset supports a date range (see the Date range column above): - **Date range supported (Yes):** the source reads a relative window (for example "last 7 days"), and that window slides forward with the current date. Every run re-reads the window, so a range of "1 day ago" always pulls the previous day (D-1). Each run replaces the window's data rather than adding older history. To load records from before the window, run a full data re-sync with a wider range. See [Data Backfilling](/docs/data-backfilling). - **No date range (No):** every run pulls all currently available data. Set the relative date range when you create the source. ## Metadata Columns When you create a source, you can add these Dataddo metadata columns to the extracted data: - **dataddo_hash** - a fingerprint built from each record's key fields. It works as a natural key, so it is ideal for upserts (updating existing rows in your destination instead of creating duplicates). - **dataddo_extraction_timestamp** - the date and time the row was extracted. Use it to track how records change over time, for example to build slowly changing dimensions. ## How to Create a HubSpot Data Source Creating a data source takes you through six steps, shown in the progress bar at the top of the wizard. Each step is explained below. **1. Pick the connector** On the **Sources** page, click **Create Source**, then select the connector from the catalog. Use the search bar or the category tabs if you do not see it right away. You can rename the source at any time using the pencil icon next to its name. **2. Select the dataset** A dataset defines the shape of your data: which fields you get and how they relate. Select the dataset you want; you can still fine-tune the exact fields later. - Each dataset has a short description of what it contains. Use the search box to find a dataset, attribute, or metric by name. - The panel on the right previews the selected dataset's fields. For each field you can see its **data type**, whether it holds **sensitive** data (personal fields such as name or email are flagged), and which **other datasets it links to**, so you can see how the datasets relate. **3. Choose the account** This step selects what Dataddo reads from. - **Authorizer:** Select an account you have already authorized from the drop-down. If you have none yet, choose **Add new account** and follow the prompts. If no authorizer is selected, Dataddo asks you to authorize before you continue. - **What to extract from:** Select the exact entity you want to pull data from. Depending on the service this may be labelled an account, property, profile, workspace, or similar, sometimes with a sub-level to choose as well. - **Multiple accounts:** To pull the same data from every entity you can access, turn on **Automatically collect data from all ...**. This is multi-account extraction. Leave it off to choose them by hand. **4. Refine the attributes and metrics** The dataset already sets the structure. Here you fine-tune it: tick or untick the specific attributes and metrics you want to keep, and use the search box to find a field quickly. Click **Test on Sample Data** at any point to preview the result before you continue. **5. Add metadata columns (optional)** Two optional columns help your destination handle the data. - **Dataddo Hash (Include Row Hash):** a fingerprint built from the columns you pick. It works as a natural key, so your destination can deduplicate rows and run upserts instead of creating duplicates. Turn it on, then select the columns that uniquely identify a row. - **Dataddo Extraction Timestamp:** the time each row was extracted. Use it to watermark the data, for example to build slowly changing dimensions or to track when a value last changed. **6. Set the schedule** Decide how often Dataddo runs the extraction. - **Frequency:** how often the pipeline runs, for example daily. Click **Show advanced settings** to also set the exact hour and minute (UTC). - **Date range:** the relative window each run extracts, for example "Yesterday". The window moves forward on every run. - **Historical data:** a new source starts from the current window. To load older data, run a [full data re-sync](https://docs.dataddo.com/docs/data-backfilling) after the source is created. - **Allow Empty Data Extractions:** when on, a run that returns no data records zero rows instead of failing. Turn it on if the source can legitimately have periods with no data. Click **Save**. Your data source is ready. ### Use Data Blending to Associate IDs and Names We recommend using the [data blending](/docs/data-blending) feature when creating a [***data flow***](/docs/how-to-create-a-data-flow) to have IDs and names in the same table. The most common use cases are: **Owner ID and owner name:** - Create an additional ***data source*** using the **Owners** object and add the following properties: - **Owner ID** - **Owner Last/First name** - Blend your two sources using **Owner ID** as the join key. **Stage ID and stage name:** - Create an additional ***data source*** using the **Deals Pipelines** object and add the following properties: - **Stage ID** - **Stage Label** - Blend your two sources using **Stage ID** as the join key. --- ## Limitations ### No Historical Data It's not possible to load your historical data as the HubSpot API only allows extraction of the full list of selected contacts or deals. However, you can **keep daily snapshots** by selecting an **object**. To keep track of historical records, you can 1. Add **Dataddo extraction timestamp** to your data, and 2. Choose to **append** your data to build your time series. For more information on loading historical data, refer to our [data backfilling guide](/docs/data-backfilling). ## Troubleshooting ### Data Preview Unavailable No data preview when you click on **Test Data** might be caused by an issue with your ***source*** configuration. The most common causes are: - **Date range**: Try a smaller date range. You can load the rest of your data afterward via [manual data load](https://docs.dataddo.com/docs/data-backfilling). - **Insufficient permissions**: Please make sure your authorized account has at least admin-level permissions. ### Retrieve Object ID To get your **Object ID**, in your HubSpot account 1. Navigate to **Settings**. 2. Under the **Data Management** section, unroll **Objects**, and click on **Custom Objects**. 3. Your Object ID will be in **the last part of the URL**, starting with **2-**, for example, https://app.hubspot.com/sales-products-settings/yourcustomerID/object/**2-12345678**. ### Uninstall the Integration When you disconnect your HubSpot account in Dataddo, **all your customer data related to HubSpot will be deleted from your account**. This does not affect the HubSpot data already loaded into your destination (i.e. dashboard or data warehouse). When u**ninstalling the app through the HubSpot administration**, it is still recommended to delete any HubSpot sources or flows in Dataddo (the data does not get deleted unless the sources are deleted or your account gets disabled). To uninstall the Dataddo and HubSpot integration, you can choose one of the following methods. #### 1. Disconnect your HubSpot account In the [Authorizers](https://app.dataddo.com/authorizers) tab, delete the authorized HubSpot service. As a result, all Dataddo's permissions to extract data from your HubSpot account will be removed. Please note that you will first need to delete **all sources and flows** using HubSpot. #### 2. Delete the installed Dataddo app in your HubSpot administration 1. In your HubSpot account, navigate to Settings. 2. Under Account Setup, unroll the Integrations section and click on **Connected Apps**. 3. Locate the Dataddo app and click on **Actions - Uninstall**. No further data can get extracted and your HubSpot sources in Dataddo will get broken. However, the data already extracted until that point will stay in Dataddo until you delete your HubSpot sources (or until your Dataddo account is disabled). ## Related Articles Now that you have successfully created a ***data source***, see how you can connect your data to a dashboarding app or a data storage. **Sending Data to Dashboarding Apps** - [Simple Data Integration to Dashboards](https://docs.dataddo.com/docs/simple-data-integration-to-dashboards) - [Data Backfilling to Dashboarding Apps](https://docs.dataddo.com/docs/data-backfilling-to-dashboarding-apps) **Sending Data to Data Storages** - [Batch Ingestion to Data Warehouses](https://docs.dataddo.com/docs/ingestion-to-data-warehouses) - [Data Backfilling to Storages](https://docs.dataddo.com/docs/data-backfilling-to-storages) **Other Resources** - [Troubleshooting](https://docs.dataddo.com/docs/troubleshooting) - [Extraction Logs](https://docs.dataddo.com/docs/extraction-logs) - [Data Duplication](https://docs.dataddo.com/docs/data-duplication)