RevOps Blog

HubSpot Salesforce Integration: How to Set It Up So the Data Holds

Written by elefante RevOps Editorial Team | Oct 15, 2026, 2:40:31 PM

TLDR

  • The HubSpot Salesforce integration is HubSpot's native connector. It syncs contacts, companies, deals and activities between the two CRMs roughly every 15 minutes.
  • Installing it takes minutes. The real work is deciding which system owns each field, which records can sync and how much Salesforce API capacity HubSpot can use.
  • You need HubSpot Professional or Enterprise, a Salesforce edition with API access (or Salesforce Professional) and a Salesforce admin to install it.
  • Most sync problems come from setup decisions nobody made: duplicate records, two-way sync on automated fields, mismatched owners and an API budget that runs out.
  • Test ownership rules, inclusion criteria, automations and API usage in a sandbox before launch. Elefante RevOps builds every integration sandbox-first, starting with a 45-minute scoping call.

HubSpot assigns a qualified lead to one sales rep. Salesforce shows another owner. Marketing counts the handoff as complete, but sales is working from a different record. Both systems appear to be running, yet the teams no longer trust what they see.

That is the risk in a HubSpot Salesforce integration. Connecting the platforms is relatively quick, but the connection cannot decide who owns the data. The native connector syncs contacts, leads, companies, deals and activities according to the rules you configure, checking for updates roughly every 15 minutes. Before you turn it on, someone needs to decide which records qualify, which system controls each field and how much Salesforce API capacity the integration can use. Otherwise, the connector keeps running while the two CRMs gradually disagree.

This guide is for RevOps and sales operations leaders running marketing in HubSpot and sales in Salesforce who need both systems to reflect the same customer and revenue data. It covers what the connector syncs, what you need before setup, how to configure it in the right order, how sync rules work, what to test before launch and where the integration most often breaks.

How the HubSpot Salesforce integration works

The HubSpot Salesforce integration matches records across the two systems and syncs changes according to the rules you configure for each object and field. HubSpot checks both accounts for new or updated information approximately every 15 minutes, and certain actions, including form submissions, logged emails and meetings, and property updates, can also trigger a sync.

Connecting the systems does not immediately copy all of your data from one CRM to the other. According to HubSpot's integration FAQ, records begin syncing gradually as triggers occur unless you deliberately run an import. That gives your team time to define the rules before large amounts of data start moving. Based on HubSpot's integration settings documentation, this is how each HubSpot object maps to Salesforce:

 

HubSpot

Marketing data  and engagement

Field ownership and sync rules

Connection between the two systems

Salesforce

Sales records and opportunities

Sync direction depends on object and field configuration.


HubSpot object Salesforce object How it syncs
Contacts Leads and contacts Two-way by default, matched on email address
Companies Accounts Optional, deduplicated on a mapped field you choose
Deals Opportunities Optional, with pipeline and stage mapping
Tickets Cases Optional
Activities (emails, meetings, form submissions) Tasks Optional
Custom objects Custom objects Optional

 

Contact matching deserves particular attention. HubSpot identifies duplicate Salesforce leads and contacts using email address, and when several Salesforce records share the same email, it syncs with the one updated most recently. If Salesforce already contains duplicates, one HubSpot contact can be overwritten again and again by different Salesforce records, so cleaning them up before setup prevents problems later.

What you need before you connect

You need an eligible HubSpot Professional or Enterprise subscription, a supported Salesforce edition with API access, and the right administrator permissions to install and configure the integration. Requirements differ by Salesforce edition and by the objects or features you plan to sync, so check the current HubSpot installation requirements against your actual setup before connecting production systems.

Requirement HubSpot Salesforce
Subscription or edition Professional or Enterprise of Marketing, Sales, Service, Data or Content Hub, or Smart CRM An edition with API access, or Professional. Government Cloud is supported, Group Edition is not
User who installs A user with Account Access permission A system administrator
Permissions Account Access for the HubSpot installer Salesforce administrator access and API permissions. Specific features may also need object, metadata or package permissions

If you are still deciding whether your business needs both CRMs, our HubSpot vs Salesforce comparison covers the differences in cost, customisation and fit.

How to integrate HubSpot with Salesforce

The installation itself happens in step four. The first three steps are what decide whether your HubSpot Salesforce integration stays manageable after launch, because they establish what data should move, which platform owns it and how the integration should behave when the two systems disagree.

1. Clean and deduplicate Salesforce leads and contacts

Start by merging Salesforce records that share the same email address. The integration uses email to match leads and contacts, so duplicates create conflicting updates as soon as syncing begins. Our guide to auditing a HubSpot portal covers the same cleanup on the HubSpot side.

