HubSpot Integration

Connect Top Provider with HubSpot to automatically create/augment Contact and post timeline events

What This Integration Does

Top Provider's HubSpot integration performs two actions — and only these two:

  • Create or augment a Contact in HubSpot using your field mappings.
  • Post a Timeline Event on that contact's activity feed for traceability.

Prerequisites

  • A HubSpot account with permission to install apps.
  • Access to the Top Provider Seller Portal to manage integrations.

Quick Setup Guide

Connect your HubSpot account in minutes:

Open Delivery Settings

Sign in to the Seller Portal and go to Delivery Settings (left sidebar) or navigate to /delivery.

Navigation to Delivery Settings

Connect with HubSpot

Click "+ Connect with HubSpot" to start the HubSpot OAuth flow in a new tab.

Connect with HubSpot button in the Top Provider interface

Grant Permissions (Scopes)

When prompted, grant only the scopes our integration needs:

  • crm.objects.contacts.write — create/update contacts
  • timeline — create timeline events

Verify Connection

After authorization you'll return to the Seller Portal. In HubSpot Connections you'll see:

  • HubSpot portal (domain)
  • Connected user email
  • Granted scopes
  • Connection date

Complete Setup

Your integration is ready to create contacts and post timeline events.

Configuring Your Integration

Customize behavior to match your workflow:

Access Integration Details

In HubSpot Connections, locate your connection and click "Details."

Configure Settings

On the integration page, click "Settings."

Adjust Constants (Optional)

Add key–value pairs that will be sent with every contact we create. Common examples for HubSpot Contacts:

  • lifecyclestage (e.g., lead, marketingqualifiedlead)
  • hs_lead_status (e.g., NEW, OPEN, IN_PROGRESS — values depend on your portal)
  • Any custom contact property you maintain (e.g., source_system: top_provider)

Configure Lead Order Assignment (Optional)

Click "Attached Lead Orders" to choose which Top Provider lead orders feed this connection. By default, all lead orders will send to HubSpot.

Save

Click "Save" to apply your configuration.

Field Mappings

Control which Top Provider fields map to contact properties in HubSpot.

Open Field Mappings

In Settings, click "Adjust Field Mappings."

Map Standard Fields

For each field, enter the exact internal property name from HubSpot (e.g., email, firstname, lastname, lifecyclestage, hs_lead_status).

Add More Mappings

Under Available Fields, add any additional Top Provider fields and map them to HubSpot contact properties — including your custom contact properties.

Save

Click "Save" to confirm.

Timeline Events

Each delivery generates a clear Timeline Event on the contact's activity feed. You can filter for these in HubSpot's activity panel (look under Integrations or by event type) to audit deliveries and build workflows.

Testing Your Configuration

Send a Test

On the integration details page, click "Test Endpoint." We'll send a sample contact payload and a sample timeline event.

Review Notifications

Open Notification History to see delivery attempts, timestamps, status, and any error messages returned by HubSpot.

Check in HubSpot

In HubSpot, open Contacts and find the test contact. Confirm properties populated as expected. In the contact's Activity feed, verify your Top Provider timeline event appears.

Behavior with Existing Contacts

If the contact already exists in HubSpot, our integration does not create a duplicate. We post a Timeline Event to the existing contact for traceability. (Your mapped properties are only updated if you've enabled that behavior in your field mappings.)

Common Issues & Fixes

SymptomCauseFix
PROPERTY_DOESNT_EXIST for hs_pipeline_stage, hs_pipeline, or dealstageThese are not contact properties (they belong to Tickets/Deals).Remove pipeline-related fields from constants and mappings. Use contact properties only (e.g., lifecyclestage, hs_lead_status).
Contact not createdMissing required fields like emailEnsure email is mapped and present in the payload.
Timeline event missingApp lacks timeline scope or event type not installedReconnect and grant timeline scope; confirm the app's event template is active.
"Invalid property value"Using display labels instead of internal valuesUse internal names/values (see tip above or use HubSpot's Properties API).

FAQ