HubSpot Connector
Ingest HubSpot CRM objects and engagements into CortexDB.
Tails HubSpot CRM objects (contacts, companies, deals) and engagements (notes, emails, calls) and writes them to CortexDB as experiences.
Two ways to run this connector
Self-hosted — pip install 'cortexdb-connectors[hubspot]' then cortexdb-sync sync hubspot.
Managed — CortexDB runs the connector as a worker. See the Connectors overview.
1. Prepare credentials
Create a private app in HubSpot (Settings → Integrations → Private Apps) with CRM read scopes, and copy its access token.
What gets written
Each object and engagement becomes a POST /v1/experience on the resolved scope (default
org:<org>/source:hubspot), with an entity reference to the record and metadata (object type, id, a
source_url).
Idempotency key
The idempotency_key uses the hs: prefix (hs:{object}:{id}). This connector does not use
context.preceded_by.
The key on the wire is derived
The key format above is this connector's internal record identity: it decides which source record an
event belongs to. The idempotency_key actually sent to CortexDB is a derived cxsrc:<56 hex> value
that also hashes the content, labels, observed time and actor, so an unchanged redelivery converges on
the same event while any edit lands as a new one, even where the key format itself is not
content-versioned. Every event also carries a source descriptor with the record's fingerprint. See
Source identity and keys.
Run it yourself
pip install 'cortexdb-connectors[hubspot]'
pip install cortexdb-cli && cortexdb init
export HUBSPOT_TOKEN=pat-... # required (private-app access token)
cortexdb-sync --api-url http://localhost:3141 sync hubspot
cortexdb-sync --api-url http://localhost:3141 watch hubspot --interval 300Optional settings
Set these as environment variables (or the matching keys in the cortexdb-sync YAML config). Lists are comma-separated. For on/off settings, 1, true, yes or on turns the setting on and any other value turns it off.
| Setting | What it does | Default |
|---|---|---|
HUBSPOT_OBJECTS | Object types to sync | contacts, companies, deals, tickets, notes, emails, calls, tasks |