Does HubSpot Integrate With Salesforce?
Quick answer
Yes. HubSpot has a native Salesforce integration that syncs contacts, leads, companies and accounts, deals and opportunities, tickets, custom objects and activities. It needs a Professional or Enterprise HubSpot subscription and a Salesforce edition with API access. Sync rules and field mapping decide which system wins.
Key takeaways
- HubSpot has a native Salesforce integration, installed from the HubSpot Marketplace. It needs a Professional or Enterprise subscription in Marketing, Sales, Service, Data, Content Hub or Smart CRM, plus a Salesforce edition with API access (or Salesforce Professional).
- Records match by email address. HubSpot checks both systems about every 15 minutes, and nothing syncs automatically after install: records move when you import them or a sync trigger fires.
- Each mapped field has a sync rule: Two-way (most recent change wins), Prefer Salesforce unless blank, Always use Salesforce, or Don't sync. Decide which system owns each field before you turn companies, deals and activities on.
- Most failures come from Salesforce validation rules, duplicate rules, field permissions, inactive owners and picklist mismatches. Sync Health shows the error type and lets you resync up to 100 records at a time.
- The native sync is built for standard objects and one Salesforce instance per HubSpot account. Custom objects have no lookup field mapping, so heavy custom-object or multi-org setups are where middleware earns its cost.
You connected HubSpot and Salesforce, or you are about to, and you want to know whether one customer record can live in both without two reps editing it differently. It can. HubSpot has a native Salesforce integration, installed from the HubSpot Marketplace, that keeps contacts, leads, companies, deals and activities in step in both directions. It leaves one decision to you: which system owns each field. Most of this page is about making that call before the sync makes it for you.
Everything below comes from HubSpot’s knowledge base articles on the Salesforce integration, read on October 21, 2026. Where a page did not say something, we say so.
Does HubSpot integrate with Salesforce?
Yes. HubSpot’s own articles describe a two-way sync between HubSpot and Salesforce, set up under Settings, Integrations, Connected Apps, Salesforce. The objects it covers are below.
| HubSpot object | Salesforce object | Notes from HubSpot’s articles |
|---|---|---|
| Contacts | Leads or contacts | On by default and cannot be turned off. Matched by email address |
| Companies | Accounts | Switch on under Data sync, Companies. Matching uses mapped field values such as company domain name |
| Deals | Opportunities | Needs a HubSpot pipeline mapped to a Salesforce opportunity record type |
| Tickets | Cases | Toggle under Data sync |
| Engagements and timeline events | Tasks | Timeline sync is one-way to Salesforce. Activity sync is two-way |
| Custom objects | Custom objects | Set up separately; no lookup field mapping |
| Verdict | Native sync fits standard CRM objects on one Salesforce instance | Custom-object-heavy or multi-org setups need more planning |
Source: HubSpot Knowledge Base, “Manage your Salesforce integration settings”, “Sync deals between HubSpot and Salesforce”, “Sync activities and tasks between HubSpot and Salesforce”, checked Oct 21, 2026.
If you are still choosing between the two systems rather than connecting them, our HubSpot vs Salesforce comparison covers pricing and fit. The CRM integrations guide explains the general options for joining any two CRMs.
How does HubSpot work with Salesforce?
HubSpot matches records between the two systems by email address, then checks both sides for new or changed data about every 15 minutes and triggers a sync if the settings call for one. HubSpot’s sync-triggers article says large imports can take several hours, because the integration spreads the work to protect your Salesforce API usage.
The things that trigger a sync, on the HubSpot side, are a form submission, an email open or click, a meeting, call, note or task on a contact (each needs activity sync on), and a property change on a contact, company or deal. On the Salesforce side they are a changed lead, contact, account or opportunity value, a new lead or contact, a change of ownership in either system, and a lifecycle stage transition if automatic transitions are on. Formula fields are excluded, and removing a lead or contact from a Salesforce campaign does not trigger anything.
One setup detail catches people. Installing the integration does not create your Salesforce leads and contacts in HubSpot. They arrive when you import them or when a sync is triggered. The same goes for the reverse direction after setup: HubSpot’s install article says records do not sync automatically, so plan an import step in your rollout.
On leads versus contacts: whether a HubSpot contact lands as a Salesforce lead or a Salesforce contact depends on the default object you pick for creating records in Salesforce. Salesforce leads have a plain-text Company Name, while contacts point to an account record. That is why HubSpot’s Company name property does not populate a Salesforce contact’s account. Turn on company sync and the account comes across as a HubSpot company instead.
What do you need before you connect HubSpot to Salesforce?
You need a qualifying HubSpot subscription and a Salesforce edition with API access, plus a Salesforce system administrator to be the connected user.
| Requirement | What HubSpot’s install article says |
|---|---|
| HubSpot permissions | Account Access permissions |
| HubSpot subscription | Professional or Enterprise in Marketing, Sales, Service, Data, Content Hub or Smart CRM |
| Salesforce edition | An edition with API access, or Salesforce Professional. Government Cloud is supported. Group Edition is not |
| Connected user | A Salesforce system administrator |
| Profile permissions | API Enabled, View Setup and Configuration, Modify All on the objects you sync, Download AppExchange Packages, and the Task Type field set to Visible |
| Only for the HubSpot Embed window or deal syncing | Modify Metadata (and Customize Application for the Embed window) |
| Verdict | Free and Starter HubSpot tiers fall outside the documented requirements. Check both sides before you book anyone |
Source: HubSpot Knowledge Base, “Install the HubSpot Salesforce integration”, checked Oct 21, 2026.
On the Salesforce edition: HubSpot’s wording is “an edition with API access, or Salesforce Professional.” Salesforce’s developer documentation says API access is on by default in Enterprise, Performance, Unlimited and Developer editions and is an add-on for Professional (we could not open that page directly today, so that wording comes from its search excerpt; confirm with your Salesforce account executive). Check the Salesforce services page if you want a hand with licences and profiles.
How do you set up the HubSpot Salesforce integration?
Install the Salesforce app from the HubSpot Marketplace and log in with your Salesforce admin credentials. The steps from HubSpot’s install article are:
- In HubSpot, click the Marketplace icon in the top navigation bar and choose HubSpot Marketplace.
- Search for the Salesforce app, select it and click Install.
- If you are connecting a sandbox, tick “Yes, this will connect to a sandbox”, then click Install again.
- In the pop-up, enter your Salesforce credentials and click Log In. HubSpot sends you back to the app.
- Open Settings, Integrations, Connected Apps, Salesforce, then the Data sync tab, and set your sync rules, field mappings and inclusion list before you import anything.
To change the connected user later, go to Connected Apps, Salesforce, open Actions and connect a different production user. The new user needs permissions equal to or higher than the old one, in the same production org. Connecting a different production org is a bigger job: HubSpot’s summary says to turn the integration off for about an hour, install the package in the new org and recreate custom mappings, and warns that existing company-to-account and deal-to-opportunity relationships are lost.
For a one-time move of data rather than an ongoing sync, HubSpot points to Smart Transfer instead, and says to turn off its sync connections first if you used it earlier, to avoid duplicates. If that is your situation, our Salesforce migration guide and HubSpot migration guide cover the moving part.
Does the HubSpot Salesforce integration cost extra?
HubSpot’s integration page and install article state no separate price for the connector. We read both and found no per-seat or per-sync fee on either, though the integration page names no plan at all and only says it is available in more than one HubSpot product. Several third-party guides call the connector free; we did not find HubSpot saying so in those words, so we are not repeating it as fact.
The costs you can point to are these:
- The HubSpot subscription that qualifies you, at Professional or Enterprise. Our HubSpot pricing calculator and the HubSpot pricing and limits research show current tiers.
- The Salesforce licences and, if you are on Professional, the API add-on. The Salesforce pricing calculator helps with seat costs.
- Salesforce API calls. HubSpot says daily API call limits apply and that one contact sync can use up to four calls per record. Large databases can burn through an allowance, so look at the limits on both sides in our CRM API rate limits comparison.
- Admin time for mapping, cleanup and testing. The consultant fee for a connection depends on how much cleanup the two databases need; we quote per project after a call.
You can cap HubSpot’s share of your Salesforce API allowance. In Sync Health, the API call use section shows calls used in the last 24 hours and a field called “Allocated to HubSpot” that you can change.
How does HubSpot Salesforce field mapping and sync direction work?
Each mapped field has a sync rule, and that rule decides which system wins. HubSpot’s field mapping article lists four:
- Two-way: the most recent change wins, and deletions sync in both directions.
- Prefer Salesforce unless blank: HubSpot sends a value only when Salesforce has none. Salesforce values overwrite HubSpot, including deletions.
- Always use Salesforce: HubSpot never sends data to Salesforce for that field.
- Don’t sync: nothing passes between the systems.
A few rules in that article bite in practice. Existing values in a newly created mapping do not sync retroactively. For a contact with no sync history on a mapped field, the first sync takes the Salesforce value as the baseline, which can overwrite a newer HubSpot value. The Owner mapping supports only two-way sync, and owner values must match exactly in both systems. Standard mappings cannot be deleted, so you stop one by setting it to Don’t sync. Avoid mapping one HubSpot property to several Salesforce fields, because overlapping mappings can overwrite values or create sync loops. You get 500 field mappings per object.
To add a mapping, go to Data sync, open the object tab, click Property mappings, then Add new field mapping, choose the HubSpot property and the Salesforce field, pick a rule and save. Types must be compatible: a single-line text property maps to a Salesforce string or textarea, a dropdown to a picklist or reference, a single checkbox to a boolean, a date picker to a date or datetime. Custom HubSpot properties of the user field type cannot be mapped.
Who owns which field?
HubSpot does not publish an ownership list; the table below is our suggested starting point, built from the sync rules above. Adjust it to your process and agree it with sales and marketing before you map anything.
| Field | Suggested owner | Rule to set | Why |
|---|---|---|---|
| Owner (rep) | Salesforce | Two-way (the only option for this mapping) | Owner values must match exactly in both systems |
| Name, phone, title on a lead or contact | Salesforce once sales touches it | Prefer Salesforce unless blank | Marketing can fill blanks, reps correct them |
| Email address | Whichever system created the record | Keep the default mapping | Records match on email, so changes here can pair or unpair records |
| Lifecycle stage | HubSpot, nudged by Salesforce | Optional setting that updates it when the opportunity stage changes | HubSpot will not move a stage backward, and the Salesforce contact needs a contact role on the opportunity |
| Lead score | HubSpot | HubSpot to Salesforce | HubSpot’s integration page lists lead scores as synced from HubSpot to Salesforce |
| Opportunity amount, stage, close date | Salesforce | Prefer Salesforce, or two-way at the object level | These are the documented standard deal mappings: Owner, Close date, Name, Type, Description, Amount and Stage |
| Company domain | The system you trust for deduplication | The mapped field used for company matching | Companies dedupe on mapped field values, and the values must be identical |
| Email opt-out | Decide before first sync | Review the mapping before the first sync | A contact outside an inclusion list does not get its email opt-out synced until it first syncs |
Source: field rules from HubSpot Knowledge Base articles on field mapping, deal sync, settings and the Salesforce integration page, checked Oct 21, 2026. The “suggested owner” column is our recommendation, not a HubSpot statement.
How do you limit which records sync?
Use an inclusion list for HubSpot records, and selective sync for Salesforce records. Under Data sync, open the object, choose Sync rules and find “Limiting what syncs”. Pick an active segment or click “+ Create Inclusion List”. Only active segments work, because they update as records meet or stop meeting the criteria. HubSpot’s inclusion list article says it works with contacts, tickets, custom objects, and with companies and deals after you upgrade to the new company and deal syncs.
Four details from that article matter. Records outside the segment do not sync. If Salesforce leads or contacts are set to create HubSpot contacts, a contact can still be created or deduplicated outside the segment, and later updates wait until it meets the criteria. Selecting a segment does not sync its members, so trigger a sync or manually resync the segment (a manual resync needs at least the segment size times three API calls in Salesforce, and Marketing Hub Professional or Enterprise). On a first sync, mapped fields can update Salesforce before HubSpot has evaluated the segment, since the HubSpot record may not exist yet.
Selective sync is the other direction. It limits which Salesforce records come into HubSpot, with multiple filters combined by AND, and is available for custom objects, tickets, companies, deals and activities.
How do deals, companies and activities sync?
Deals, companies and activities each have their own switch, and each has a catch worth knowing before you turn it on.
Deals sync with opportunities once you map a HubSpot pipeline to a Salesforce opportunity record type. HubSpot’s deal sync article says only deals in mapped pipelines are eligible. Turn it on under Feature discovery with the New Deal Sync card, or under Data sync, Deals. Deleting a Salesforce opportunity can remove the deal, but deleting a HubSpot deal does not delete the opportunity. In multi-currency Salesforce orgs only the numeric amount syncs, with no exchange rates applied. The number of pipelines you can sync depends on your Sales Hub subscription.
Companies sync with accounts. Company sync has to be on for accounts and opportunities to associate correctly. If a deal syncs from Salesforce while company sync is off, the company is not associated with the deal, and turning company sync on later after opportunity sync can remove the account association. Company and deal merges in HubSpot do not merge records in Salesforce.
Activities come in two kinds. Timeline sync is one-way, from HubSpot to Salesforce, and turns events such as form submissions, email sends, opens and clicks, meetings, calls, notes, content views and tasks into Salesforce tasks. It has windows: marketing email events only if they happened within 30 days of the contact syncing, form submissions only within one year, and each marketing email open or click can create its own Salesforce task. Activity sync is two-way for tasks, sales emails, calls and meetings, installed from the Feature discovery tab. Where both are on for the same event type, Activity sync overrides Timeline sync. Details are in HubSpot’s activity sync article, listed under Sources.
Upgrading to the new company or deal sync cannot be reverted, and HubSpot recommends testing in a sandbox first. Both can raise Salesforce API usage for a while as records are indexed.
What are the HubSpot Salesforce sync limits?
These are the limits HubSpot’s pages state, with the page each comes from.
| Limit | Value | Page |
|---|---|---|
| Sync interval | About every 15 minutes; large imports can take several hours | Sync triggers |
| API calls per contact sync | Up to four per record | Install |
| Salesforce instances per HubSpot account | One | Install |
| Field mappings per object | 500 | Field mapping |
| Bulk resync of company or account mappings | Not more than 200,000 companies at once | Field mapping |
| Errors you can resync at once | Up to 100 | Sync errors |
| Marketing email events in timeline sync | Within 30 days of the contact syncing | Activity sync |
| Form submissions in timeline sync | Within one year of the contact syncing | Activity sync |
| Verdict | Fine for most standard setups | Large databases need an API budget before go-live |
Source: HubSpot Knowledge Base articles named in the right-hand column, checked Oct 21, 2026. HubSpot’s pages give no records-per-minute rate and no daily API cap number; the cap comes from your Salesforce edition.
If you connect several HubSpot accounts to the same Salesforce org, HubSpot says to install the integration in each one and to pick “Don’t automatically create HubSpot contacts” for the Creating contacts in HubSpot setting.
Why is the HubSpot Salesforce sync failing?
Open Sync Health and read the error type. Go to Settings, Integrations, Connected Apps, Salesforce, Data sync, Sync Health. The Sync errors section shows a card per error type with the number of affected records. Click a card to see the errors, click the record count and choose Actions, then “Create a temporary view of HubSpot records” to filter them, or use “Export errors (CSV)”. After fixing a cause, tick the records and click Resync. You can also turn on notifications (instantly, daily or weekly) under Manage notifications.
| What you see | Cause | Fix |
|---|---|---|
| “Email already in use” | The email already sits on another HubSpot contact | Remove it from that contact |
| “Salesforce duplicate rule” | A Salesforce deduplication rule blocks the record | Admin reviews matching rules, merges or edits the conflicting records, or adjusts the rule, then resync |
| “Salesforce field permission” | The integration user lacks Read and Edit access to the field | Grant field-level access to the connected user |
| “Insufficient Salesforce access” | The integration user’s permissions do not allow the action | Raise the connected user’s permissions |
| Custom Code errors (Salesforce automation, validation rule, flow) | Salesforce logic blocks the write | A Salesforce admin fixes the logic |
| “Type mismatch” | HubSpot property and Salesforce field types are incompatible, or one no longer exists | Remap to a compatible pair or remove the mapping |
| “String too long” | The value exceeds the Salesforce field length | Shorten the value or raise the field’s character limit |
| “Waiting for account to sync” | The related Salesforce account has not synced to a HubSpot company | Import Salesforce accounts |
| “Association limit reached” | Associated records hit HubSpot’s association limit | Remove associations or link a different Salesforce record |
| Inactive Salesforce owner (Picklists) | The record belongs to an inactive user | Reassign it to an active Salesforce user |
| Restricted picklist value | Salesforce restricts the field to listed values | Turn off value restriction or add the value |
| “An unknown Salesforce duplicate error occurred: Duplicate id specified.” | Lead ID or Contact ID fields were mapped to HubSpot properties | Remove those custom mappings; the integration manages these IDs |
| Task type data error on activities | The Task Type field is hidden from some profiles | Make Type visible to all profiles by field-level security, then add it to the Task Page Layout |
| Connection fails | “Enforce IP Restrictions on Every Request” is on in Salesforce | Configure a network IP range, because HubSpot’s dynamic IPs cannot be allowlisted |
Source: HubSpot Knowledge Base, Resolve Salesforce integration sync errors, “Sync activities and tasks between HubSpot and Salesforce” and “Install the HubSpot Salesforce integration”, checked Oct 21, 2026.
Duplicates are the cause we would check first, because they sit upstream of several of these errors. Clean both databases before the first sync: our data cleaning guide lists the checks, and how to find and merge duplicate contacts in HubSpot covers the HubSpot side.
Can HubSpot sync Salesforce custom objects?
Yes, through custom object sync, with a few constraints. HubSpot’s custom object article says it is available on Enterprise tiers of Marketing, Sales, Service, Data, Content Hub or Smart CRM. Create the custom object in HubSpot first, with at least one required field, and have any associated objects already syncing (company sync must be on to associate accounts with custom objects). Then on the Data sync tab click “+ Sync custom object”, map the objects, set sync rules including the app that resolves conflicts, configure associations, map fields, review the preview and turn on continual sync.
What it cannot do, per the same article: map Salesforce lookup fields on custom objects (use the association setting instead), sync one custom object to both Salesforce contacts and leads, and trigger a sync when a Salesforce record is removed from a campaign. The article states no maximum number of custom objects. If your Salesforce build leans on lookups between custom objects, that is the point where you should look at the next section.
When is middleware better than the native integration?
Middleware is the better choice when your data does not fit what the native app documents. In our view that means a few cases:
- You need one HubSpot account connected to more than one Salesforce org. HubSpot says each account connects to one instance.
- Your model depends on lookup relationships between Salesforce custom objects.
- You need transformations or conditional logic that a field mapping with four sync rules cannot express.
- Your HubSpot subscription sits below Professional, so the native app is not available.
Otherwise start native. It is maintained by HubSpot, it shows errors in Sync Health, and there is no extra platform to pay for. Middleware adds its own task or record limits and its own failure points, and you take on the field-ownership and loop-prevention decisions that the native sync already handles for standard objects. Our CRM integrations guide compares the routes, and the monday.com Salesforce page shows what a paid add-on sync looks like on another platform.
HubSpot or Salesforce for marketing?
If marketing automation is your main reason for HubSpot, the integration is how teams usually keep it next to Salesforce. HubSpot’s integration page lists lead scores and lead activity such as email opens, form submissions and website activity as syncing into Salesforce, which is the handoff most marketing teams need. We have not benchmarked the two on marketing features, so we leave the feature-by-feature answer to the HubSpot vs Salesforce comparison. If you are choosing which one to keep, the cost of running both is the two subscriptions plus the sync upkeep described above.
When to get help
A single admin connecting a clean sandbox needs no help. Bring someone in when both databases have years of duplicates, when you are mapping deals and custom objects, or when sales and marketing disagree about who owns lifecycle stage. Our HubSpot implementation service and Salesforce implementation service cover both sides of the connection, and you can describe your setup on the contact page. If the real question is which CRM to keep, start with how to choose a CRM.
Founder’s note, Alpit Patel. The sync itself is easy to switch on. Deciding which system owns each field is the real work, and I’d settle that on paper before turning anything on. I founded aibrevo in San Francisco in 2021, and through autoesta I have overseen 320+ GoHighLevel implementation projects across med spas, real estate, healthcare, dental, home services, SaaS and professional-services clients in the US, UK and UAE. About Alpit
Sources
- HubSpot Knowledge Base, Install the HubSpot Salesforce integration, checked October 21, 2026.
- HubSpot Knowledge Base, Manage your Salesforce integration settings, checked October 21, 2026.
- HubSpot Knowledge Base, Map HubSpot properties to Salesforce fields, checked October 21, 2026.
- HubSpot Knowledge Base, Create a Salesforce inclusion list, checked October 21, 2026.
- HubSpot Knowledge Base, Salesforce integration sync triggers, checked October 21, 2026.
- HubSpot Knowledge Base, Resolve Salesforce integration sync errors, checked October 21, 2026.
- HubSpot Knowledge Base, Sync activities and tasks between HubSpot and Salesforce, checked October 21, 2026.
- HubSpot Knowledge Base, Sync deals between HubSpot and Salesforce, checked October 21, 2026.
- HubSpot Knowledge Base, Use the new company sync between HubSpot and Salesforce, checked October 21, 2026.
- HubSpot Knowledge Base, Set up and use Salesforce custom object sync, checked October 21, 2026.
- HubSpot Knowledge Base, Sync Salesforce leads and contacts to HubSpot, checked October 21, 2026.
- HubSpot Knowledge Base, Adjust your Salesforce API call limit, checked October 21, 2026.
- HubSpot, Salesforce integration page, checked October 21, 2026.
- Salesforce Developers, Supported Editions and Required Permissions, excerpt checked October 21, 2026 (the page returned 403 to a direct fetch).