Hubspot
H
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:

  1. In your HubSpot account, go to Settings → Integrations → Private Apps
  2. Create a new private app and grant the scopes required for the streams you want to sync (see Required Scopes below)
  3. Copy the generated access token

Setup

In Meltano:

  1. Enter your HubSpot access token
  2. Set a start date for the initial extraction
  3. Optionally configure custom_object_types if 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.

Meltano Community Connector

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.

Why Meltano?
Access to Meltano Slack communityJoin 5,500+ data engineers and analytics practitioners. The community is active, helpful, and always on. Good for quick questions, sharing patterns, and learning what others are building.