Skip to main content

HubSpot ( Real-Time )

This connector captures data from HubSpot into Flow collections.

Supported HubSpot Resources

The connector automatically discovers bindings for the following HubSpot resources:

Updates for Email Events and Custom Objects may be delayed by up to 5 minutes due to eventual consistency of the HubSpot API.

Prerequisites

There are two ways to authenticate with HubSpot when capturing data: using OAuth2, or with a private app access token. Their prerequisites differ.

OAuth is recommended for simplicity in the Flow web app.

Using OAuth2 to authenticate with HubSpot in the Flow web app

  • A HubSpot account

Configuring the connector specification manually

  • A HubSpot account

  • The access token for an appropriately configured private app on the Hubspot account.

Setup

To create a private app in HubSpot and generate its access token, do the following.

  1. Ensure that your HubSpot user account has super admin privileges.

  2. In HubSpot, create a new private app.

    1. Name the app "Estuary Flow," or choose another name that is memorable to you.

    2. Grant the new app Read access for all available scopes.

    3. Copy the access token for use in the connector configuration.

Configuration

You configure connectors either in the Flow web app, or by directly editing the catalog specification file. See connectors to learn more about using connectors. The values and specification sample below provide configuration details specific to the HubSpot Real-Time connector.

Endpoint

The following properties reflect the access token authentication method.

PropertyTitleDescriptionTypeRequired/Default
/credentialsPrivate ApplicationAuthenticate with a private app access tokenobjectRequired
/credentials/access_tokenAccess TokenHubSpot Access token.stringRequired
/credentials/credentials_titleCredentialsName of the credentials setstringRequired, "Private App Credentials"

Bindings

PropertyTitleDescriptionTypeRequired/Default
/nameData resourceName of the data resource.stringRequired
/intervalIntervalInterval between data syncsstring

Sample

captures:
${PREFIX}/${CAPTURE_NAME}:
endpoint:
connector:
image: ghcr.io/estuary/source-hubspot-native:dev
config:
credentials_title: Private App Credentials
access_token: <secret>
bindings:
- resource:
name: companies
target: ${PREFIX}/${COLLECTION_NAME}