HubSpot Integration Guide

Connect your HubSpot CRM to Bearconnect to automatically sync leads, log LinkedIn activities, and keep your sales pipeline up to date. This guide walks you through every step - from connecting your HubSpot account to exporting leads and configuring sync settings.


Table of Contents

  1. What You Need
  2. Connecting HubSpot
  3. After Connecting
  4. Connecting HubSpot to a Campaign
  5. Exporting Leads to HubSpot
  6. HubSpot Settings
  7. Token Management
  8. Testing Your Connection
  9. Disconnecting HubSpot
  10. Troubleshooting

Quick Start

Already have a HubSpot Legacy App Token? Here is the fastest path:

  1. In Bearconnect: Go to Integrations > HubSpot > Connect.
  2. Enter a name and paste your Legacy App Token (starts with pat-).
  3. Click Test Token to verify, then click Connect.
  4. Open a campaign > Integrations tab > Connect Integration > select HubSpot and enable events.

If you do not have a Legacy App Token yet, follow the full setup below.


What You Need

Before you start, make sure you have:

  • A Bearconnect account with an active subscription.
  • A HubSpot account (Free, Starter, Professional, or Enterprise).
  • Admin or Super Admin permissions in your HubSpot account (required for creating legacy apps).

Connecting HubSpot

Go to Integrations in the left sidebar of your Bearconnect dashboard. Find HubSpot in the Available Integrations section and click Connect.

You will need a Legacy App Token from HubSpot. If you do not have one yet, follow the steps below to create it.

Step 1: Create a Legacy App in HubSpot

  1. Log in to your HubSpot account.
  2. Go to Development in the top navigation.
  3. Click Legacy apps in the left sidebar.
  4. Click Create legacy app and select Private.

Step 2: Configure Scopes

Under the Scopes tab of your new app, you need to grant the following permissions. You can copy the complete list from the Bearconnect connection form (there is a "Copy All" button).

Required Scopes:

crm.objects.contacts.read
crm.objects.contacts.write
crm.objects.companies.read
crm.objects.companies.write
crm.objects.deals.read
crm.objects.deals.write
crm.schemas.contacts.read
crm.schemas.contacts.write
crm.schemas.companies.read
crm.schemas.companies.write
crm.schemas.deals.read
crm.schemas.deals.write
crm.lists.read
crm.lists.write
timeline

Search for each scope in HubSpot's scope selector and enable it. The "Copy All" button in Bearconnect copies all scope names as a comma-separated list that you can use to search one by one.

Optional Scopes (Enterprise only):

If you are on a HubSpot Enterprise plan and need access to sensitive or highly sensitive data fields, check the "Include sensitive & highly sensitive data scopes" checkbox in the Bearconnect connection form to see the additional scopes:

crm.objects.contacts.sensitive.read
crm.objects.companies.sensitive.read
crm.objects.deals.sensitive.read
crm.objects.contacts.highly_sensitive.read
crm.objects.companies.highly_sensitive.read
crm.objects.deals.highly_sensitive.read

These are read-only scopes. Most users do not need them.

Step 3: Create the App and Copy the Token

  1. Click Create app in HubSpot.
  2. Go to the Auth tab.
  3. Copy the Access Token (it starts with pat-).

Step 4: Connect in Bearconnect

  1. Back in Bearconnect, enter a Name for this integration (e.g., "My HubSpot").
  2. Paste the token into the Legacy App Access Token field.
  3. (Optional) Click Test Token to verify the connection before saving.
  4. Click Connect.

Note: The token format is pat-xx-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. The form validates this format and will show an error if the token is malformed.


After Connecting

Once connected, your HubSpot integration appears in the Connected Integrations section. Clicking on it opens a detail panel showing:

  • Connection Status - Active, Error, or Disconnected.
  • Connection Type - Legacy App (shown as a badge).
  • Sync Statistics - Number of contacts synced, sync errors, and last sync time.
  • Sync Settings - Current sync mode, direction, and auto-sync status (read-only in the detail panel; editable in HubSpot Settings).
  • Features - Contact Sync, Activity Logging, Deal Creation, Two-way Sync.
  • Connection Details - When it was connected, provider type, integration ID, and last update time.