2. Decide the system of record for every synced field

Before you configure field mappings, decide which CRM owns each important field. Salesforce might own opportunity amount and account owner, for example, while HubSpot owns lead source and marketing engagement. Document these decisions before setup, because you will use them to choose the sync rule for each mapped field.

3. Connect a Salesforce sandbox first

The installer lets you connect to a Salesforce sandbox, and you should use it. A sandbox gives your team a safe place to test field mappings, ownership rules, automations and sync behaviour before any production records are involved. The testing checklist further down shows what to cover.

4. Install the connector

In HubSpot, open the Marketplace and search for the Salesforce app. Click Install, then log in with your Salesforce administrator credentials. The connection is complete once Salesforce redirects you back to HubSpot.

5. Build the inclusion list

An inclusion list, which HubSpot also calls selective sync, decides which HubSpot records are allowed to sync to Salesforce. Without one, every eligible HubSpot contact can move into Salesforce, including students, competitors, newsletter-only subscribers and other records your sales team does not need. The inclusion list draws a clear line between marketing records that belong in HubSpot and records that should enter the sales CRM.

6. Map fields and set a sync rule for each one

Map HubSpot properties to compatible Salesforce fields, then assign each one a sync rule based on the system of record you set in step two. HubSpot supports up to 500 field mappings per object, but the goal is not to connect as many fields as possible. It is to make sure each field moves in the right direction and that one system clearly wins when values conflict.

7. Allocate API calls, then import and monitor

Use the Sync Health tab to set how much of your Salesforce API capacity HubSpot can use. Once the allocation is in place, run the initial import and watch sync errors closely. Checking errors daily for the first two weeks makes it easier to catch incorrect mappings, permission problems, duplicate records or automation conflicts before they spread across both systems.

Which sync rule to use

For standard contact property mappings, HubSpot documents four common sync rules, and the right one depends on which CRM owns the field. Other objects and newer sync configurations may offer more choices, including Always use HubSpot and object-level sync direction settings. A common mistake is turning on two-way sync everywhere. Two-way does not mean the platforms reconcile conflicting information intelligently. It means the most recent edit wins, whichever system made it, and that causes problems when HubSpot workflows, Salesforce flows or users in both systems edit the same property.

Sync rule What it does Use it for
Prefer Salesforce unless blank HubSpot only sends a value when the Salesforce field is empty, and Salesforce values always overwrite HubSpot Fields Salesforce owns but HubSpot can fill first, such as industry or employee count
Always use Salesforce HubSpot never sends data to Salesforce, even into an empty field Fields sales or finance owns, such as opportunity amount, contract dates or account tier
Two-way The most recent value overwrites the other system, and deletions sync too A small set of fields both teams genuinely edit, such as phone number or job title
Don't sync Data never passes between the systems HubSpot-only marketing properties and Salesforce-only internal fields

 

For company, deal and custom object configurations, also review the object-level sync settings, because a one-way object rule can override a field-level rule.

There is one important exception. HubSpot notes that the contact owner field only syncs two-way, even when the interface shows Prefer Salesforce unless blank. Owner values also need to match exactly across both systems, so configure user mapping before the initial import. Otherwise, owner assignments can fail or change unexpectedly.

Salesforce API call limits

The HubSpot Salesforce integration can use up to four API calls to sync one contact. Those calls count against your Salesforce organisation's daily API limit, which every other system connected to Salesforce shares, so API capacity belongs in the integration design rather than on a checklist after launch.

According to Salesforce's developer documentation, Enterprise and Professional organisations with API access receive 100,000 calls per day plus 1,000 calls for each Salesforce licence. Unlimited and Performance organisations receive 100,000 calls plus 5,000 per licence.

For example, an Enterprise organisation with 50 licences receives 100,000 + 50 × 1,000 = 150,000 API calls per day. A complete resync of 40,000 contacts could need up to 40,000 × 4 = 160,000 API calls. In that scenario, the resync alone could use more than the organisation's full daily allocation, which is why large imports can take several hours. Your actual limit may be higher if you've purchased additional API capacity, so check it in Salesforce Setup before planning a large import.

HubSpot recommends setting its allocation based on your actual Salesforce limit and existing usage. Leave enough capacity for other integrations, particularly the systems that handle billing, enrichment and support, and schedule bulk imports and resyncs outside peak working hours.

What to test before launch

A successful connection does not prove the mapping is ready for live records. Test representative scenarios in a Salesforce sandbox, write down the expected result in each CRM and agree what happens when the result is different.

