---
title: "HubSpot–Salesforce Integration: Setup and Sync Rules"
description: "Connect HubSpot and Salesforce with clear field rules, record matching, inclusion filters, and recovery tests. Compare native sync with managed options."
canonical: https://www.stacksync.com/blog/hubspot-and-salesforce-sync-the-complete-guide-to-bi-directional-integration
last_modified: 2026-09-15
---

# HubSpot–Salesforce Integration: Setup and Sync Rules

Connect HubSpot and Salesforce with clear field rules, record matching, inclusion filters, and recovery tests. Compare native sync with managed options.

Author

Ruben Burdin · Founder & CEO

Published

May 6, 2025

Updated

September 15, 2026

Read time

7 min read

DATA ENGINEERING

## Choose the integration around your sales handoff

HubSpot–Salesforce integration connects marketing and sales records so approved changes move between the two CRMs. The native integration supports bidirectional field rules; a managed platform such as Stacksync is another option when your object coverage, additional systems, or operating requirements call for it. Start by defining which records and fields should move.

For a typical handoff, HubSpot creates or qualifies the marketing contact while Salesforce manages the sales process. That does not mean every field should sync both ways. Decide who owns lifecycle stage, sales owner, account identity, consent-related properties, and opportunity data before enabling writes.

This guide walks through method selection, a mapping example, native setup, Stacksync prerequisites, and recovery tests. Use the [HubSpot–Salesforce pair page](https://www.stacksync.com/integrations/hubspot-and-salesforce) for the product overview and the [mapping workbook](https://www.stacksync.com/blog/two-way-sync-field-mapping-workbook) to record your decisions.

## Native connector, managed sync, or custom code?

| Method | When it fits | What to verify |
| --- | --- | --- |
| HubSpot’s native Salesforce integration | The built-in object model, filtering and field rules meet the handoff | Subscription eligibility, supported objects, matching and initial sync behavior |
| Managed integration such as Stacksync | You need a broader system topology or a different operating model | Actual object permissions, change detection, recovery and field ownership |
| Custom API integration | Requirements justify owning a specialized implementation | Pagination, capture, quotas, retries, identity, tests and ongoing maintenance |

Do not reject the native connector merely because the requirement says “two-way.” [HubSpot documents a Two-way field rule](https://knowledge.hubspot.com/salesforce/map-hubspot-properties-to-salesforce-fields) as well as Salesforce-preferred and disabled-sync options. Choose by the actual fields, relationships, and business rules involved. A simple contact handoff and a multi-system customer-data workflow are different evaluations.

Conversely, a managed connector does not remove configuration decisions. Your team still owns record scope, access approval, field ownership, and acceptance. Use the [same evaluation worksheet](https://www.stacksync.com/blog/integration-evaluation-worksheet) for all approaches so the comparison reflects your workload.

## Define the record model and field owners

Resolve the Salesforce Lead/Contact distinction first. A HubSpot contact is not automatically a one-to-one representation of both Salesforce objects throughout conversion. Record the current Salesforce ID and the conversion behavior you expect, then test a converted lead and an existing contact before a full import.

![Marketing and sales own different customer fields; stable record identities connect the handoff between HubSpot and Salesforce.](https://www.stacksync.com/images/blog-diagrams/hs-sf-field-ownership.webp)

*Marketing and sales own different customer fields; stable record identities connect the handoff between HubSpot and Salesforce.*

| Data | Proposed owner | Acceptance case |
| --- | --- | --- |
| Cross-system record IDs | Integration identity policy | A repeated create or lead conversion does not create a second person |
| Marketing qualification | HubSpot, if that is where qualification is defined | A qualification change reaches the intended sales field |
| Sales owner and opportunity status | Salesforce, if sales operates there | A CRM update does not overwrite the assigned sales process |
| Shared contact details | Explicit shared-field policy | Concurrent phone edits resolve as documented |
| Company relationship | Approved account matching rule | The person is attached to the correct account after conversion |

Illustrative ownership choices. Confirm the exact supported mapping rules and API field names in your setup.

Do not assume field labels are stable identifiers. Compare API names, types, allowed enum values, and whether a property is writable. An “Industry” label in both products can still have different permitted values. Likewise, clearing a field and omitting it from an update can have different meanings.

## Set up the native integration deliberately

Confirm eligibility and access requirements in [HubSpot’s installation guide](https://knowledge.hubspot.com/salesforce/install-the-hubspot-salesforce-integration). Install Salesforce from the HubSpot Marketplace and authorize the intended Salesforce account. After connection, open Salesforce under **Settings → Integrations → Connected Apps**. Work in the Data sync area to review objects, field mappings, and sync rules. Keep a record of the configuration before the initial data movement.

- 01 Select the objects required for the approved sales handoff.
- 02 Match compatible HubSpot properties and Salesforce fields.
- 03 Choose the supported rule for each field; avoid a blanket bidirectional default.
- 04 Set the appropriate inclusion criteria and review the reverse-direction selection behavior.
- 05 Test new, existing, and converted records before expanding the selected set.
- 06 Explicitly resync the records needed to populate newly mapped fields.

Two native behaviors deserve a test: existing values do not retroactively populate merely because a new mapping was created, and the initial sync can establish a Salesforce baseline for a previously unsynced field. See [HubSpot’s mapping rules](https://knowledge.hubspot.com/salesforce/map-hubspot-properties-to-salesforce-fields). Also test inclusion at first pairing rather than assuming it prevents every initial write; [HubSpot documents first-sync exceptions](https://knowledge.hubspot.com/salesforce/create-a-salesforce-inclusion-list).

How often does the native integration sync? [HubSpot documents automatic sync triggers and an approximately 15-minute check for new or updated information](https://knowledge.hubspot.com/salesforce/import-salesforce-records). Actual movement still depends on mappings, scope, API capacity, and record health. Measure the handoff you need rather than treating the check interval as a universal delivery guarantee.

Keep the intended business behavior separate from the available product setting. If a native field has special rules, adapt the design or choose an approach that supports your requirement; do not label an unsupported configuration “done.”

## Connect the pair with Stacksync

Start with a small representative scope. In Stacksync, create the HubSpot connection, choose the account, and authorize it using the required administrator access. The [HubSpot authorization guide](https://docs.stacksync.com/two-way-sync/connectors/hubspot/authorize-hubspot) documents the Super Admin requirement and region selection. Create the Salesforce connection with the intended integration user following [the Salesforce authorization guide](https://docs.stacksync.com/two-way-sync/connectors/salesforce/authorize-salesforce).

Review the objects available to both connections, choose the approved mappings, and validate the initial record matches. Configure only the permitted write directions. Include contacts, companies/accounts, and the relevant relationships in the test rather than proving a single isolated contact field.

![Test a HubSpot-origin change, a Salesforce-origin change, and a simultaneous edit, inspecting identities and the agreed field result.](https://www.stacksync.com/images/blog-diagrams-mermaid/hs-sf-validation-sequence.webp)

*Test a HubSpot-origin change, a Salesforce-origin change, and a simultaneous edit, inspecting identities and the agreed field result.*

Salesforce change detection depends on the connector mode and permissions. Stacksync documents Apex triggers where usable and incremental polling otherwise. Object eligibility also varies. Measure the resulting freshness for your selected objects instead of treating a connector-wide latency claim as a guarantee. [Review Salesforce connector behavior](https://docs.stacksync.com/two-way-sync/connectors/salesforce).

For HubSpot, verify the account’s object access and association requirements. The [HubSpot connector documentation](https://docs.stacksync.com/two-way-sync/connectors/hubspot) lists object availability and account constraints. Supporting an object in the product does not bypass the permissions or subscription restrictions of your account.

Two systems, one record, no batch window

See your own stack synced live. Book a demo with the engineers who built it.

[Book a demo](https://www.stacksync.com/book-a-demo)

## Diagnose the record before rerunning the integration

| Symptom | Investigate first | Safe next step |
| --- | --- | --- |
| Contact is missing | Scope, inclusion criteria, matching and conversion state | Trace one source ID through the configured flow |
| Field stays blank | Mapping creation time, type, permissions and field ownership | Test one permitted write, then perform the documented resync |
| Duplicate person | Existing pair IDs, lead conversion and matching rule | Reconcile identities before enabling more creates |
| Value keeps changing back | Two writers, conflicting ownership or an automation | Assign an owner and test the full update chain |
| Sync is slow | Capture mode, backlog, API capacity and validation failures | Measure the delay stage and address its cause |

Capture the IDs on both sides, the field API name, the expected value, and the observed timestamps. That evidence is more useful than “sync is broken.” Use test records when reproducing a problem, especially if CRM workflows send messages or create downstream tasks.

When a Stacksync record fails, inspect the [Issues dashboard](https://docs.stacksync.com/two-way-sync/features/issues-dashboard) and choose the intended resolution. Retry reads the latest source values; reverting writes destination values back to the source. Check both records afterward and use the [recovery guide](https://www.stacksync.com/blog/two-way-sync-error-handling-retries-replay) for ambiguous or repeated failures.

## Launch with a measurable handoff

Complete a test set covering new contact creation, an existing contact match, lead conversion, a company relationship, an invalid enum, a cleared field, and simultaneous edits. For each case, record the expected owner and destination outcome. Then measure lag during normal activity and an initial-load catch-up period.

Bring the result to the [production-readiness review](https://www.stacksync.com/blog/two-way-sync-production-readiness-checklist). If evaluating Stacksync, [request a HubSpot–Salesforce integration demo](https://www.stacksync.com/book-a-demo) with your selected objects, matching rules, expected volume, and hardest exception. The decision should be based on that working handoff.

Start with one sync and see it hold

Connect two systems, watch a record move both ways, then decide.

[Start syncing](https://app.stacksync.com/)

FAQ

## Frequently asked questions

Can HubSpot and Salesforce sync in both directions?

Yes. HubSpot’s native integration supports a Two-way field rule, and managed platforms can also support bidirectional workflows. Verify object coverage and the rule for each field rather than assuming every field behaves identically.

Why did a newly mapped field not populate existing contacts?

Creating a native HubSpot–Salesforce field mapping does not automatically resync all existing values. Review the documented resync/import procedure and first-sync behavior before applying a bulk update.

How do I prevent duplicates during lead conversion?

Document how HubSpot contacts map to Salesforce leads and contacts, retain the cross-system identifiers, and test lead conversion against existing records before expanding synchronization.

Is Salesforce sync always subsecond with Stacksync?

No universal timing should be assumed. Stacksync documents Salesforce trigger and polling modes; actual freshness depends on object support, permissions, workload, and the selected setup.

About the author

Ruben Burdin

Founder & CEO

Ruben Burdin is the Founder and CEO of Stacksync, the first real-time and two-way sync for enterprise data at scale. Ruben is a Y Combinator alumni with a strong background in software engineering and business.

[All posts by Ruben Burdin](https://www.stacksync.com/blog/author/ruben-burdin)

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Stacksync

## Explore these integrations and topics

- [integration Salesforce and HubSpot integration](https://www.stacksync.com/integrations/hubspot-and-salesforce)
- [connector HubSpot integrations](https://www.stacksync.com/connectors/hubspot)
- [connector Salesforce integrations](https://www.stacksync.com/connectors/salesforce)
- [platform Two-way sync](https://www.stacksync.com/two-way-sync)
- [platform CRM synchronization](https://www.stacksync.com/crm)
- [Two-way sync guides Understand two-way sync, record matching, field ownership, and production readiness.](https://www.stacksync.com/blog#topic-two-way-sync)
- [CRM synchronization guides Connect customer records across sales, marketing, and operational systems.](https://www.stacksync.com/blog#topic-crm-sync)

Keep reading

## Related articles

[All articles](https://www.stacksync.com/blog)

[Data engineering Real-Time HubSpot Database Integration and Salesforce Sync with Stacksync 7 min read read](https://www.stacksync.com/blog/real-time-hubspot-database-integration-and-salesforce-sync-with-stacksync)

[Data engineering Optimize Salesforce HubSpot and NetSuite Shopify Integration Using Stacksync 5 min read read](https://www.stacksync.com/blog/optimize-salesforce-hubspot-and-netsuite-shopify-integration-using-stacksync)

[Revops Acumatica to Salesforce & HubSpot Integration 10 min read read](https://www.stacksync.com/blog/acumatica-salesforce-hubspot-integration)

## You just read how it should work. See it run on your own data.

[Book a demo](https://www.stacksync.com/book-a-demo) [Get started](https://app.stacksync.com/)