What Happens Automatically

When you connect HubSpot, Bearconnect:

  • Creates custom properties in your HubSpot account for tracking LinkedIn activity.
  • Configures the integration with all currently available events pre-selected as allowed events.

Connecting HubSpot to a Campaign

To start receiving events from a campaign, you need to map HubSpot to that campaign.

  1. Open the campaign from your dashboard.
  2. Go to the Integrations tab.
  3. Click Connect Integration.
  4. Select your HubSpot integration from the dropdown.
  5. Choose which events to enable:
    • Connection Request Sent - When a connection request is sent to a lead.
    • Connection Accepted - When a lead accepts your connection request.
    • Message Sent - When a message is sent to a lead.
    • Message Replied - When a lead replies to your message.
  6. Click Connect.

You can select individual events or use the category checkboxes to select/deselect all events in a category at once.

Managing the Mapping

After connecting, the mapping card shows on the campaign's Integrations tab:

  • Toggle switch - Turn event forwarding on or off without deleting the mapping.
  • Settings icon - Edit which events are enabled.
  • Trash icon - Disconnect the integration from this campaign.

Exporting Leads to HubSpot

You can manually export individual leads as contacts to HubSpot.

Step 1: Start the Export

  1. Go to the Leads page.
  2. Find the lead you want to export and click the three-dot action menu (⋮) on that row.
  3. Click Export.
  4. Select your HubSpot integration from the dropdown.
  5. Click Export.

Step 2: Configure Field Mappings

Since you selected HubSpot, a second step appears asking you to configure field mappings:

  • Lifecycle Stage - Choose the HubSpot lifecycle stage for the exported contact (e.g., Subscriber, Lead, Marketing Qualified Lead, Sales Qualified Lead, Opportunity, Customer, Evangelist).
  • Lead Status - Choose the lead status (e.g., New, Open, In Progress, Open Deal, Unqualified, Attempted to Contact, Connected, Bad Timing).

You have three options:

  • Export - Save your selections and export the lead.
  • Skip & Use Defaults - Export using default values (first option in each dropdown).
  • Back - Return to the integration selection step.

Tip: Your field mapping preferences are saved per integration. The next time you export to the same HubSpot integration, your previous selections are pre-filled.

What Gets Sent to HubSpot

The following lead data is synced to HubSpot as a contact:

Bearconnect FieldHubSpot FieldNotes
First Namefirstname
Last Namelastname
EmailemailPrimary deduplication key
Phonephone
Company Namecompany
Position / Job Titlejobtitle
LinkedIn Profile URLhs_linkedin_urlHubSpot built-in LinkedIn URL field
WebsitewebsiteLead's personal or company website
LocationcityMapped to the City field
Profile Headlinebc_profile_headlineLinkedIn headline (Bearconnect custom property)
LinkedIn Handlebc_linkedin_handleLinkedIn public identifier (Bearconnect custom)
Lead Stagebc_lead_stageBearconnect pipeline stage (Bearconnect custom)
Lifecycle StagelifecyclestageConfigured in the export dialog
Lead Statushs_lead_statusConfigured in the export dialog

If the contact already exists in HubSpot (matched by email or LinkedIn URL), it is updated rather than duplicated.

Custom BearConnect Properties

In addition to the standard fields above, Bearconnect automatically creates and populates the following custom properties on every synced HubSpot contact:

Custom PropertyValueDescription
bc_lead_idBearconnect lead IDLinks the HubSpot contact back to the lead in Bearconnect.
bc_lead_urlDirect link to the lead in BearconnectClick this URL to jump directly to the lead's profile in your Bearconnect dashboard.
bc_campaign_nameCampaign nameThe name of the campaign the lead was synced from.
bc_synced_atISO timestampWhen the contact was last synced from Bearconnect.
bc_profile_headlineLinkedIn headlineThe lead's LinkedIn profile headline.
bc_linkedin_handleLinkedIn handleLinkedIn public identifier (vanity URL slug).
bc_lead_stageLead stageCurrent stage of the lead in the Bearconnect pipeline.

