Integration Guide · Updated 2026

HubSpot + Salesforce
Integration Guide

The complete reference for connecting your marketing and sales platforms. Native integration, governance best practices, lifecycle architecture, and everything your revenue team needs to sync reliably at scale.

📅 Complete Reference
20+ min read
🔗 Native & Advanced Integration
Salesforce Integration
HubSpot Integration
🔧 Best Practices & Governance
🏆 12+ Years Salesforce & HubSpot Delivery
👥 500+ Clients Served
🌎 Serving: US · Canada · UK · UAE · Australia · New Zealand
Salesforce Partner
🚀 HubSpot Partner
🤖 AI Delivery
⚡ Quick Answer

HubSpot and Salesforce ship with a native, free, two-way integration that syncs contacts, companies, deals, and activities automatically. For most organizations, the native connector covers everything you need. The real work is governance: defining which system owns each field, preventing duplicates, keeping lifecycle fields immutable, and monitoring sync health post-launch. This guide covers the native integration, best practices, governance framework, and answers to every question revenue teams ask.

The Standard Integration

What the Native Integration Is and What It Does

HubSpot and Salesforce ship with a free, native, two-way integration that connects the two platforms without any custom code. It is built and maintained by HubSpot, and for most organizations it covers the full set of day-to-day needs: keeping contacts, companies, deals, and activity in step across marketing and sales.

🔄 How It Works

The native connector creates a continuous, two-way data sync between a HubSpot portal and a Salesforce org. Records flow back and forth automatically — typically within about 15 minutes of a change — with no CSV files and no API code. HubSpot owns the integration end to end. Setup starts in HubSpot, a managed package is installed on the Salesforce side, and everything thereafter is managed from HubSpot's Data sync settings.

Key Characteristics

📦

Professional Plan Included

Included with HubSpot Professional and Enterprise plans — no separate purchase for the connector itself

🔌

Works Across Editions

Works with Salesforce Professional, Enterprise, or Unlimited editions with API access enabled

🔄

Fully Bidirectional

Two-way by default, but every field and object can be set to sync in the direction you choose

🏢

Clean Ownership

HubSpot owns the integration setup and configuration end to end, with no vendor complexity

🔗What Can Be Synced

The integration connects the standard objects that marketing and sales share. Only Contacts are required to sync; every other object is optional and enabled as needed.

HubSpot ObjectSalesforce ObjectRequired?Notes
ContactsLeads or ContactsYesHubSpot creates either Leads or Contacts in Salesforce — you choose one; cannot create both at once
CompaniesAccountsOptionalCompany-to-account mapping, with association sync available
DealsOpportunitiesOptionalDeal-to-opportunity sync with full field mapping
ActivitiesTasks / ActivitiesOptionalEmails, calls, meetings, and timeline events can sync as activity records
TicketsCasesOptionalTicket-to-case mapping for support operations
PropertiesFieldsRequiredMapped field by field with a chosen sync rule per field
💡
Important distinction — Leads vs Contacts: HubSpot uses one Contacts object for everyone. Salesforce separates unqualified prospects (Leads) from qualified Contacts linked to Accounts. During setup you decide whether new HubSpot contacts create Salesforce Leads or Contacts. Note: if a record with the same email already exists in Salesforce, the integration syncs to that existing record first, regardless of the create setting.
Configuration & Settings

Sync Health, Rules & Property Mappings

The integration is controlled through HubSpot's Data sync settings panel. Here's what you need to know about each setting.

1

Sync Health Dashboard

The Sync Health screen is the integration's dashboard. It shows API call usage and a breakdown of current sync errors by category — associations, custom code, duplicates, permissions, picklists, field mappings, property values, and more — with the number of records affected by each. Healthy integrations are monitored, not assumed. Check API usage to avoid hitting Salesforce limits, and review error categories weekly to catch problems before they affect reporting.

2

Sync Rules: Create, Update & Delete

