Skip to main content

HubSpot Data Source Setup (Beta)

The HubSpot integration syncs Contacts and Companies into Candu so you can personalize in-app experiences using your CRM data.

Jonathan Anderson avatar
Written by Jonathan Anderson
Updated this week

What this enables:

  • Personalize content using Contact properties (job title, lifecycle stage, lead status, etc.)

  • Target experiences using Company data (industry, revenue, size, etc.)

  • Keep CRM data automatically synced to CanduQuick Setup Steps


Step 1: Create a HubSpot Private App

In HubSpot:

Settings → Integrations → Private Apps → Create a private app

Required scopes

Enable:

  • crm.objects.contacts.read

  • crm.objects.companies.read

  • crm.schemas.contacts.read

  • crm.schemas.companies.read

Save the app.

Then go to the Auth tab and copy the access token.

You’ll use this in Candu.

Copy Your Access Token

After creating the app:

  1. Open the Auth tab

  2. Click Copy access token

It will look like:

pat-na1-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Keep this secure. You’ll use it in Candu.


Step 2: Connect HubSpot in Candu

In Candu:

Settings → Integrations → HubSpot → Config

Access this page to enter your Base URL and Private App Token:
https://app.candu.ai/workspaces/<your-workspace>/settings/integrations/hubspot/config

Replace <your-workspace> with your Candu workspace slug (the same value you see in your Candu URL).
For example, if your workspace is prod, your link would be:
https://app.candu.ai/workspaces/prod/settings/integrations/hubspot/config

Enter:

  • Base URL: https://api.hubapi.com/crm/v3

  • Access Token: Paste your private app token

Click Test Connection to confirm the integration is working.


Step 3: Configure Sync

Choose Objects

  • Contacts → synced as Candu Users

  • Companies → synced as Candu Groups

Choose User Identification Field

Select the HubSpot Contact field that uniquely identifies users in Candu.

Most common: email

This field must contain unique, non-empty values.


Map Fields

Map HubSpot properties to Candu user traits and group properties.

Examples:

Contacts:

  • firstname → first_name

  • lastname → last_name

  • jobtitle → job_title

  • hs_lead_status → lead_status

Companies:

  • name → company_name

  • industry → industry

  • annualrevenue → annual_revenue

  • numberofemployees → company_size

Available properties
Candu can pull your HubSpot Contact and Company properties for field mapping. If you add new properties in HubSpot after initial setup, add the new mappings in Candu, then contact Candu Support to trigger a full resync so the new fields are populated for existing records.

Adding new fields after setup

If you add new HubSpot properties after your integration is already running:

  • Add the new field mappings in Candu

  • Then contact Candu Support to trigger a full pull (full resync)

Without a full pull, new fields may only populate for records that change going forward.


Step 4: Enable Sync

Turn on Enable Sync.

After enabling:

  • Companies sync as Groups

  • Contacts sync as Users

  • Contact–Company relationships are preserved

  • Only updated records are synced after the initial import


Verify Setup

After enabling sync:

  • Confirm Contacts appear as Users in Candu

  • Confirm Companies appear as Groups

  • Check that traits are mapped correctly

Monitoring Sync

You can monitor sync activity in:

Integrations → HubSpot → Integration Logs

The logs show:

  • Sync job ID

  • When the job was scheduled and started

  • Number of records updated

If records are not appearing as expected, review the latest job for errors.


Common Issues

Authentication errors

  • Access token copied incorrectly

  • Required scopes missing

  • Private app disabled in HubSpot

Data not appearing

  • Identification field not unique

  • Required HubSpot fields are empty

  • Field mappings misconfigured

  • You recently added new field mappings, request a full pull to backfill existing records

Did this answer your question?