HubSpot is a cloud-based Customer Relationship Management (CRM) platform that enables businesses to manage customer interactions, handle sales and marketing processes, and analyze customer data. It also allows you to create and customize properties based on your business requirements to improve customer engagement and relationships.
Hevo uses HubSpot REST APIs and webhooks to replicate data from your account into the Destination of your choice. To ingest data, you must authenticate your HubSpot account with Hevo using Open Authorization (OAuth).
Supported Features
| Feature Name | Supported |
|---|---|
| Capture deletes | Yes |
| History mode | Yes |
| Custom data (user-configured objects & fields) | Yes |
| Data blocking (skip objects and fields) | Yes |
| Resync (objects and Pipelines) | Yes |
| API configurable | Yes |
Prerequisites
-
An active HubSpot account exists from which data is to be ingested.
-
You must be logged in as a Super Admin to access all data in your HubSpot account.
Configure HubSpot as a Source in your Pipeline
Perform the following steps to configure your HubSpot Source:
-
Click Pipelines in the Navigation Bar.
-
Click + Create Pipeline in the Pipelines List View.
-
On the Select Source Type page, select HubSpot.
-
On the Select Destination Type page, select the type of Destination you want to use.
-
On the Select Pipeline Type page, click Edge, and then click Continue.

This page appears only if the selected Destination type is supported in Edge and your Team has an existing HubSpot Pipeline with the same Destination type. Otherwise, you can proceed to create an Edge Pipeline.
-
In the Configure Source screen, do the following:

-
Source Name: Specify a unique name for your Source, not exceeding 255 characters. For example, HubSpot Source.
-
In the Connect to your HubSpot account section, click Authenticate Your HubSpot Account and perform the following steps to configure your account:
-
If you are not already signed in to your HubSpot account, sign in when prompted. Otherwise, proceed to step 2.
-
Select the HubSpot account from which you want Hevo to ingest data and copy the corresponding account ID. Specify this value in the HubSpot Account ID (Portal ID) field.

-
Click Choose Account.
-
Select the acknowledgment check box, and then click Connect app to authorize Hevo to access your HubSpot account data. During authorization, Hevo installs an app in your account that registers webhook subscriptions for the company, contact, and deal objects. This is required for Hevo to capture delete events for these objects.