Each object has Sync Rules that define what happens when a record is created, updated, or deleted on either side. For Contacts, you set whether a new or updated Salesforce lead/contact creates or updates a HubSpot contact, and vice versa — and what happens on deletion.

3

Field (Property) Mappings

Field mappings are the link between HubSpot properties and Salesforce fields. If a field isn't mapped, its data is not included in the sync. Each mapping has a sync rule that determines when it syncs and which app acts as the system of record.

4

Activity & Timeline Sync

Activities — form submissions, marketing and sales emails, calls, meetings, notes, and tasks — can sync from HubSpot into Salesforce as activity records. Each HubSpot event can be mapped to a Salesforce task type and toggled on or off individually, so you control what noise enters your Salesforce activity stream.

5

Governance Controls

Each object's data sync screen exposes three critical governance controls: Resolve sync conflict rules, Deduplication by field mapping, and Selective sync filtering. These controls determine which system wins during conflicts and what data is eligible to sync across platforms.

The Four Sync Rules
Sync RuleBehaviorWhen to Use
Two-wayThe most recent change wins, from either system. Both platforms can update the value.For fields that both systems will actively manage — like name, email, or engagement status
Prefer Salesforce unless blankHubSpot fills the value only if Salesforce is empty. Once Salesforce has a value, it always overwrites HubSpot.For fields that Salesforce should control but HubSpot can populate defaults
Always use SalesforceSalesforce always wins; HubSpot never writes to the field (one-way into HubSpot).For critical Salesforce fields like opportunity stage or owner that HubSpot should not override
Don't syncNo data passes for this field; each system is maintained independently.For system-specific fields or sensitive data that should never cross
⚠️
Watch sync rules on lifecycle fields: If a field like Lifecycle Stage or Lead Status is set to 'Always use Salesforce' or 'Prefer Salesforce unless blank', HubSpot will not be able to update it — a common cause of values that appear stuck. You can export all field mappings to CSV for review.

🛡️Governance Controls: Conflict Resolution, Deduplication & Selective Sync

Each object's data sync screen exposes three critical governance controls:

  • Resolve sync conflict rule — sets which system wins when both change a record (e.g. 'Prefer Salesforce')
  • Deduplication by field mapping — lets you nominate a field mapping used to match and de-duplicate records (email is typical)
  • Selective sync — defines filters controlling which Salesforce records are eligible to sync into HubSpot. This is the Salesforce-side counterpart to the HubSpot inclusion list
📌
The email-match rule: If a record with the same email address already exists in Salesforce, the integration syncs to that existing record first — regardless of the create/update setting. This is the native behaviour that helps prevent duplicate creation.
Best Practices

Governance Framework for a Reliable Integration

The patterns that separate healthy, scalable integrations from ones that quietly drift. Most are decisions, not technical challenges.

⭐ The Most Important Decision

The source-of-truth map. Nearly every serious integration problem — duplicates, round-tripping, unreconcilable reports, lost attribution — traces back to the absence of a written source-of-truth map. Deciding which system owns each field, writing it down, and enforcing it in the sync is the foundation everything else depends on.

🎯Recommended Source-of-Truth Model

Object / FieldSystem of RecordSync DirectionFunctional Owner
Lead (pre-opportunity)HubSpot↔ Both directionsMarketing Ops
Contact (post-opportunity)Salesforce← From SalesforceSales Ops
AccountSalesforce← From SalesforceSales Ops
OpportunitySalesforce← From SalesforceSales Ops
Lifecycle StageHubSpot (MQL & below) / SFDC (SQL & above)↔ Governed bi-directionalRevOps
Lead StatusSalesforce← From SalesforceSales Ops
Contact OwnerSalesforce← From SalesforceSales Ops

⏱️Must-Have Lifecycle & Timestamp Fields (Salesforce-Side)

HubSpot ships native lifecycle timestamp fields out of the box. The work in most engagements is on the Salesforce side — building parallel timestamp fields so that record-level funnel insight is available directly on the Lead or Contact, without needing to join to a custom object.

