Skip to content

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
Updated
Read time
7 min read
HubSpot–Salesforce Integration: Setup and Sync Rules
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 for the product overview and the mapping workbook to record your decisions.

Native connector, managed sync, or custom code?

MethodWhen it fitsWhat to verify
HubSpot’s native Salesforce integrationThe built-in object model, filtering and field rules meet the handoffSubscription eligibility, supported objects, matching and initial sync behavior
Managed integration such as StacksyncYou need a broader system topology or a different operating modelActual object permissions, change detection, recovery and field ownership
Custom API integrationRequirements justify owning a specialized implementationPagination, 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 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 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.
Marketing and sales own different customer fields; stable record identities connect the handoff between HubSpot and Salesforce.
DataProposed ownerAcceptance case
Cross-system record IDsIntegration identity policyA repeated create or lead conversion does not create a second person
Marketing qualificationHubSpot, if that is where qualification is definedA qualification change reaches the intended sales field
Sales owner and opportunity statusSalesforce, if sales operates thereA CRM update does not overwrite the assigned sales process
Shared contact detailsExplicit shared-field policyConcurrent phone edits resolve as documented
Company relationshipApproved account matching ruleThe 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. 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.

  • 01Select the objects required for the approved sales handoff.
  • 02Match compatible HubSpot properties and Salesforce fields.
  • 03Choose the supported rule for each field; avoid a blanket bidirectional default.
  • 04Set the appropriate inclusion criteria and review the reverse-direction selection behavior.
  • 05Test new, existing, and converted records before expanding the selected set.
  • 06Explicitly 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. Also test inclusion at first pairing rather than assuming it prevents every initial write; HubSpot documents first-sync exceptions.

How often does the native integration sync? HubSpot documents automatic sync triggers and an approximately 15-minute check for new or updated information. 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 documents the Super Admin requirement and region selection. Create the Salesforce connection with the intended integration user following the Salesforce authorization guide.

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.
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.

For HubSpot, verify the account’s object access and association requirements. The HubSpot connector documentation 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

Diagnose the record before rerunning the integration

SymptomInvestigate firstSafe next step
Contact is missingScope, inclusion criteria, matching and conversion stateTrace one source ID through the configured flow
Field stays blankMapping creation time, type, permissions and field ownershipTest one permitted write, then perform the documented resync
Duplicate personExisting pair IDs, lead conversion and matching ruleReconcile identities before enabling more creates
Value keeps changing backTwo writers, conflicting ownership or an automationAssign an owner and test the full update chain
Sync is slowCapture mode, backlog, API capacity and validation failuresMeasure 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 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 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. If evaluating Stacksync, request a HubSpot–Salesforce integration 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

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
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

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.

Coworkers laughing in front of a laptop in a casual office setting

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