Test What to check Why it matters
Existing and duplicate contacts A known lead or contact matches the correct record, and duplicates are found before import Prevents updates landing on the wrong person
Conflicting field edits Change an approved test field in both systems and check which value wins Confirms your system-of-record rules
Owner assignment Sync a record owned by a mapped user and one with a missing or inactive user Exposes user-mapping and reassignment failures
Required fields and picklists Send a record with a missing required value or an incompatible picklist value Shows which Salesforce validation rules block sync
Inclusion criteria Test one record that qualifies and one that should stay HubSpot-only Prevents unnecessary sales records and API use
Automation interaction Trigger a HubSpot workflow and a Salesforce flow on the same test record Catches conflicting updates before they loop
API usage and bulk changes Run a realistic test batch while monitoring sync health and call consumption Shows whether launch volumes are manageable
Reporting reconciliation Compare counts, ownership and key field values in both systems after syncing Confirms the business can trust the resulting reports

Before launch, assign an owner to every failed test and define how you would pause or roll back the sync. Keep a record of field mappings, sync direction, inclusion criteria and expected exceptions. The goal is not a green integration status but consistent records and explainable results on both sides.

Common sync issues and how to fix them

Most HubSpot Salesforce integration issues are not caused by the connector suddenly breaking. They come from decisions that were never made during setup. When something goes wrong, start with the Sync Health tab in HubSpot's Salesforce settings, which groups sync errors by type and shows how many records each issue affects. HubSpot also keeps a list of common sync errors.

What your team sees Likely cause to investigate first First check
Contact details change unexpectedly Duplicate records or conflicting two-way updates Record pairing and field history
Leads arrive with the wrong owner User mapping or ownership rule mismatch Owner mappings in both CRMs
A subset of records never appears Inclusion criteria, required fields or validation rules Sync Health errors and eligibility
Dropdown values fail to update Incompatible field types or picklist values Mapping and allowed values
Updates are delayed after a large import API allocation or sync backlog Usage, allocation and queued records

 

These are starting points for diagnosis, not definitive causes. The sections below explain how to isolate and fix each problem.

Duplicate leads and contacts

Because records are matched on email address, several Salesforce records with the same email can keep overwriting a single HubSpot contact. A rep opens a record, sees one value and comes back later to find it has changed again. Eventually, users stop trusting the data in either CRM. The fix is to merge duplicates in Salesforce before the initial import and to keep a regular deduplication routine after launch.

Two-way sync on fields both systems automate

Suppose a HubSpot workflow updates lifecycle stage while a Salesforce flow updates the matching lead status. If the field uses two-way sync, the most recent update wins, so the systems can keep overwriting each other and leave HubSpot and Salesforce reports showing different results. Give the field one owner and switch it to a one-way rule.

Owner fields that do not match

Owner fields only sync two-way and need a matching user in both systems. If a salesperson exists in Salesforce but not in HubSpot, or the user mapping is wrong, assignment can fail for every record that person owns. Check user mapping whenever someone joins or leaves the sales team.

Salesforce rejects the record

Salesforce validation rules or required fields can block records coming from HubSpot when information is missing. You can map a HubSpot property to the required Salesforce field, or adjust the Salesforce rule so records created by the integration user can pass through when that is appropriate.

Field types or picklist values do not match

A HubSpot dropdown can only sync to a Salesforce picklist when the values are compatible, and restricted Salesforce picklists reject any value that is not already in their list. State and country picklists are a common example, and HubSpot's Salesforce integration settings include options for matching those values correctly.

The integration user lacks permissions

The connector depends on the permissions of the Salesforce user that installed it. If that user loses a permission such as Modify All for an object, syncing for that object can stop. A dedicated integration user reduces this risk, because its permissions are less likely to change during routine employee or admin updates.

The API allocation runs out

When HubSpot reaches its Salesforce API allocation, new syncs queue until capacity resets, and the shortage can also affect other tools sharing the same limit, such as billing and enrichment integrations. If Salesforce still has unused capacity, increase HubSpot's allocation. If not, move bulk imports, resyncs and large automated updates to quieter periods.

Fields and objects the connector does not cover

The native connector supports standard objects and compatible field mappings, but complex custom objects, calculated fields and cross-object logic can go beyond what it handles cleanly. Teams then start filling the gaps with CSV exports or manual updates, and those workarounds become another source of inconsistent data.

The cost of letting these problems run is substantial. Gartner estimates that poor data quality costs organisations at least $12.9 million a year on average, and when two systems sync constantly, poor data in one quickly becomes poor data in both.