You are redirected to the Configure Source screen.
-
-
HubSpot Account ID (Portal ID): The ID of the HubSpot account from which you want Hevo to ingest data.
-
-
Click Test & Continue to test the connection to your HubSpot Source.
When you click this button, Hevo makes an API call to retrieve your HubSpot account details. If the API call is successful, it verifies that Hevo can access your account data, and the connection test is marked as successful. You can then proceed to set up your Destination.
Data Replication
Hevo replicates data for all the objects selected on the Configure Objects page during Pipeline creation. By default, all supported objects and their available fields are selected. However, you can modify this selection while creating or editing the Pipeline.
Note: Selecting a parent object automatically includes all its associated child objects for replication. Child objects cannot be selected or deselected individually.
Hevo ingests the following types of data from your Source objects:
-
Historical Data: The first run of the Pipeline ingests all available historical data for the selected objects and loads it into the Destination.
-
Incremental Data: Once the historical load is complete, new and updated records for objects are ingested as per the sync frequency.
-
Refresher Data: Hevo ensures that your analytics and event data remain accurate and up to date by re-ingesting records for a defined duration and loading them into the Destination. The refresher task runs every 24 hours to maintain the accuracy and completeness of the data.
Hevo supports data refresh for the following objects:
Note: In the table below, * represents the specific analytics report or event type. For analytics reports, this includes Geolocation, Sessions, Sources, Totals, and Urchin Tracking Module (UTM). For email events, this includes event types such as Bounce, Click, and Delivered.
Objects Purpose Data Refresh Duration *_analytics_daily_report Aggregates analytics data for the current day. 30 days *_analytics_weekly_report Provides a summarized view of analytics metrics for the week. 4 weeks *_analytics_monthly_report Provides an overview of monthly trends and traffic. 2 months email_event_* Captures email delivery, open, click, and interaction events. 25 hours custom_event Captures user-defined events and activity data. 25 hours For example, let us suppose the geolocation_analytics_daily_report data was ingested till 2025-05-18 during the last Pipeline run. In the current run, Hevo refreshes data for the past 30 days and ingests records from 2025-04-19 to 2025-05-19, ensuring that any updated analytics data within this period is captured correctly.
For the following objects, Hevo ingests the entire data during each Pipeline run:
| Object Category | Objects |
|---|---|
| CRM and Sales Hub | association_type, company_list, custom_event_definition, custom_event_definition_association, custom_event_definition_property, custom_event_definition_property_option, deal_pipeline, deal_pipeline_stage, lead_pipeline, lead_pipeline_stage, owner, owner_team, property, property_option, role, team, team_user, users |
| Marketing Hub | contact_list, email_subscription, form, marketing_campaign, marketing_campaign_asset, marketing_campaign_budget_item, marketing_campaign_contact, marketing_campaign_spend_item, marketing_event, marketing_event_custom_property, marketing_event_list, marketing_event_participant, submission_response |
| Service Hub | conversation_channel, conversation_channel_account, conversation_inbox |
| Web Analytics Reports | geolocation_analytics_overall_report, sessions_analytics_overall_report, sources_analytics_overall_report, utm_analytics_overall_report |
For all other objects, Hevo ingests only incremental data in subsequent Pipeline runs using timestamp fields such as hs_lastmodifieddate and lastmodifieddate.
Note:
-
HubSpot enforces a rate limit on the number of API calls that can be made within a specific time period. If this limit is exceeded, a rate limit exception occurs. To understand how Hevo handles such scenarios, read Handling Rate Limit Exceptions.
-
HubSpot objects support only the Merge and History load modes. The Append mode is not supported. The load mode for each object is predefined and cannot be changed.
Engagement Data
Hevo supports ingesting data for the following engagement types:
-
Publishing Tasks (marketing calendar tasks associated with HubSpot campaigns)
If HubSpot introduces a new engagement type that is not currently supported, Hevo does not ingest data for it.
Custom Objects
Hevo supports ingesting custom objects from your HubSpot account. For each custom object, a corresponding Destination object is created using the standard object naming convention.
Hevo also creates association objects to capture relationships:
-
Between different custom objects.
-
Between custom objects and standard HubSpot objects.
Associations between custom objects and the following objects are supported:
-
Company
-
Contact
-
Deal
-
Email
-
Engagement
-
Goal
-
Line Item
-
Product
-
Ticket
Note: In HubSpot, association changes for custom objects do not update the updatedAt timestamp field. Due to this limitation, some association changes may not be ingested immediately during incremental ingestion. Hevo ingests these changes when the custom object’s updatedAt value changes because of another property update.
Schema and Primary Keys
Hevo uses the following schema to upload the records in the Destination. Each schema has its own Entity-Relationship Diagram (ERD) that shows how the different HubSpot objects are structured and linked to each other in your Destination.
Note: In these ERDs, the property_ field in an object represents multiple fields that start with property_. Each of these fields stores a specific detail about the record. For example, property_createdate stores the creation time of the record, and property_content stores the content associated with the record. Instead of listing all such fields individually, these ERDs use the property_ field to represent all of them.
CRM and Sales Hub Schema
This schema contains objects related to core CRM entities, such as contacts, companies, deals, and leads, along with associated sales activities such as calls, meetings, tasks, and interactions. For a detailed view of the objects, fields, and relationships, click the ERD.
Goals Schema
This schema contains objects related to goal tracking and performance measurement across sales and service teams, along with their associations with CRM entities. For a detailed view of the objects, fields, and relationships, click the ERD.
Marketing Hub Schema
This schema contains objects related to marketing campaigns, events, and email activities, along with details of user interactions with these activities, including registrations, cancellations, and attendance records. For a detailed view of the objects, fields, and relationships, click the ERD.
Service Hub Schema
This schema contains objects related to support tickets, conversations, and customer interactions, along with details of customer issues and support requests. For a detailed view of the objects, fields, and relationships, click the ERD.
Web Analytics Reports Schema
This schema contains objects related to website visits, user sessions, and analytics reports, along with details of where users come from and their interactions with the website. For a detailed view of the objects, fields, and relationships, click the ERD.
Note:
-
For weekly and monthly analytics reports, the date field represents the starting date of the week or month. For instance, a record in the weekly analytics report with a date of 2025-04-06 represents data from the week beginning on April 6, 2025, and ending on April 12, 2025.
-
The breakdown field in analytics reports is used to categorize data based on specific attributes, such as country code or traffic source.
For example, if the breakdown field contains values such as organic, paid, and referral, each value represents a different traffic source, and the report shows separate records with their corresponding metrics such as user sessions or visits.
-
In overall analytics reports, the totals value in the breakdown field indicates that the record contains the aggregated count across all breakdown values in the report.
For example, if the breakdown field includes traffic sources such as organic, paid, and referral with user session counts of 500, 200, and 300 respectively, the totals value shows a session count of 1000, representing the sum of sessions from all these sources.
-
In the geolocation analytics reports, if the breakdown field has the value
7081c5b2-d128-4ec1-a9be-cba29cfc540a, it means HubSpot could not identify the country code for those visits.
Data Model
Hevo supports the following API versions for ingesting data from your HubSpot account:
HubSpot Legacy API (v1 and v2)
Hevo ingests the following object using the HubSpot Legacy API:
| Object | Description |
|---|---|
| Analytics Reports | Contains analytics data across the following categories: - Geolocation: Geographic breakdown of website visitors, including region and country. - Sessions: Number of times users visit and interact with the website. - Sources: Origin of website traffic from external sources, such as direct, referral, and paid. - Totals: Aggregated metrics, such as total visits and conversions. - Urchin Tracking Module (UTM): Campaign tracking data based on UTM parameters. |
HubSpot v3 API
Hevo ingests the following objects using the HubSpot v3 API:
| Object | Description |
|---|---|
| Activity Login | Contains details of user sign-in attempts to your HubSpot account, including the user ID, email address, login timestamp, IP address, location, and authentication status. |
| Activity Security | Contains details of security actions performed in your HubSpot account, including password resets, two-factor authentication changes, the associated user ID, and timestamp. |
| Audit Log | Contains a log of user and configuration activities, including CRM object changes, property updates, and security events, along with the user, action type, target object, and timestamp. |
| Companies | Contains details of organizations your business interacts with, including name, domain, industry, revenue, and contact information. This object has the following child objects: - Company Company - Company Property History |
| Company Lists | Contains details of static and dynamic lists used to segment and group company records. This object has a child object, Company List Member. |
| Contacts | Contains information about individuals your business interacts with, including name, email address, location, and the communication methods used to contact them. This object has the following child objects: - Contact Company - Contact Contact - Contact Form Submission - Contact Property History |
| Contact Lists | Contains details of static and dynamic lists used to segment and group contact records. This object has a child object, Contact List Member. |
| Conversation Channels | Contains details of communication platforms used to interact with customers. This object has a child object, Conversation Channel Account. |
| Conversation Inboxes | Contains details of customer conversations, including communication type, current status, and timestamps indicating when the inbox was created and last updated. |
| Conversation Threads | Contains details of individual conversations between customers and your team, including the assigned team member and timestamps indicating when messages were sent and received. This object has the following child objects: - Conversation Actor - Conversation Message History - Conversation Message Recipient - Conversation Message Sender |
| Custom Event Definitions | Contains details of custom events created in your HubSpot account to track specific actions or activities. This includes event name, labels, rules, creation details, and the user who created the event. This object has the following child objects: - Custom Event Definition Association - Custom Event Definition Property - Custom Event Definition Property Option |
| Custom Objects | Contains records for each custom object type defined in your HubSpot account, including the object’s properties and its relationships with other CRM objects. This object has the following child objects: - Custom Object Property History - Custom Object to Object |
| Deals | Contains details of sales transactions associated with a contact or company. This object has the following child objects: - Deal Company - Deal Contact - Deal Deal - Deal Property History - Merged Deal |
| Deal Pipeline | Represents the stages through which deals progress in your sales process, from creation to closure. This object has a child object, Deal Pipeline Stage. |
| Email Campaigns | Contains information about marketing emails sent through your HubSpot account, including campaign and application identifiers, as well as engagement metrics such as sends, opens, clicks, bounces, and unsubscribes. |
| Email Events | Contains a record of each event generated during the lifecycle of a marketing email sent through your HubSpot account. This object has the following child objects: - Email Event Bounce - Email Event Click - Email Event Deferred - Email Event Delivered - Email Event Dropped - Email Event Forward - Email Event Open - Email Event Print - Email Event Sent - Email Event Spam Report - Email Event Status Change - Email Event Suppressed |
| Email Subscriptions | Contains subscription preferences for contacts, including their current subscription status and the categories of email communications they can subscribe to or opt out of. This object has a child object, Email Subscription Change. |
| Engagements | Contains details of interactions between your team and contacts via various modes of communication, such as emails, meetings, calls, and tasks. This object has the following child objects: - Engagement Call - Engagement Communication - Engagement Company - Engagement Contact - Engagement Deal - Engagement Email - Engagement Lead - Engagement Meeting - Engagement Note - Engagement Postal Mail - Engagement Property History - Engagement Task |
| Feedback Submissions | Contains data related to the feedback received through survey responses, including the submission ID and portal ID. This object has the following child objects: - Feedback Submission Contact - Feedback Submission Property History - Feedback Submission Ticket |
| Forms | Contains details of forms used to capture user information. This includes form name, submission method, follow-up actions, notifications, and timestamps indicating when the form was created and last updated. This object has the following child objects: - Contact Form Submission - Submission Response |
| Goals | Contains performance scores defined for sales and service teams, including goal type, target values, and the Key Performance Indicators (KPIs) used to track achievement. This object has the following child objects: - Engagement Goal - Goal Company - Goal Contact - Goal Deal - Goal Property History - Goal Ticket |
| Leads | Contains information about potential customers who have shown interest in your products or services. This includes the source of the lead and engagement metrics such as calls, emails, and webpage visits. This object has the following child objects: - Lead Company - Lead Contact - Lead Property History |
| Lead Pipeline | Represents the stages through which leads progress in your customer management process. This object has a child object, Lead Pipeline Stage. |
| Line Items | Contains details of individual products or services associated with a deal or quote. This object has the following child objects: - Line Item Deal - Line Item Property History |
| Marketing Campaigns | Contains details of marketing campaigns in your HubSpot account, including campaign name, start and end dates, target audience, goals, budget, and current status. This object has the following child objects: - Marketing Campaign Asset - Marketing Campaign Budget Item - Marketing Campaign Contact - Marketing Campaign Spend Item |
| Marketing Emails | Contains information about marketing email assets created in your HubSpot account, including the email name, subject line, template path, and creation and update timestamps. This object has the following child objects: - Marketing Email Campaign - Marketing Email Contact - Marketing Email Contact List |
| Marketing Events | Contains details of marketing activities such as webinars, conferences, and online or offline events. This includes participation metrics such as registrants, attendees, and cancellations, along with status information used to track event performance. This object has the following child objects: - Marketing Event Custom Property - Marketing Event List - Marketing Event Participant |
| Owners | Contains details of individuals responsible for managing and owning objects in your HubSpot account. This object has a child object, Owner Team. |
| Products | Contains information about items that your business sells, including billing details and pricing model. This object has a child object, Product Property History. |
| Properties | Contains information about fields defined for CRM objects in your HubSpot account, including the field name, label, data type, field type, group name, and whether the field is a default or custom field. This object has a child object, Property Option. |
| Quotes | Contains details of sales quotes shared with potential buyers, including pricing, product and service descriptions, and associated deal information. This object has the following child objects: - Quote Company - Quote Contact - Quote Deal - Quote Line Item - Quote Property History |
| Roles | Contains the user roles defined in your HubSpot account, including role name and billing permissions. |
| Service | Contains details of customer service records, including the service name, associated pipeline, and current status. This object has the following child objects: - Service Company - Service Contact - Service Deal - Service Engagement - Service Property History - Service Ticket |
| Service Pipeline | Represents the stages through which services progress in your service management process. This object has a child object, Service Pipeline Stage. |
| Teams | Contains information about teams in your HubSpot account, such as team name and ID. This object has a child object, Team User. |
| Tickets | Contains details of customer support requests, including issue content, current status, assignment information, and timestamps such as creation and closure dates. This object has the following child objects: - Ticket Company - Ticket Contact - Ticket Deal - Ticket Engagement - Ticket Property History - Ticket Ticket |
| Ticket Pipeline | Represents the stages through which support tickets progress in your service process, from creation to resolution. This object has a child object, Ticket Pipeline Stage. |
| Users | Contains information about individuals with access to your HubSpot account, including name, email address, assigned role, and associated team. |
HubSpot v4 API
Hevo uses the HubSpot v4 API to ingest data from association objects that define relationships between different CRM objects in your account. These objects capture how entities such as contacts, companies, deals, line items, and engagements are linked to one another. This helps you understand how records are connected and analyze relationships across your HubSpot data.
Association object names follow the format <primary_object>_<related_object>, where the first part is the object from which the relationship is defined and the second part is the object linked to it. For example, company_contact represents the contacts associated with a company.
Note: When you resync an object, Hevo also re-ingests data from its associated objects. This may lead to higher Events quota consumption.
Additional Information
Read the detailed Hevo documentation for the following related topics:
Handling of Deletes
Hevo uses the following methods to capture deleted records for your Source objects:
| Method | How it works | Applies to |
|---|---|---|
| Using the archived field | For most standard objects, HubSpot marks deleted records by setting the archived field to true. Hevo ingests these records and marks them as deleted in the Destination by updating the value of the metadata column __hevo__marked_deleted to True. | - feedback_submission - goal - lead - line_item - product - quote - ticket Note: Hevo captures deleted records for these objects once every 24 hours through API calls. |
| Comparing Source and Destination data | For objects where the complete data is ingested during each Pipeline run, Hevo identifies deleted records by comparing the latest data fetched from the Source with the data present in the Destination. If a record exists in the Destination but is no longer returned by the Source, Hevo marks the record as deleted in the Destination. Note: For the contact_list_member and company_list_member objects, Hevo performs this comparison once every week to identify deleted records. |
- association_type - company_list - company_list_member - contact_list - contact_list_member - conversation_channel - conversation_channel_account - conversation_inbox - custom_event_definition - custom_event_definition_association - custom_event_definition_property - custom_event_definition_property_option - deal_pipeline - deal_pipeline_stage - email_subscription - form - lead_pipeline - lead_pipeline_stage - marketing_campaign - marketing_campaign_asset - marketing_campaign_budget_item - marketing_campaign_contact - marketing_campaign_spend_item - marketing_event - marketing_event_custom_property - marketing_event_list - marketing_event_participant - owner - owner_team - property - property_option - role - submission_response - team - team_user - ticket_pipeline - ticket_pipeline_stage - users |
| Capturing delete events through webhooks | HubSpot sends delete event notifications to Hevo for subscribed objects through webhooks. These events are then processed in the next Pipeline run to mark the corresponding records as deleted in the Destination. | - company - contact - deal |
Note: If deleted records are restored in the Source, Hevo ingests only the changes made to those records from the time they are restored. Changes made before deletion are not captured.