· 14 min read

HubSpot Salesforce Integration: Setup, Sync Rules and Pitfalls

The most common way to connect HubSpot and Salesforce is HubSpot’s own connector, and it covers what most companies need: marketing works in HubSpot, sales works in Salesforce, and both see the same people, companies and deals. The connector installs in minutes. The real work is deciding which records sync, which system owns each field, and cleaning the data before the first sync. This guide walks through all of it, plus when you need something other than the native connector.
Two CRM windows connected by two-way arrows, with a marketing funnel on one side and a sales pipeline on the other, illustrating a HubSpot Salesforce integration
Connecting HubSpot and Salesforce?Gilzor’s engineers can map the data flow, build the integration your connector can’t handle and support it after launch.
Plan my integration

Your options for a HubSpot and Salesforce integration

There are four ways to connect the two systems. They differ in what they can sync, how much logic they can carry and who maintains them. For the wider picture of Salesforce integrations, see our Salesforce integration guide.

OptionWhat syncsDirectionCost levelEffortMain limits
Official HubSpot connectorContacts ↔ leads or contacts, companies ↔ accounts, deals ↔ opportunities, activities, campaign membership; custom objects on EnterpriseTwo-way, set per fieldComes with HubSpot Professional or EnterpriseDays to a few weeks of configuration and cleanupSimple field rules, no data transformation, matching by email
Zapier, Make and similarWhatever a trigger and action can carry: "new form fill creates a lead"One-way flows, two-way only if you build bothTens to hundreds of dollars a month, rising with volumeHours per flowNo real sync state, duplicates and loops are your problem
Enterprise iPaaS (Workato, MuleSoft, Boomi, Celigo)Any object either API exposes, with transformationsAnyUsually tens of thousands of dollars a yearWeeks, needs someone who builds recipes or flowsCost only pays off across many integrations
Custom API integrationAnything, with your rules, queues and loggingAnyBuild cost plus maintenanceWeeks to a few monthsYou own the code and its upkeep

Not sure which fits? Four questions:

Which HubSpot Salesforce integration fits you?

What the official connector requires

Check these before anyone clicks Install. According to HubSpot’s documentation as of late 2026:

  • HubSpot: a Professional or Enterprise subscription of Marketing Hub, Sales Hub, Service Hub, Content Hub, Data Hub or Smart CRM. Free and Starter plans can’t use it. Syncing Salesforce custom objects needs Enterprise. The installer needs Account Access permission in HubSpot.
  • Salesforce: an edition with API access, or Salesforce Professional. Group Edition is not supported. Government Cloud is.
  • The connecting user: a Salesforce system administrator with API Enabled, View Setup and Configuration, Modify All on every object you want to sync (leads, contacts, accounts, opportunities, campaigns), Download AppExchange Packages, and the Task Type field visible on their profile. Customize Application is needed for the HubSpot Embed window and its automatic updates, and Modify Metadata for the Embed window or for deal sync.
  • The window inside Salesforce: HubSpot is retiring its legacy managed package with the Visualforce module that showed HubSpot data on Salesforce records. HubSpot recommends uninstalling it and using HubSpot Embed instead. If an old guide tells you to add the Visualforce section to your page layouts, skip it.
Use a dedicated integration user

Whatever HubSpot writes to Salesforce is stamped with the connecting user’s name, and that user’s permissions decide what HubSpot can see. Connect with a dedicated admin user, not a person who might leave. HubSpot lets you switch users later only to one with equal or greater permissions in the same production org.

The typical setup: marketing in HubSpot, sales in Salesforce

Most companies that run both tools split the funnel. HubSpot captures and nurtures people; Salesforce is where reps qualify, sell and forecast. A clean version of that flow looks like this:

How data moves through the official connector HubSpot marketing Forms, emails, scoring All contacts Inclusion list only these go to Salesforce Companies, deals, activities Salesforce sales Leads or contacts Accounts Opportunities Tasks, campaigns Official connector sync rule on every field Salesforce API calls your daily allocation Records sync both ways per field rules, and so can tasks, calls and meetings. Timeline events and campaigns go one way.
The inclusion list is the gate: only contacts that are ready for sales reach Salesforce. Field sync rules then decide which system wins for each value.
  1. A visitor fills a HubSpot form. HubSpot scores and nurtures them.
  2. When the contact reaches your hand-off point (for example, a marketing-qualified lead), a workflow adds them to the inclusion list. Only then do they sync to Salesforce, as a lead or a contact.
  3. Salesforce assignment rules give the record an owner. The owner syncs back to HubSpot, so the right rep’s name appears on emails and in reports.
  4. The rep converts the lead and opens an opportunity. Stage, amount and close date sync to HubSpot as a deal.
  5. When the opportunity closes, HubSpot can update the contact’s lifecycle stage, and marketing sees which campaigns produced revenue.