Salesforce FieldDefinition / Governance RuleWhy It Matters
MQL DateSet on MQL transition (sourced from HubSpot, stamped on the SFDC record)Funnel entry timestamp; first measurable marketing-to-sales handoff
SAL DateSet when the SDR formally accepts the lead in SalesforceMarks SLA start for SDR engagement and outbound attempts
SQL DateSet on SQL stage transition; immutable once stampedOpportunity-eligibility timestamp; powers funnel velocity reporting
First Opportunity DateFirst opportunity created against the contact's accountAnchors contact-to-opportunity attribution and time-to-pipeline
Closed Won DateFirst Closed Won opportunity tied to the contactAnchors revenue attribution and time-to-revenue reporting
Customer DateLifecycle = Customer transition timestamp on the SFDC recordPowers customer cohort, expansion, and renewal reporting

Common Integration Mistakes — Must Avoid

Patterns we see repeatedly when integrations struggle. Most are governance gaps, not technical defects.

01

Treating lifecycle stage as a sync field

It is a governed business state. Sync should respect rules, not override them.

02

Letting both systems own contact ownership

Produces round-tripping updates and audit-log noise that obscure real changes.

03

Running dedupe inside each CRM independently

One system merges what the other splits — and the sync faithfully transmits the conflict.

04

Mapping Lead Status to Lifecycle Stage

Breaks both SDR SLA reporting and funnel reporting; they answer different questions.

05

Designing closed-loop reporting after go-live

Required fields and timestamps end up missing or mutable; reports never reconcile.

06

Leaving automation running on retired stages

Background processes silently mutate data, generate noise, and corrupt funnel reporting.

07

Building the integration straight to production

Inevitably surfaces conflicts on live revenue data with no safe rollback path.

08

No named owner for the integration

Field mappings drift, error logs go unread, and the next reorg breaks routing silently.

09

Picklist values not normalized before sync

Country, industry, and job function fragment across spelling variants and break grouping.

10

No reconciliation reports

Drift is detected at the next QBR, not in real time.

📈Post Go-Live Monitoring Practices

PracticeCadenceWhy It Matters
Sync-health checkDailyCatch failures in hours, not at QBR. Track API usage, error counts, and last successful sync
Reconciliation reportWeeklyObject counts and orphaned records compared across systems with variance threshold alerts
Error triage workflowAs neededCategorized errors (validation, permission, duplicate, timeout) routed to the appropriate Ops owner
Sync and automation auditQuarterlyReview field mappings, automation conflicts, dead-stage logic, and governance adherence with documented remediation
Change control disciplineEvery changeField mapping, picklist additions, and sync rules require ticket + UAT + sign-off
🔑
Integration ownership: One named RevOps owner for the integration end-to-end. Not a committee. Not a vendor. Marketing Ops owns HubSpot-side workflows and lifecycle progression. Sales Ops owns Salesforce-side automation, routing, and lead status. Integration changes follow a change-control process.
Problem Patterns

Common Problems — and How to Solve Them

The patterns we see most often in HubSpot-Salesforce integrations, drawn from real engagements.

1. Reporting That Won't Reconcile Between the Two Systems

The Problem

Salesforce dashboards and HubSpot reports show different pipeline and conversion numbers, so leadership can't trust either.

How We Solve It

Design reconciliation into the integration rather than bolting it on — a written source-of-truth map per field, governed timestamps, and aligned sync directions. In practice, dashboards in both systems reconcile within a reporting cycle once the underlying model is fixed.

2. Lifecycle Stage and Lead Status Conflated

The Problem

The two are mapped to each other or treated as the same field, breaking both funnel reporting and SDR triage reporting — and conversion rates swing wildly month to month.

How We Solve It

