
Hubspot
tap-hubspot (meltanolabs variant)
HubSpot is a CRM platform that provides tools for marketing, sales, and customer service.
Prerequisites
To connect to HubSpot, you will need a Private App access token:
- In your HubSpot account, go to Settings → Integrations → Private Apps
- Create a new private app and grant the scopes required for the streams you want to sync (see Required Scopes below)
- Copy the generated access token
Setup
In Meltano:
- Enter your HubSpot access token
- Set a start date for the initial extraction
- Optionally configure
custom_object_typesif you want to sync HubSpot custom CRM objects (Enterprise plan required)
Available Streams
| Stream | Replication | Description |
|--------|-------------|-------------|
| contacts | Incremental | People in your HubSpot CRM |
| companies | Incremental | Company records in your CRM |
| deals | Incremental | Sales opportunities and pipeline deals |
| leads | Incremental | Individual sales leads (objectTypeId: 0-136) |
| line_items | Incremental | Products attached to deals |
| goal_targets | Incremental | Sales and activity goal records |
| calls | Incremental | Call engagement records |
| communications | Incremental | Communication engagement records |
| emails | Incremental | Email engagement records |
| meetings | Incremental | Meeting engagement records |
| notes | Incremental | Note engagement records |
| postal_mail | Incremental | Postal mail engagement records |
| tasks | Incremental | Task engagement records |
| owners | Full Table | HubSpot users who own CRM records |
| users | Full Table | Users in your HubSpot account |
| teams | Full Table | HubSpot Teams and their member user IDs |
| products | Full Table | Product library items |
| tickets | Full Table | Customer support tickets |
| quotes | Full Table | Sales quotes |
| feedback_submissions | Full Table | Customer feedback survey responses |
| ticket_pipelines | Full Table | Ticket pipeline and stage definitions |
| deal_pipelines | Full Table | Deal pipeline and stage definitions |
| email_subscriptions | Full Table | Email subscription type definitions |
| properties | Full Table | Property definitions for all CRM object types |
Custom CRM object streams are created dynamically based on the custom_object_types setting.
Each configured object type becomes its own stream named after the object's fullyQualifiedName
(e.g. p12345_patches). Schemas are discovered automatically at sync time. Incremental replication
uses hs_lastmodifieddate; falls back to full-table refresh if the property is absent.
Stream Fields
teams
| Field | Description |
|-------|-------------|
| id | Unique HubSpot ID for the team |
| name | Display name of the team |
| userIds | Array of HubSpot user IDs who are primary members of the team |
| secondaryUserIds | Array of HubSpot user IDs who are secondary members of the team |
Required Scopes
| Stream | Required Scope |
|--------|----------------|
| contacts | crm.objects.contacts.read |
| companies | crm.objects.companies.read |
| deals | crm.objects.deals.read |
| leads | crm.objects.leads.read |
| owners | crm.objects.owners.read |
| users | settings.users.read |
| teams | settings.users.teams.read |
| feedback_submissions | crm.objects.feedback_submissions.read |
| calls | crm.objects.calls.read |
| communications | crm.objects.communications.read |
| emails | sales-email-read |
| meetings | crm.objects.meetings.read |
| notes | crm.objects.notes.read |
| postal_mail | crm.objects.postal_mail.read |
| tasks | crm.objects.tasks.read |
| line_items | e-commerce |
| products | e-commerce |
| tickets | tickets |
| ticket_pipelines | tickets |
| deal_pipelines | crm.objects.deals.read |
| quotes | crm.objects.quotes.read |
| goal_targets | crm.objects.goals.read |
| email_subscriptions | content |
| properties | same scopes as the corresponding object type |
| custom objects | crm.objects.custom.read and crm.schemas.custom.read (Enterprise only) |
Settings
Access Token
HubSpot Private App access token
Start Date
Earliest record date to sync
End Date
Latest record date to sync
Custom Object Types
List of HubSpot custom CRM object type names to sync (e.g. ['p12345_patches']). Use the fullyQualifiedName from HubSpot Settings → Objects → Custom objects. Requires a HubSpot Enterprise plan and the crm.objects.custom.read and crm.schemas.custom.read scopes.
Flattening Enabled
A boolean value indicating whether or not to flatten the response data.
Flattening Max Depth
An integer value indicating the maximum depth to flatten the response data.
Hubspot connector is available on Meltano Community. It is built by our growing community of over 5000+ developers. Refer to the Install section below to verify the readiness of this connector.