What syncs, and which system should own it

Decide a system of record for every object before you map a single field. A typical split for the marketing-in-HubSpot, sales-in-Salesforce model:

HubSpotSalesforceDirectionUsual system of recordNotes
ContactLead or contactTwo-way, rule per fieldHubSpot for marketing fields, Salesforce for sales fieldsContacts sync by default once the integration is on; an inclusion list limits which ones. Matching is by email
CompanyAccountTwo-way, rule per fieldSalesforceTurn on in the Companies tab. Don’t auto-create companies if you sync contacts as leads
DealOpportunityTwo-way, rule per fieldSalesforceNeeds deal sync turned on and stages mapped to your HubSpot pipeline
Timeline events (form submissions, marketing emails, notes)TaskHubSpot → SalesforceHubSpotSet in the Activities tab. Pick only activities reps actually read
Tasks, calls, sales emails, meetingsActivitiesTwo-way (activity sync)Wherever reps log themSet in the Activities tab. If both syncs are on for one activity type, activity sync takes over to avoid duplicates
Contact in a workflowCampaign memberHubSpot → SalesforceSalesforce owns the campaignThe “Set Salesforce campaign” workflow action adds enrolled contacts to a Salesforce campaign
OwnerRecord ownerAlways two-wayWherever you assignUsers must exist in both systems with an exact match
Custom objectCustom objectTwo-way, Always use Salesforce or Always use HubSpotUsually SalesforceHubSpot Enterprise only. No mappings on Salesforce lookup fields

HubSpot also documents a two-way sync between Salesforce cases and HubSpot tickets, which helps when service runs in HubSpot. It only picks up cases created or updated after you turn it on, so existing cases need a separate import. Each object allows up to 500 field mappings, but a good integration maps far fewer: only fields someone uses on the other side.

How to set up the HubSpot Salesforce integration, step by step

Plan for one to three weeks, most of it on decisions and data cleanup. The installation itself takes minutes.

  1. Write down the hand-off and the ownersAgree on three things with marketing and sales: when a contact goes to Salesforce, whether it arrives as a lead or a contact, and who assigns the owner. Put it in a one-page doc. Every later setting follows from it.
  2. Clean Salesforce firstTurn on duplicate and matching rules, merge leads and contacts that share an email, and fill missing emails where you can. Make sure every rep exists as a user in both systems with the same email address.
  3. Prepare the integration userCreate or choose a dedicated Salesforce admin user with the permissions listed above. If you use the legacy HubSpot managed package, plan to remove it and switch to HubSpot Embed.
  4. Install in a sandbox firstIn HubSpot, open the App Marketplace, find the Salesforce app and click Install. Tick the option that you are connecting to a sandbox, then log in to Salesforce. Ideally connect the sandbox to a HubSpot test account, not your live portal. Moving to production later means installing the package in your production org and reconnecting with a production user, so plan the switch, don’t improvise it.
  5. Set the inclusion listIn the integration’s data sync settings, choose a list (HubSpot now calls lists segments) that holds only the contacts sales should see. Without one, every HubSpot contact syncs, including newsletter subscribers and spam form fills.
  6. Choose lead or contact creationSelect whether HubSpot creates leads or contacts in Salesforce. If you choose leads, turn off automatic company creation and association to avoid duplicate accounts.
  7. Map fields and set sync rulesStart with the default mappings. Add custom fields one at a time and give each a sync rule (next section). Match HubSpot dropdowns to Salesforce picklist values exactly.
  8. Turn on companies, deals and activitiesEnable company and deal sync if you need them, map opportunity stages to your HubSpot pipeline, and choose which HubSpot activities create Salesforce tasks and which activity types sync both ways.
  9. Set the API allocationIn the Sync Health tab, set how many Salesforce API calls HubSpot may use per day, leaving room for your other integrations.
  10. Test with real scenarios, then go liveCreate a lead from a form, change an owner in Salesforce, convert a lead, close an opportunity, change a picklist value, and check each result on both sides. Repeat the setup in production, start with a small inclusion list and widen it over a few days while you watch sync errors.

Sync rules: decide which system wins for each field

Every mapped field gets one of four rules. This is where most of the thinking happens.

Sync ruleWhat it doesUse it for
Prefer Salesforce unless blankSalesforce values overwrite HubSpot. HubSpot sends a value only when the Salesforce field is emptyFields marketing captures first but sales maintains: phone, job title, industry, company size
Always use SalesforceSalesforce always wins. HubSpot never writes to the fieldSales-owned data: lead status, account tier, opportunity fields, anything a Salesforce Flow calculates
Two-wayThe most recent change wins, in either system. Deletions of values sync both ways tooFew fields that both teams genuinely edit, such as email opt-out preferences or owner
Don’t syncNo data passes. Use it to stop a standard mapping you can’t deleteInternal fields, sensitive data, anything the other team doesn’t need