Native connector, custom build or migration

The native HubSpot Salesforce connector is the right choice for most companies that want marketing in HubSpot while sales keeps working in Salesforce. A custom integration makes more sense when your data model or business logic goes beyond what the connector supports. Migration is the third option, when maintaining two CRMs costs more than it gives back.

Option Best for Trade-off
Native HubSpot Salesforce connector Marketing in HubSpot, sales in Salesforce, standard objects and fields Fast to set up and maintained by HubSpot, but limited to the objects, field types and sync rules it supports
Custom API integration Complex custom objects, calculated fields, cross-object logic or strict control over API usage Fits your data model exactly, but needs building, documentation and an owner to maintain it
Migration to one CRM Teams paying for two systems that hold the same data Removes the sync entirely, but means a planned move with data validation and retraining. Our Salesforce to HubSpot migration guide covers the process

 

How Elefante RevOps helps

We build and repair HubSpot Salesforce integrations for B2B revenue teams with $10 million to $500 million in revenue. As a HubSpot Diamond Partner and Salesforce Consulting Partner, we work on both sides of the integration. That matters, because a problem that shows up in HubSpot often starts in a Salesforce configuration, and a Salesforce reporting issue can begin with a workflow or property decision in HubSpot.

Every project starts with a 45-minute scoping call that inventories your current stack and identifies the three highest-risk data flows. We also tell you honestly whether you need a custom build or whether the native connector will do the job. You then get a written scope with fixed deliverables, a defined data contract, a test plan and a sandbox-first build order, before any code is written.

The work is done by a Growth Architect, who owns the data model, and a GTM Engineer, who writes the code. Releases move from sandbox to staging to production in two-week sprints, with monitoring in place from day one. When the native connector cannot support your data model, we build custom integrations for bi-directional sync beyond it, covering custom objects, custom fields, conflict resolution and ownership rules. Every integration includes monitoring, drift alerts and a quarterly maintenance window, and we have had zero configuration defects across our last 18 custom integration builds.

If your long-term goal is to move from two CRMs to one, our HubSpot migration service runs your old CRM in parallel during a phased move. We define which system is authoritative for each object during that window, so two teams never edit two versions of the same record.

Running HubSpot and Salesforce side by side?

Book a call with our team to talk through field ownership, sync rules and API usage before any data moves.

FAQ

How often does HubSpot sync with Salesforce?

HubSpot checks for new or updated information in both systems approximately every 15 minutes, according to HubSpot's sync trigger documentation. Certain events, including form submissions, logged activities and property updates, can also trigger a sync when they occur. Large imports may take several hours because HubSpot controls the pace to preserve Salesforce API capacity.

Does HubSpot integrate with Salesforce?

Yes. HubSpot offers a native Salesforce connector through the HubSpot Marketplace, and it can sync contacts, leads, companies, deals, tickets, activities and custom objects. It requires a HubSpot Professional or Enterprise subscription and a Salesforce edition with API access, or Salesforce Professional.

Is HubSpot replacing Salesforce?

HubSpot replaces Salesforce for some organisations, while many others continue running both platforms, commonly with marketing in HubSpot and sales in Salesforce. Whether consolidation makes sense depends on your sales process, how much custom Salesforce development your business relies on and whether maintaining two CRMs still justifies the cost. Our Salesforce to HubSpot migration guide explains when a migration makes sense and when keeping Salesforce may be the better option.

Which CRM is better, Salesforce or HubSpot?

Neither CRM is better for every company. HubSpot is generally faster to adopt and combines marketing, sales and service in one platform, while Salesforce offers deeper customisation for organisations with more complex sales processes and data models. Our HubSpot vs Salesforce comparison breaks down pricing, capabilities and fit by company type.

Can the HubSpot Salesforce integration sync custom objects?

Yes. HubSpot's integration settings support custom objects alongside contacts, companies, deals, tickets and activities, and inclusion lists can decide which custom object records are allowed to sync. When those custom objects depend on complex relationships, calculated fields or business logic the connector does not support, a custom integration may be a cleaner solution.

What happens to HubSpot contacts that are not on the inclusion list?

They do not sync from HubSpot to Salesforce. The one exception is when Salesforce is configured to create HubSpot contacts automatically. In that case, a new Salesforce lead or contact can still create or update its matching HubSpot contact, even when that contact falls outside the inclusion list.

Does deleting a contact in HubSpot delete it in Salesforce?

No, not by default. HubSpot's settings documentation states that deleting a HubSpot contact does not delete the matching Salesforce record, so cleanup in Salesforce remains a separate and deliberate action.