Skip to main content

HubSpot Destination

This page guides you through the process of setting up the HubSpot destination connector. This connector supports data activation for operational workflows.

Prerequisites

  • A HubSpot account
  • Airbyte version 1.8 or later, or Airbyte Cloud

S3 prerequisites for rejected records

If you're using an S3 bucket to store rejected records, you also need the following.

  1. Allow connections from Airbyte to your AWS S3/Minio S3 cluster (if they exist in separate VPCs).

  2. Enforce encryption of data in transit.

  3. An S3 bucket with credentials, a Role ARN, or an instance profile with read/write permissions configured for the host (EC2, EKS).

    • These fields are always required:

      • S3 Bucket Name
      • S3 Bucket Region
      • Prefix Path in the Bucket
    • If you are using STS Assume Role, you must provide:

      • Role ARN
    • If you are using AWS credentials, you must provide:

      • Access Key ID
      • Secret Access Key
    • If you are using an Instance Profile, you may omit the Access Key ID, Secret Access Key, and Role ARN.

Setup guide

Set up the HubSpot connector in Airbyte

  1. Log into your Airbyte account.

  2. Click Destination and then click + New destination.

  3. On the Set up the destination page, select HubSpot from the Destination tiles.

  4. Enter a name for the HubSpot connector.

  5. From the Authentication dropdown, OAuth authentication is available so click Authenticate your HubSpot account to sign in with HubSpot and authorize your account.

    HubSpot Authentication issues

    You may encounter an error during the authentication process in the popup window with the message An invalid scope name was provided. To resolve this, close the window and retry authentication.

  6. Click Set up destination and wait for the tests to complete.

Supported Objects

The HubSpot destination connector supports the following streams:

Limitations & Troubleshooting

Rate Limiting

The connector automatically respects HubSpot's standard API rate limits. If you encounter rate limiting issues, the connector will retry requests with exponential backoff.

Destination Object Not Showing Up

Except for the CONTACT object (which uses email as the matching key), the upsert method for this connector requires a unique value field to be present on the destination object.

Matching Key Requirements:

  • CONTACT: Uses email field automatically
  • All other objects: Require a property with unique values enabled

To create a unique value property in HubSpot:

  • In the CRM menu in the left-hand side, select the object you want to sync
  • Under Actions, select Edit Properties
  • Click on Create property
  • When entering the rules, check Require unique values for this property

App Verification

In order to verify our HubSpot application, HubSpot expects some usage i.e. more than 60 installations. Hence, when installing the app, you might see the message "You're connecting to an unverified app". This is expected for our first users. Once we have enough traffic on the application, we will be able to verify the app which will remove this warning.

Scopes for Unsupported Streams

During app the app installation, you might see scopes related to objects we don't support. This is expected as changing scopes might require the users to re-authenticate which is quite disruptive. In order to prevent that, we added scopes on objects we intend to support given user demands.

403 Forbidden Error

Hubspot has scopes for each API call. Each stream is tied to a scope and will need access to that scope to sync data. Review the Hubspot OAuth scope documentation here.

Reference

Config fields reference

Field
Type
Property name
object
credentials
object
object_storage_config

Changelog

Expand to review
VersionDatePull RequestSubject
0.0.72025-09-2466684Pin to CDK artifact
0.0.62025-09-0965986Adding product object
0.0.52025-09-0865157Update following breaking changes on spec
0.0.42025-08-0164144OSS release
0.0.32025-07-18205Forcing new release
0.0.22025-07-18204Fixing auth
0.0.12025-07-18201First iteration internally