Separate them by design: Lead Status answers 'what is sales doing with this lead,' Lifecycle Stage answers 'where is this record in the funnel.' Each gets its own governed rules and a unified taxonomy on both sides, with timestamps locked to first entry so conversion math stabilizes.

3. Over-Engineered Funnel With Too Many Stages

The Problem

The funnel runs on too many reporting stages, several answering the same question, making it hard to interpret and report on.

How We Solve It

Rationalize the stages first — merging overlapping ones into a defensible set — then align the taxonomy across both systems, migrate existing records onto it with a tested rollback path, and only then fix the wiring. Fix the model, then fix the sync.

4. Automation Firing on Retired or Inactive Stages

The Problem

Flows, process builders, and triggers built up over time keep running on stages that no longer exist, generating noise and silently mutating records.

How We Solve It

Catalogue every flow, process builder, workflow rule, and trigger touching the funnel; disable automation on deprecated stages; fix entry/exit criteria on active ones; consolidate competing logic. Then institutionalize a recurring automation audit so it stays clean.

5. Duplicate Records Across the Two Systems

The Problem

Each system runs its own deduplication independently, so one merges what the other splits — and the sync faithfully transmits the mess.

How We Solve It

Establish a single, agreed matching and deduplication strategy (typically keyed on email and company domain), respect the native email-match behaviour, and normalize values before go-live so both systems resolve records the same way.

6. Slow, Hard-to-Access Funnel Insight

The Problem

Stage-by-stage funnel data lives in a separate object that's slow for reps, managers, and ad-hoc reporting.

How We Solve It

Add record-level lifecycle timestamp fields directly on the Lead and Contact — a first-reached and latest-reached timestamp per stage — populated automatically on each transition. The difference between timestamps gives accurate stage velocity and conversion without querying a separate object.

7. No Clear Ownership of the Integration

The Problem

Field mappings drift, error logs go unread, and a reorg quietly breaks routing because no one owns the integration end to end.

How We Solve It

Establish one named RevOps owner, a simple change-control process for mappings and picklists, and ongoing monitoring — a daily sync-health check, weekly reconciliation, and a quarterly audit — so the integration is governed as a product, not left to drift.

8. Manual Work That Should Be Automated

The Problem

High-volume, repetitive work — post-call admin, follow-up task creation, lifecycle updates — is done by hand, inconsistently.

How We Solve It

Automate the repetitive motion across the two systems and layer AI-augmented workflows (such as call summarization and task extraction) on top of clean, governed data — so people spend time on judgment, not data entry.

🎯
The thread running through all of it: Nearly every problem traces back to the absence of a written source-of-truth model and a named owner. Get those two foundations right, and the integration becomes something your team can trust and grow — not something that quietly drifts between reorgs.
Setup & Launch

Getting Started: Setup Steps & UAT Essentials

🚀How the Standard Setup Works

The standard setup is a guided, low-code process owned from the HubSpot side:

1

Install the Managed Package

Install the HubSpot managed package in Salesforce and connect using a dedicated integration user (not a personal login).

2

Choose Mapping Strategy

Decide between recommended or advanced field mapping. Recommended works for simple Salesforce setups; advanced gives full control over each mapping and sync rule.

3

Configure Sync Rules

Decide whether HubSpot creates Leads or Contacts, and configure create/update/delete sync rules per object.

4

Set Inclusion & Filters

Apply an inclusion list (HubSpot) and selective sync (Salesforce) to control what flows between systems.

5

Enable & Monitor Sync

Turn on sync for the objects you mapped and let the initial sync run; monitor Sync Health for errors.

6

Test & Iterate

Run UAT scenarios, fix any issues, and only then move to production monitoring.

QA / UAT Must-Dos

Testing Checklist

  • Connected sandbox testing against representative data
  • Edge cases: duplicates, contacts without accounts, multi-region records
  • Scenario-based UAT scripts for lifecycle progression and regression
  • Lead conversion, contact merges, ownership changes
  • Territory reassignment and Salesforce territory model alignment
  • Automation audit before sign-off