Two details catch people out. The owner mapping always syncs two-way, even if the screen shows another rule. And a new mapping doesn’t copy existing values retroactively: records update the next time they sync, so plan a resync if you need history.

A good default: fields marketing creates (lead source, original source, scores, form answers) flow from HubSpot, and everything sales touches uses one of the Salesforce rules. Keep Two-way to a handful of fields.

Leads or contacts in Salesforce?

This choice shapes your reports and cleanup work for years, so make it on purpose.

  • Sync as leads if your team qualifies new people before they become contacts on accounts, uses lead assignment rules and reports on lead conversion. Most inbound B2B teams fit here. Turn off automatic company creation in HubSpot; leads have no accounts, and auto-created companies turn into duplicates.
  • Sync as contacts if sales works account-first, most new people belong to accounts you already have, or you sell to existing customers. Keep HubSpot’s company association on so contacts land on the right account.

When a HubSpot contact syncs, the connector looks for a Salesforce lead or contact with the same email and updates it. Only if it finds none does it create a new record of the type you chose.

Built by Gilzor

Results we’ve shipped

70+products launched
98%delivered on time
85%clients come back
Art Scherbakov, Co-FounderAndrew Laminsky, CTOYuri Rudenya, Head of Mobile Development at GilzorAlena Timofeeva, Product Marketing Lead

Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.

See how we’d approach yours

Budget your Salesforce API calls

The connector runs on your Salesforce API allocation, which every other integration shares. According to Salesforce’s limits documentation, an Enterprise Edition org gets 100,000 API requests per 24-hour period plus an amount per user license (1,000 for most full licenses). HubSpot says one contact sync can take up to four API calls per record.

  • Set a ceiling. In the Sync Health tab, the "Allocated to HubSpot" value caps daily usage. "API calls used" shows the last 24 hours.
  • Expect suspension, not failure. If HubSpot hits its allocation, the integration is suspended, and the suspension clears automatically once calls are available again within the rolling 24 hours. Reps see stale data meanwhile.
  • Reduce noise. Big imports, bulk property updates and mass list changes in HubSpot can each trigger thousands of syncs. Schedule them, and keep the inclusion list tight.

Common pitfalls and how to fix them

ProblemWhy it happensFix
Duplicates in SalesforceSeveral leads or contacts share an email, records have no email, or companies are auto-created alongside leadsDuplicate and matching rules in Salesforce, merge before go-live, turn off auto company creation when syncing leads
Wrong record syncsWith duplicate emails in Salesforce, HubSpot syncs with one of them, often the most recently updatedMerge duplicates, then resync the affected contacts
Values flip back and forthA field is Two-way and both a HubSpot workflow and a Salesforce Flow update itOne owner per field. Move the field to Always use Salesforce, or stop one of the automations
Owner errors or blank ownersThe user doesn’t exist in both systems or the emails differ; HubSpot rotation and Salesforce assignment rules both assignMatch users by email, pick one place that assigns owners
Picklist errorsA HubSpot dropdown option doesn’t exist in a restricted Salesforce picklistUse identical internal values, refresh the mapping after Salesforce changes
Lifecycle stage doesn’t update from opportunitiesThe setting can’t move a stage backward, and the contact needs a contact role on the opportunityMake contact roles required in your sales process
Everything syncsNo inclusion list, so students, competitors and spam reach SalesforceInclusion list driven by your hand-off criteria
Sync suspendedAPI allocation used up by a bulk change or another toolRaise the allocation within your limits, schedule bulk jobs
Data that shouldn’t be thereSensitive fields mapped "because we can"Map only what the other team uses; set the rest to Don’t sync

Deletion deserves its own decision. Deleting a HubSpot contact never deletes the Salesforce record. Deleting a Salesforce lead or contact can delete the HubSpot contact if you turn that setting on, which can quietly remove marketing history. Leave it off unless you have a reason.

When the native connector is not enough

The official connector is built for one HubSpot account and one Salesforce org sharing standard CRM objects. Look at other options when:

  • You need custom objects but don’t have HubSpot Enterprise, or your custom objects depend on lookup fields, which the connector can’t map.
  • Logic goes beyond "who wins": calculated values, conditional routing, splitting one record into several, or data that has to pass through an ERP, billing or product database on the way.
  • Several orgs or portals are involved, for example regional Salesforce orgs feeding one HubSpot account.
  • You need audit trails and alerting that a security or finance team will accept, with every failed record logged and retried.
  • API budget is tight and you need batching or change-only syncing that you control.

