Back to DocsIntegrations

Connecting HubSpot

Sync leads bi-directionally between DealOracle and HubSpot CRM.

Table of contents

Overview

The HubSpot integration connects DealOracle to your HubSpot CRM for bi-directional lead syncing. This means leads flow seamlessly between both platforms, keeping your sales and marketing teams aligned with up-to-date data.

What This Integration Does

  • DealOracle → HubSpot — New leads captured in DealOracle are automatically created as contacts in HubSpot. Disposition changes update the contact's lifecycle stage and properties.
  • HubSpot → DealOracle — When a contact is updated in HubSpot (e.g., a sales rep marks them as "Sales Qualified"), the change syncs back to DealOracle for ad platform reporting.
  • Lifecycle stage mapping — DealOracle dispositions map to HubSpot lifecycle stages, so your CRM always reflects the current lead status.
  • Property syncing — Custom properties sync between platforms, including UTM data, ad source, campaign info, and deal values.

Why This Matters

Without this integration, your marketing team runs ads in one system while your sales team works leads in another. Changes in HubSpot don't get reported back to ad platforms. With the DealOracle-HubSpot integration, the loop is closed: every CRM update triggers the right conversion events to your ad platforms.

Prerequisites

Before connecting HubSpot, ensure you have:

  • HubSpot account — Any HubSpot plan that includes API access (Starter, Professional, or Enterprise). Free CRM accounts have limited API capabilities.
  • Contact create/edit permissions — The HubSpot user authorizing the connection must have permission to create and edit contacts.
  • Super Admin or App Marketplace Access role — Required to authorize third-party app connections via OAuth.

Supported HubSpot Plans

HubSpot PlanSupportedNotes
Free CRMPartialLimited API rate limits
StarterYesFull support
ProfessionalYesFull support + workflows
EnterpriseYesFull support + custom objects

Tip: If you're on the free HubSpot CRM plan, the integration will work but you may hit API rate limits during high-volume syncing. Consider upgrading for production use.

Connection Steps

Follow these steps to connect HubSpot to DealOracle:

Step 1: Navigate to Integrations

From your DealOracle dashboard, go to Settings → Integrations → HubSpot.

Step 2: Authorize via OAuth

Click Connect HubSpot. You'll be redirected to HubSpot's authorization page. Select the HubSpot portal (account) you want to connect, and grant the requested permissions:

  • Read/write contacts
  • Read/write companies
  • Read/write deals
  • Read contact lists

Step 3: Select Properties to Sync

After authorization, DealOracle will display a list of HubSpot contact properties. Select which properties you want to sync:

Standard properties (auto-mapped):

  • First Name, Last Name
  • Email, Phone
  • Lifecycle Stage
  • Lead Source

Custom properties (manual mapping):

  • Any custom HubSpot properties can be mapped to DealOracle fields
  • UTM parameters (source, medium, campaign, content, term)
  • Ad platform IDs (GCLID, FBCLID, etc.)

Step 4: Map Fields

For each DealOracle field, select the corresponding HubSpot property. DealOracle will auto-map common fields, but you can customize the mapping.

Step 5: Enable Auto-Sync

Toggle Auto-Sync to enable real-time bi-directional syncing. You can also choose:

  • Sync direction — Both ways, DealOracle → HubSpot only, or HubSpot → DealOracle only
  • Sync frequency — Real-time (webhook), every 5 minutes, or every 15 minutes
  • Duplicate handling — Match by email, phone, or both

Step 6: Test the Sync

Click Send Test Contact to create a test contact in HubSpot. Verify it appears in your HubSpot contacts with the correct properties.

Important: The first sync may take several minutes if you have a large number of existing contacts to import.

Field Mapping & Sync Logic

Default Field Mapping

DealOracle FieldHubSpot PropertyDirection
First NamefirstnameBi-directional
Last NamelastnameBi-directional
EmailemailBi-directional
PhonephoneBi-directional
DispositionlifecyclestageBi-directional
Lead Sourcehs_analytics_sourceDealOracle → HubSpot
UTM Sourceutm_source (custom)DealOracle → HubSpot
UTM Mediumutm_medium (custom)DealOracle → HubSpot
UTM Campaignutm_campaign (custom)DealOracle → HubSpot
Deal Valuedeal_value (custom)Bi-directional

Lifecycle Stage Mapping

DealOracle dispositions map to HubSpot lifecycle stages:

DealOracle DispositionHubSpot Lifecycle Stage
New LeadSubscriber
ContactedLead
QualifiedMarketing Qualified Lead
Sales AcceptedSales Qualified Lead
OpportunityOpportunity
Closed WonCustomer
Closed LostOther

Conflict Resolution

When the same field is updated in both DealOracle and HubSpot simultaneously, the integration uses a last-write-wins strategy:

  • The most recent update (by timestamp) takes precedence
  • Conflicts are logged in the integration event log for review
  • You can configure specific fields to be "source of truth" from one platform (e.g., always trust HubSpot for lifecycle stage)

Sync Frequency Options

ModeLatencyBest For
Real-time (webhook)< 5 secondsMost users
Every 5 minutesUp to 5 minutesHigh-volume accounts
Every 15 minutesUp to 15 minutesVery high-volume or rate-limited accounts

Handling Duplicates

DealOracle checks for existing contacts before creating new ones:

  1. Primary match: Email address
  2. Secondary match: Phone number (if email not found)
  3. No match: Create a new contact

You can customize the matching logic in the integration settings.

Need help? Contact DealOracle support at [email protected] or use the in-app chat.

#crm#hubspot#integration