HubSpot Salesforce Integration: How to Get the Best of Both
Most HubSpot-Salesforce integrations are set up too fast, without a clear architecture, and without alignment on who owns what. Here's the full playbook — prerequisites, design decisions, implementation phases, and what to watch after launch.
A HubSpot-Salesforce integration done right creates a single, consistent data environment where marketing and sales operate from the same records, the same definitions, and the same reporting. Leads move from HubSpot to Salesforce without delay. Opportunities sync back with attribution intact. Leadership gets pipeline numbers they can trust.
A HubSpot-Salesforce integration done wrong creates a different kind of single environment, one where both systems have data, neither system has the right data, and every report requires a thirty-minute reconciliation before anyone trusts the numbers.
The difference between those two outcomes is almost entirely determined by the decisions made before any configuration begins: the architecture, the alignment, the prerequisites, and the governance model. This guide covers all of it.
What this integration actually solves
Before getting into the how, it's worth being precise about the why. The HubSpot-Salesforce integration solves four specific operational problems that appear in almost every company running both platforms.
Data fragmentation. Marketing and sales manage contacts, lifecycle stages, and definitions differently. Without a structured integration, the same person exists as different records with different histories in each system. Attribution breaks. Reporting conflicts. Neither team trusts the other's numbers.
Broken or slow lead handoff. Without a structured sync and routing logic, inbound leads get delayed, duplicated, or arrive in Salesforce without the marketing context a rep needs to have a useful first conversation.
Manual operations. Teams export from HubSpot, import to Salesforce, reconcile spreadsheets, and debate which system has the "real" version of a field. Every hour spent on this is an hour not spent on pipeline.
Inconsistent reporting. HubSpot says 47 MQLs. Salesforce says 22. The forty-five minute meeting that follows is the most expensive symptom of a broken integration, and it happens at the worst possible time, right before a board meeting or a quarterly review.
When the integration is built correctly, these problems disappear. When it's built incorrectly, they compound.
When to implement
Timing matters. This project should be completed before,not after, any of the following:
- Technical updates to lifecycle stages or lead management processes
- Launching attribution reporting
- Implementing lead routing or territory assignments
- Building advanced automations or marketing nurture sequences
- Migrating any systems into Salesforce or HubSpot
If any of those initiatives are already in progress, the integration project needs to happen first. Building automations on top of an unintegrated or incorrectly integrated system means rebuilding them later.
The right trigger for this project is usually one of these signals: marketing generates leads that sales claims it never received; opportunities in Salesforce don't reflect attribution or lifecycle data from HubSpot; sync errors are appearing regularly; duplicates are increasing and causing rep confusion; or the company is about to scale and leadership needs unified reporting before headcount grows.
Prerequisites
Rushing into implementation without these in place produces rework. Every one of them matters.
Technical readiness
HubSpot Professional or Enterprise is required — the native Salesforce connector is not available on Starter. Salesforce Professional or Enterprise with API access enabled. A dedicated Salesforce integration user with correct permissions (covered in detail later in this guide). A stable Salesforce sandbox environment for testing before any production changes.
Data readiness
At least 80% clean data before integration begins. Significant duplicate records or unstructured data will multiply when the sync starts, what was one mess becomes two connected messes. Before the build, remove duplicates, standardize field values, and confirm required fields are understood across both systems.
Clear and agreed-upon definitions for lifecycle stages, lead statuses, and qualification criteria. If marketing and sales define an MQL differently, no integration architecture will resolve that, it's a people problem that has to be solved before it becomes a systems problem.
Agreement on which platform is the system of record for key objects: contacts, companies, and deals. This is the single most important alignment decision before configuration begins.
Operational readiness
Alignment across Sales, Marketing, and RevOps before the build starts. These teams have to agree on definitions, handoff criteria, and reporting standards. An integration built without this alignment will be immediately contested by at least one team.
A completed field-mapping spreadsheet before any connector configuration begins. This document defines every object to sync, every field to map, the sync direction for each field, and the conflict resolution rule when both systems have a value. Without this document, connector configuration becomes guesswork.
API readiness
Knowledge of your daily Salesforce API limits and how much of that budget the integration will consume, especially in high-volume environments or orgs with multiple connected tools. Other integrations (enrichment tools, engagement platforms, billing systems) also consume API calls. The HubSpot-Salesforce connector needs a stable API budget to sync reliably.
Architecture decisions before you build
The field-mapping spreadsheet is important. The architecture decisions that sit above it are more important. These are the choices that determine whether the integration scales or breaks.
Choosing your operating model
Most companies running HubSpot and Salesforce operate under one of three models. Understanding the tradeoffs before you configure the connector prevents the most common structural mistakes.
HubSpot-centric model. HubSpot owns the pre-pipeline lifecycle — lead capture, marketing qualification, nurture, attribution. Salesforce receives SQL-ready records and manages the sales process from there. This model is faster to iterate, simpler for marketing-led or SMB sales motions, and has lower operational overhead early on. The tradeoff: Salesforce reports miss early marketing context unless the integration is carefully configured to pass it through, and the model gets harder to manage as sales complexity increases.
Salesforce-centric model. Contact creation can still begin in HubSpot, but Salesforce is the primary CRM and source of truth for accounts, ownership, and opportunities. Marketing feeds data into Salesforce; Salesforce is where revenue is tracked, forecast, and reported. This model offers stronger data governance, better scalability, and more powerful reporting across the full lifecycle. The tradeoff: more upfront implementation effort, slower iteration, and more coordination required between sales and marketing ops.
Hybrid model. HubSpot handles top-of-funnel engagement while Salesforce manages pipeline and forecasting, but some teams or business units may still work primarily out of HubSpot. This model offers flexibility for different teams or regions and is particularly useful during transitions — new products, acquisitions, or growth periods where one model hasn't been formally adopted. The tradeoff: highest operational complexity, highest risk of data confusion, and the most demanding governance requirements.
The right model depends on who leads revenue in your organization, how complex the sales process is, how fast you need to move, and how large you plan to grow.
Key architecture questions to answer before configuration
These decisions need to be documented and agreed upon by Sales, Marketing, and RevOps before the connector is configured. Answering them after the build produces expensive rework.
At what specific point should a record move from HubSpot to Salesforce — form submission, MQL status, lead score threshold, or something else? This single decision determines your inclusion list logic, your routing rules, and your lifecycle stage automation.
Which system is the source of truth for basic contact information — email, phone, job title? If a rep updates a phone number in Salesforce and a lead submits a form with a different number in HubSpot, which value wins?
Are there protected fields in Salesforce that HubSpot should never overwrite — original lead source, deal owner, contract dates? These need to be identified before field-level sync rules are configured.
Which marketing activities actually help a salesperson close a deal? Email opens, form submissions, pricing page visits, and demo requests have very different value to a rep. Syncing everything creates noise. Syncing only high-intent activities creates context. This decision also has significant storage implications in Salesforce.
How do you handle existing closed-lost leads in Salesforce that re-engage in HubSpot? Should they be re-assigned, stay with the original owner, or follow a different path?
The KPIs this integration directly affects
When the integration is working correctly, these metrics improve measurably:
MQL-to-SQL conversion rate improves because alignment reduces leakage between marketing and sales handoffs. Lead response time drops from hours or days to minutes when routing is automated and sync is reliable. Attribution accuracy increases when campaigns can be traced through to revenue in a unified dataset. Pipeline velocity improves when deal stages are consistently defined and consistently tracked. Sales cycle length shortens when reps arrive at conversations with full marketing context rather than calling cold into accounts marketing has already been warming.
If these metrics aren't improving after the integration goes live, the integration isn't working correctly — regardless of what the sync health dashboard shows.
Phase 1: Discovery and alignment
Stakeholder kickoff and requirements gathering
The first phase is alignment, not configuration. Bring all department heads together — Sales, Marketing, RevOps — to agree on integration goals, timeline, and definition of success before anyone touches the systems.
The questions that need answers in this phase: How are lifecycle stages currently used in HubSpot, and how do they map to Lead Status and Opportunity Stages in Salesforce? Which fields must sync from HubSpot to Salesforce? Which must sync from Salesforce to HubSpot? What triggers lead assignment and routing today? Walk through the current "happy path" for a new inbound lead from form submission to closed deal — does it actually work the way everyone thinks it does?
Systems audit and data hygiene
Before building the future-state architecture, understand the current state. Assess existing Salesforce and HubSpot configurations — validation rules, required fields, workflows, approval processes — to surface conflicts, circular updates, or automation that could block or corrupt data during integration.
Evaluate all fields planned for mapping: are they actively used, consistently populated, clearly owned? Identify unused, overloaded, or ambiguously populated fields that will introduce noise into the sync.
Compare picklists across both systems to detect mismatches — Country, Industry, Lifecycle Stage, Lead Status. Define standard values and normalization rules before any sync rules are configured. A picklist mismatch that's discovered during testing costs a day to fix. One discovered in production costs a week.
Document required cleanup steps and complete them before the build begins. A sync built on dirty data syncs dirty data into a second system. Clean first, integrate second.
Architecture and flow design
Document how a lead currently moves from first touch in HubSpot to a closed deal in Salesforce. This current-state map almost always reveals gaps and handoff failures that nobody knew existed — because the process had never been written down before.
Then design the future-state architecture. Define specifically: which objects flow bidirectionally versus unidirectionally, how record ownership is assigned and synced between systems, how lifecycle stages map between platforms, and what the routing logic looks like for different lead types.
Get formal sign-off on this architecture from all stakeholders before moving into Phase 2. Changes to the architecture after configuration begins are expensive. Changes after go-live are more expensive.
Special consideration: activity syncing
Activity sync deserves its own section because it's the decision with the largest hidden cost if made incorrectly.
HubSpot activities — emails sent, meetings booked, form submissions, page visits — sync to Salesforce as Completed Tasks. This creates visibility for sales reps who live in Salesforce. It also creates a significant Salesforce storage consumption problem if configured without care.
In high-volume environments, syncing every marketing email open or automated workflow trigger can rapidly exhaust Salesforce data storage limits. Storage overages are expensive and complicated to remediate.
The right approach: sync only high-value activities that a rep would actually use — booked meetings, sales emails, form submissions, high-intent page visits. Not every automated marketing touchpoint.
Technical note: if you're using HubSpot's newer activity sync, verify that the API names of your Task Status picklist values in Salesforce match the values the HubSpot connector expects. Mismatched API names are a primary cause of activity sync failure that doesn't produce an obvious error message.
Phase 2: Implementation and technical build
Integration user setup
Create a dedicated Salesforce integration user before installing the connector. This user's credentials are what HubSpot uses to authenticate every sync operation. Using a personal user account is a common mistake — when that person leaves the company, the sync breaks.
The integration user needs the following at minimum:
System permissions: API Enabled (required for HubSpot to connect to the Salesforce API), View Setup and Configuration, Modify Metadata (required if you use the HubSpot Visualforce embed on Lead/Contact layouts), Password Never Expires (if the password expires, the entire sync breaks until it's updated in HubSpot).
Object-level permissions: Full Read/Create/Edit/Delete access on Leads, Contacts, Accounts, Opportunities, Tasks, and Campaigns. View All and Modify All are often required to bypass private sharing models and ensure HubSpot can see all records it needs to update.
Field-level security: Read and Edit access on every specific field being mapped. This needs to be updated every time a new field is added to the sync — it doesn't update automatically.
Activity sync specifics: Ensure the Type field on the Task object is visible to the integration user. Verify that Task Status picklist values in Salesforce match the API names expected by the HubSpot connector.
Connector configuration
Install the HubSpot-Salesforce connector from the HubSpot App Marketplace and authenticate using the integration user's credentials.
The connector settings that matter most:
Selective sync and inclusion lists. Any Salesforce record visible to the integration user will flow to HubSpot automatically. HubSpot records will only sync to Salesforce if they are members of a designated Inclusion List — an active list in HubSpot. Define your inclusion criteria carefully. This list controls which HubSpot contacts enter Salesforce and when.
The contact anchor. The sync is contact-centric. If a Contact isn't syncing, its associated Account and Opportunity will not sync either. Troubleshoot at the Contact level first.
Record creation: Leads vs. Contacts. Decide whether new HubSpot contacts should enter Salesforce as Leads or be matched to existing Contacts. This decision depends on your sales process and how your Salesforce org uses the Lead object. Both approaches have tradeoffs — Leads provide a pre-conversion staging area, but they can't be associated with Accounts, which creates reporting gaps.
Auto-create Companies. Consider turning off HubSpot's automatic Company creation if Salesforce is the system of record for Accounts. If both systems are creating Company/Account records independently, duplicates accumulate quickly.
Deletion policy. Determine whether deleting a record in Salesforce should delete it in HubSpot. Standard practice: keep deletions separate to preserve historical marketing data. A contact deleted from Salesforce because they converted may still be relevant for attribution reporting in HubSpot.
Data architecture and field mapping
Finalize the integration matrix — every field mapping with its sync direction (HubSpot wins, Salesforce wins, or always use most recent) and its conflict resolution rule.
Build any custom fields required in either system. Standardize picklist values before enabling sync. A value that exists in HubSpot but not in Salesforce's picklist will block every record carrying that value from syncing.
Technical constraint worth noting: the current native connector is built on an older Salesforce API version (v45). This creates limitations with highly complex or newer Salesforce features and non-standard objects. Build your architecture assuming these limitations will remain for the foreseeable future — HubSpot is working on a revamped sync engine, but it is not imminent.
Lifecycle logic and automation build
Build Salesforce Flows and HubSpot Workflows to handle lifecycle stage transitions and lead routing. These automations are what make the integration operationally useful — without them, records sync between systems but nothing happens automatically when they arrive.
Configure deduplication logic before the sync goes live. Email-based matching is the standard approach. Define which record is the master when a duplicate is detected, and what happens to the non-master record.
Migration
Design the migration strategy for existing Contacts, Companies, and Deals before the connector goes live. Import accounts and companies first, then contacts, then deals and opportunities, then activities. Validate record counts, field mapping accuracy, and relationship integrity after each import phase.
A migration is also an opportunity to clean data that wasn't addressed in the pre-build hygiene phase. Don't carry over records you don't need.
UAT: two rounds
User acceptance testing should happen in two rounds before production go-live.
Round 1 — Validation: Department heads verify that data is mapping to the correct fields, that lifecycle stage transitions fire correctly, and that routing logic assigns records as expected.
Round 2 — Simulation: End-users simulate real-world scenarios. Reps create leads, move deals through stages, log activities. This round surfaces edge cases and workflow friction that leadership-level testing never catches — because the people doing it aren't the people who use the system every day.
Both rounds must pass before the production push.
Phase 3: Enablement and go-live
Documentation and training
Deliver role-based training before go-live — not a generic CRM overview, but specific guidance for each team on how their daily workflows changed and what they need to do differently. SDRs need to know how leads arrive and what the routing logic means for their queue. AEs need to know how to read the HubSpot engagement data now visible on their Salesforce records. Managers need to know where the new dashboards are and what the numbers mean.
Recorded walkthroughs and reference documentation should be available on day one. The questions that come in during the first two weeks are always the same questions — documentation reduces the support burden and increases adoption speed.
Production push
Back up data in both systems immediately before the production push. This is non-negotiable. A backup that takes thirty minutes to create can save days of remediation if something goes wrong.
Push configuration changes to production. Monitor the sync behavior immediately after go-live — the first hour of a production sync reveals issues that didn't appear in UAT.
Post-launch monitoring
Monitor the Sync Errors page in HubSpot daily for the first two weeks. New errors that appear in the first few weeks are almost always edge cases that UAT didn't cover — catch and resolve them before they compound.
If a record isn't syncing and the error message doesn't explain why, contact HubSpot Support. They have access to internal logs that show whether a record was skipped or queued in a way that doesn't appear in the UI.
Ongoing maintenance cadence after go-live:
- Daily/weekly: sync error review and resolution
- Monthly: field mapping validation, user feedback collection, adoption metric review
- Quarterly: full sync audit covering field mappings, user behavior, data quality trends
- Annually: architecture review to assess whether the current model still fits the business
Common problems and how to prevent them
Duplicate explosion. Cause: sync enabled before deduplication logic is configured. Prevention: define source-of-truth rules, standardize fields, and implement deduplication before enabling the sync.
Salesforce validation rules blocking the sync. Cause: validation rules written for human data entry blocking API writes from the integration user. Prevention: audit all validation rules in Phase 1 and add integration user bypass conditions before the build begins.
Lifecycle stage conflicts. Cause: marketing and sales using different lifecycle definitions that were never reconciled. Prevention: agree on a shared lifecycle framework in Phase 1 before building any automation.
Stakeholder misalignment surfacing after go-live. Cause: architecture decisions made by RevOps without explicit sign-off from Sales and Marketing. Prevention: formal sign-off gates at the end of Phase 1 and Phase 2.
Resistance to adoption. Cause: end users not involved until after the build is complete. Prevention: include sales reps in UAT Round 2, communicate changes clearly before go-live, and make the benefit to their daily workflow explicit in training.




