Connecting HubSpot to Golden Suite

Set up the HubSpot OAuth connector for Contacts, Companies, and Deals.

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