These properties are created automatically during the first sync (or when you click Test Connection). If they are manually deleted from HubSpot, Bearconnect will recreate them on the next sync.


HubSpot Settings

To access HubSpot-specific settings:

  1. Go to Integrations in the left sidebar.
  2. Click on your connected HubSpot integration.
  3. In the detail panel, click Settings (or navigate directly to Integrations > HubSpot > Settings).

Available Settings

SettingOptionsDescription
Automatic SyncOn / OffWhen enabled, events are automatically forwarded to HubSpot as they occur.
Sync ModeReal-time, Batch (15 min), Manual OnlyControls how often events are sent. Real-time sends immediately; Batch groups events into 15-minute intervals; Manual means you must trigger syncs yourself.
Sync DirectionOutbound Only, Inbound Only, BidirectionalControls the direction of data flow. Outbound sends data from Bearconnect to HubSpot. Inbound pulls data from HubSpot. Bidirectional does both.

Connection Status Panel

The settings page also shows:

  • Contacts Synced - Total number of contacts successfully synced.
  • Sync Errors - Number of errors encountered.
  • Last Sync - When the last successful sync occurred.
  • Test Connection button - Verifies that the connection to HubSpot is still working.

Token Management

Token Rotation Warning

Bearconnect tracks how old your token is. HubSpot recommends rotating tokens every 180 days (6 months) for security.

When your token is older than 180 days, you will see a warning banner:

  • Shows how many days since the token was created.
  • Shows how many days past the recommended rotation period.
  • Provides a link to HubSpot's token rotation documentation.
  • Can be dismissed (the warning will not reappear until the next check).

How to Rotate Your Token

  1. Go to your HubSpot account > Development > Legacy apps.
  2. Open your private app.
  3. Go to the Auth tab.
  4. Click Rotate token to generate a new token.
  5. Copy the new token.
  6. In Bearconnect, reconnect using the new token.

Important: After rotating, the old token stops working. Make sure to update the token in Bearconnect promptly.


Testing Your Connection

You can verify that your HubSpot connection is working at any time:

  1. Go to Integrations in the left sidebar.
  2. Click on your HubSpot integration to open the detail panel.
  3. Click Test Connection.
  4. If successful, you will see a "Connection test successful" message.
  5. If it fails, check the error message for details (common issues: expired token, revoked access, network problems).

Disconnecting HubSpot

To disconnect your HubSpot integration:

  1. Go to Integrations in the left sidebar.
  2. Click on your connected HubSpot integration.
  3. Click Delete or Disconnect.
  4. Confirm the action.

What Happens When You Disconnect

  • All campaign mappings using this integration are removed.
  • Event forwarding stops immediately.
  • Previously synced contacts in HubSpot are not deleted or modified.
  • Custom properties created by Bearconnect remain in your HubSpot account.
  • You can reconnect at any time by going through the setup process again.

Troubleshooting

"Connection test failed"

Your token may have expired or been rotated. Go to HubSpot > Development > Legacy apps, open your app, and check the Auth tab. If the token has been rotated, copy the new token and reconnect in Bearconnect.

"Invalid token format"

The Legacy App Token must start with pat- and follow the format pat-xx-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Make sure you copied the full token from HubSpot without any extra spaces.

Events are not appearing in HubSpot

  1. Check that the integration is in Active status (Integrations > click on HubSpot).
  2. Verify the campaign mapping is active (Campaign > Integrations tab > toggle should be on).
  3. Check that the relevant event types are enabled in the campaign mapping.
  4. Verify that Automatic Sync is turned on in HubSpot Settings.
  5. If using Batch sync mode, events may take up to 15 minutes to appear.

"Sync error" showing on the integration

Click on the integration to see the error details. Common causes:

  • HubSpot API rate limits - Usually resolves automatically. Wait a few minutes and try again.
  • Missing required properties - Bearconnect creates custom properties automatically, but if they were manually deleted in HubSpot, you may need to reconnect.
  • Insufficient permissions - Ensure all required scopes are granted on your HubSpot app.

Lead export shows "skipped"

This means the lead already exists in HubSpot and no new data was needed. This is not an error - it means HubSpot already has this contact with the same or newer data.