Connecting HubSpot to Golden Suite

Set up the HubSpot OAuth connector. Contacts, Companies, and Deals ingested with cursor-based incremental syncs. Works on any HubSpot tier, including free.

The HubSpot connector ingests Contacts, Companies, and Deals via OAuth. Same auth flow you've seen on every HubSpot integration.

Prereqs

  • A HubSpot account on any tier
  • Marketing/Sales/Service Hub or just the free CRM — all work
  • Admin permissions on the HubSpot account (you'll authorize the OAuth grant once)

Setup

  1. /golden/sources → Add source → HubSpot
  2. OAuth flow — Golden Suite redirects to HubSpot's login
  3. Authorize scopes: crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read (per the object you're ingesting)
  4. Pick the object: Contact, Company, or Deal
  5. First ingest pulls all records; subsequent ingests use hs_lastmodifieddate as a cursor

Field mapping

InferMap auto-proposes the mapping. Typical results for Contacts:

HubSpotGolden SuiteConfidence
emailemail1.0
phonephone1.0
firstnamefirst_name0.95
lastnamelast_name0.95
companycompany1.0
lifecyclestagelifecycle_stage0.95
jobtitletitle1.0
hs_lead_statuslead_status0.85

Custom properties are pulled too but won't auto-map — review the mapping in the autoconfig wizard.

Common gotchas

  • API rate limits. HubSpot's free + Starter tiers cap at 100 calls per 10 seconds per private app; Professional and Enterprise have 200/10s. The connector respects rate limits with exponential backoff but very large ingests may take longer than expected.
  • Free contacts vs marketing contacts. HubSpot Marketing Hub bills per marketing contact. The connector pulls all contacts (marketing + non-marketing); make sure you understand the distinction in your downstream processing.
  • Owner / pipeline IDs. HubSpot returns owner IDs and pipeline stage IDs as opaque GUIDs. You typically don't dedupe on these but pass them through to downstream systems.
  • List membership. Static and active list membership is not pulled by default. If you need it, add a custom source per list (each list ID is one source).
  • OAuth scope expansion. To add Companies after starting with Contacts, you re-auth via the OAuth flow (HubSpot doesn't support adding scopes incrementally).
  • Webhooks for real-time sync — not currently supported. The connector is batch (incremental every N minutes). Real-time webhook ingestion is on the roadmap.

Next steps

Related integrations

Warehouses

SaaS

File storage

Full list of 22 source types: source connectors guide

Was this page helpful?
Edit this page on GitHub