In practice many teams keep the native connector for contacts, companies and deals, and add an iPaaS recipe or a small custom service for the one flow it can’t handle. A custom integration usually means a service that listens to changes (Salesforce platform events or change data capture, HubSpot webhooks), a queue, mapping and conflict rules in code, retries and monitoring. Our API integration cost guide breaks down where the hours go.

500Field mappings allowed per object in the official connector
$10–40kTypical custom two-way CRM sync build, depending on scope and team region
15–25%Of the build per year to maintain a custom integration

For broader data projects that combine several systems, see the cost of data integration.

Migrating from one to the other is a different project

Some teams search for an integration when they really want to leave one CRM. Moving from Salesforce to HubSpot (or the reverse) means exporting history, rebuilding pipelines, automations, reports and permissions, and retraining people. The connector can help move records, but it won’t move your Flows, validation rules, quotes or reports. Plan it as a migration with its own scope, data mapping and cutover date. If neither tool fits your process, our guide to custom CRM development cost covers the third option.

Go-live checklist

Tick what is true for your setup. It shows how ready you are to switch the sync on in production.

HubSpot Salesforce go-live

FAQ

Does HubSpot integrate with Salesforce?
Yes. HubSpot has an official Salesforce integration that you install from the HubSpot App Marketplace. It syncs HubSpot contacts with Salesforce leads or contacts, companies with accounts, deals with opportunities, and can log HubSpot activities as Salesforce tasks. It is available with HubSpot Professional and Enterprise subscriptions.
Is the HubSpot Salesforce integration free?
The connector is a feature of HubSpot’s paid tiers rather than a separate product, but it is not available on HubSpot’s free or Starter plans. You need a Professional or Enterprise subscription of a HubSpot hub (Marketing, Sales, Service, Content, Data or Smart CRM), and syncing custom objects needs Enterprise. On the Salesforce side, the sync uses part of your daily API allocation, which can matter if other tools already use most of it.
Which Salesforce editions work with HubSpot?
According to HubSpot’s documentation, you need a Salesforce edition with API access, or Salesforce Professional. Group Edition is not supported. The person installing it must be a Salesforce system administrator with API Enabled, Modify All on the objects you want to sync and permission to download AppExchange packages.
Should HubSpot contacts sync as Salesforce leads or contacts?
If your sales team qualifies new people as leads and converts them, sync new HubSpot contacts as leads, and turn off automatic company creation so you don’t get duplicate accounts. If your team works directly with accounts and contacts (common in account-based sales), sync as contacts and let HubSpot associate them with companies. Pick one model and stick with it: switching later creates cleanup work.
How many Salesforce API calls does the HubSpot integration use?
HubSpot says a single contact sync can take up to four API calls per record, and the number varies with your mappings and settings. You set how many calls HubSpot may use per 24 hours in the integration’s Sync Health tab. If HubSpot reaches that allocation, the sync is suspended until more calls are available, so leave room for your other integrations.
Why is HubSpot creating duplicate records in Salesforce?
HubSpot matches records by email address. If Salesforce holds several leads or contacts with the same email, the connector may sync with a different one than you expect, and records without an email can’t be matched at all. Turn on duplicate and matching rules in Salesforce, merge existing duplicates, then resync the affected contacts. Also avoid creating companies automatically when you sync contacts as leads.

Where Gilzor fits

The official connector is the right start for most teams. When you need more, such as custom objects, complex routing or a third system in the flow, Gilzor’s engineers can map the data flow, build the integration and support it after launch. See Gilzor’s Salesforce integration services.

No sales pitch

Get a straight answer for your project

Tell us what you’re building. We’ll reply with options, a rough cost and timeline. If we’re not the right fit, we’ll say so.

Next, a few optional questions so the first call is useful. We use your details only to reply to your request. Privacy Policy

Art Scherbakov
Written byArt Scherbakov

Co-Founder of Gilzor. Works with founders and product companies on how to staff and run engineering: team extension, dedicated teams, and getting stalled projects moving again.

Gilzor · Web Development partner

Need a team for your web product?

95%referred by business partners
70+successful launches
85%repeat business
98%delivered on time

The team behind them

Art Scherbakov
Art ScherbakovCo-Founder
Andrew Laminsky
Andrew LaminskyCTOLinkedIn
Yuri Rudenya
Yuri RudenyaHead of Mobile Development at GilzorLinkedIn
Alena Timofeeva
Alena TimofeevaProduct Marketing LeadLinkedIn
Tell us what you’re buildingOptions, a rough cost and timeline for your project. No commitment.

More insights