🔍

Validation & Sign-Off

  • Reconciliation tests: object counts must match within tolerance
  • Key field totals verified after each sync cycle
  • Catalogue every flow, process builder, and trigger
  • Confirm none target retired stages or deprecated logic
  • Stakeholder sign-off from Marketing Ops, Sales Ops, business
  • Defect log discipline: all issues logged and resolved
📋
Best practice: Connect a HubSpot sandbox to a Salesforce full or partial sandbox and test with representative data before go-live. Use a dedicated integration user so the connection isn't tied to one person's account, and review Sync Health regularly after go-live.
Frequently Asked Questions

HubSpot + Salesforce Integration: Your Questions Answered

Questions every revenue team asks before connecting and after go-live.

1What does a Salesforce + HubSpot integration actually do?
It connects your marketing platform (HubSpot) and your sales system of record (Salesforce) so that contacts, companies, deals/opportunities, and activity flow between them automatically. Marketing sees what happens to the leads it generates; sales gets engagement context on every record; and leadership gets one reconciled view of the funnel instead of two systems that disagree.
2Why connect them at all — can't each team just use its own tool?
They can, but the funnel breaks at the handoff. Marketing nurtures a lead in HubSpot, sales works the opportunity in Salesforce, and without integration nobody can trace a closed deal back to the campaign that sourced it. Connecting the two closes that loop: attribution, conversion rates, and pipeline reporting all become reliable, and reps stop re-keying data between systems.
3Is there a native integration, or do we need extra tools?
HubSpot ships a native, supported Salesforce integration that handles the core object sync (contacts, companies, deals, and activities) with no code. Most organizations run on the native connector. Additional tooling — such as Operations Hub or a middleware platform — is only needed for advanced needs like complex deduplication, custom-object bridging, or data transformation the native sync doesn't cover.
4How long does it take to set up?
A basic connection can be live in a day. A production-grade integration — with a governed field map, lifecycle rules, deduplication strategy, and reporting designed in — typically takes a few weeks for a mid-market organization and scales with the complexity of your data and automation. The connection is quick; doing it correctly is the work.
5Which direction does data sync — one way or both?
It can be either, and the right answer is set per field, not globally. Each field should have one system of record: the platform that owns the truth for that value. For example, marketing engagement is usually HubSpot-owned, while opportunity and revenue data is Salesforce-owned. Defining this "source-of-truth" map up front is the single most important step in a healthy integration.
6Will the integration create duplicate records?
Not if it's governed correctly. Duplicates appear when each system runs its own deduplication independently — one platform merges what the other splits, and the sync faithfully transmits the mess. The fix is a single, agreed deduplication and matching strategy (typically keyed on email and company domain) so both systems resolve records the same way.
7How often does data sync between the systems?
The native integration syncs continuously, typically within a few minutes of a change, rather than on a fixed nightly batch. For day-to-day work this feels close to real time. When you're reconciling reports, it's worth allowing for that short sync window before assuming the two systems disagree.
8Can we do closed-loop campaign attribution?
Yes. Once campaigns in HubSpot are connected to opportunities and revenue in Salesforce, you can report first-touch, last-touch, and weighted multi-touch attribution — and finally tie marketing spend to pipeline and closed revenue. This usually requires deliberately bridging the campaign objects, since the native sync does not connect them on its own.
9We already have a struggling integration — can it be fixed?
Usually, yes. Most struggling integrations don't need to be rebuilt from scratch — they need an audit. Cataloguing the field mappings, automation, and sync paths almost always reveals a handful of governance gaps (ownership conflicts, dead-stage automation, missing source-of-truth rules) that, once fixed, restore reporting trust within a cycle or two.

Ready to Build a Reliable Integration?

Whether you're connecting HubSpot and Salesforce for the first time or fixing an integration that's drifted, the best starting point is usually an audit. We help revenue teams map the current state, design the source-of-truth model, and execute go-live with confidence.