Direct Answer: HubSpot Salesforce Integration at a Glance
The native HubSpot-Salesforce connector is a bidirectional data sync running every 10–15 minutes, mapping contacts, companies, deals, and activities between both systems using configurable field-level rules. HubSpot functions as the marketing database; Salesforce is the sales system of record. Not all records sync automatically, an Inclusion List controls which HubSpot contacts enter Salesforce. Best suited for B2B companies with 50–500 employees and separate marketing and sales teams.
How Does HubSpot Salesforce Integration Work?
The native HubSpot-Salesforce connector is a bidirectional data sync that runs every 10–15 minutes. It maps contacts, companies, deals/opportunities, and activities between the two systems using configurable field-level rules. HubSpot acts as the marketing database; Salesforce acts as the sales system of record. Data flows both ways, but you control direction and conflict resolution per field. Not all records sync automatically, you gate what enters Salesforce using an Inclusion List.
This is the answer most articles bury three scrolls deep. The rest of this piece explains what that actually means in practice and where it breaks.
Who This Integration Is For
Before diving into mechanics, understand the use case. This integration is built for mid-market B2B companies where:
- Marketing lives in HubSpot (campaigns, lead nurture, forms, email)
- Sales lives in Salesforce (pipeline, forecasting, account management)
- Both teams need visibility into what the other is doing without switching tools
If your whole team is in one platform, you do not need this. If you are a 5-person startup running everything in HubSpot, stay there. The HubSpot-Salesforce integration becomes valuable when you have a real separation between marketing operations and a sales org that is entrenched in Salesforce and not moving.
The typical profile: 50–500 employees, $5M–$100M ARR, dedicated marketing team running demand gen in HubSpot, sales team of 10+ reps working leads and accounts in Salesforce.
What the Native Connector Actually Does
HubSpot's native Salesforce connector is a packaged integration, no code, no middleware required. You install it from HubSpot's App Marketplace, authenticate against your Salesforce org, and configure sync settings through a UI.
What syncs by default:
| HubSpot Object | Salesforce Object |
|---|---|
| Contact | Contact or Lead |
| Company | Account |
| Deal | Opportunity |
| Activity (call, email, meeting) | Task |
What does not sync by default: custom objects, custom activities, attachments, HubSpot lists, workflow enrollment history.
The connector handles object creation in both directions. A new lead created in Salesforce can auto-create a contact in HubSpot. A contact who fills out a HubSpot form can auto-create a lead in Salesforce. Whether this happens depends on your configuration, it is not on by default for every scenario.
Sync frequency is every 10–15 minutes. There is no real-time sync in the native connector. If a sales rep closes a deal in Salesforce and you want that to immediately update a HubSpot workflow trigger, you are waiting up to 15 minutes. For most use cases this is fine. For real-time personalization or time-sensitive automations, this lag matters.
HubSpot Salesforce Integration Cost: What You Actually Need
Before you start configuration, understand what you are paying for.
HubSpot requirement: Marketing Hub Professional ($800/month for 2,000 marketing contacts) or any Professional or Enterprise suite that includes Marketing Hub. The Salesforce integration is not available on HubSpot Starter or Free. This is the most common surprise cost, teams discover they need to upgrade from Starter to Professional, which is an $800/month jump before they can activate the integration at all.
At 10,000 marketing contacts (the threshold many mid-market companies hit quickly), Marketing Hub Professional costs $1,300–$1,500/month. Contacts above your tier limit cost extra per 1,000 contacts.
Salesforce requirement: Enterprise, Unlimited, or Professional edition with API access enabled. Salesforce Group Edition and Essentials Edition do not include API access and cannot connect. Professional Edition requires purchasing the API add-on if it was not included in your contract, confirm this with your Salesforce AE before assuming you have access.
The integration connector itself: Free. Included with your HubSpot Professional subscription. There is no additional per-seat or per-sync charge from HubSpot for the native connector.
Hidden costs to budget for:
- Salesforce API calls: the integration consumes API calls. If you are on Salesforce Professional with capped daily API limits, high-volume syncs on a large contact database can exhaust them. Monitor from day one.
- Admin time: initial configuration takes 8–20 hours depending on complexity. Ongoing maintenance (field mapping changes, sync error remediation) runs 2–4 hours per month for most teams.
- RevOps or consultant setup: if you do not have in-house HubSpot and Salesforce admin expertise, a 1-day implementation by a HubSpot partner or consultant typically costs $1,500–$3,000.
Summary: The integration is free to use if you already have HubSpot Professional and Salesforce Enterprise or Unlimited. The actual cost of getting there starts at $800/month for HubSpot Professional plus your Salesforce licensing. Most companies spending below this level are better served running solely in HubSpot until they grow into the complexity that justifies dual-system management.
Prerequisites and Cost
HubSpot requirement: Marketing Hub Professional or Enterprise (or any Professional/Enterprise suite). The Salesforce integration is not available on Starter or Free tiers.
Marketing Hub Professional starts at $800/month (up to 2,000 marketing contacts). At 10,000 contacts, expect $1,300–$1,500/month before any add-ons.
Salesforce requirement: Enterprise, Unlimited, or Professional edition with API access enabled. The Salesforce Group Edition does not support API access and cannot connect.
One important detail: the integration consumes Salesforce API calls. High-volume syncs on large contact databases can push against your Salesforce API limits. If you are on Salesforce Professional with capped API access, monitor this from day one.
HubSpot Salesforce Integration Setup: Step-by-Step for Non-Developers
This is the plain-English version of what the setup actually involves. You do not need to write code, but you do need to make a series of configuration decisions that have lasting data consequences. Take these seriously.
Before you touch any settings, complete these pre-work steps:
Audit your HubSpot contact database for data quality. Run a report on contacts missing email addresses, contacts with duplicate email addresses, and contacts missing company associations. Fix these first. Garbage in, garbage out, the sync will faithfully replicate bad data into Salesforce.
Audit your Salesforce database for duplicate leads and contacts. Run the standard Salesforce duplicate management report. If you have 15,000 leads with 3,000 duplicates, the integration will create corresponding chaos in HubSpot.
Create a dedicated Salesforce integration user. Do not use a named user's account. Create a system account (e.g., hubspot-integration@yourcompany.com) with its own Salesforce license. Assign only the permissions this account needs. This protects audit trails and prevents the integration from breaking when a real person leaves.
Document your field mapping plan in a spreadsheet before touching the UI. List every HubSpot property you want to sync, the corresponding Salesforce field, the sync direction, and the conflict resolution rule. Doing this on paper first saves hours of rework in the interface.
The installation process:
Step 1: In HubSpot, go to Settings → Integrations → Connected Apps → search for Salesforce → click Connect. This redirects you to Salesforce for authentication.
Step 2: Authenticate using your dedicated integration user credentials (not your admin account).
Step 3: Choose whether HubSpot contacts sync to Salesforce as Leads or Contacts or both. Most teams start with Leads (pre-qualified prospects) and promote to Contacts in Salesforce upon conversion. Make this decision before configuring anything else, it affects every downstream mapping.
Step 4: Build your Inclusion List. Create an active HubSpot list with your qualification criteria (lead score, form submission, lifecycle stage) and designate it as your Salesforce Inclusion List in the integration settings. Do not proceed without this step.
Step 5: Map fields one object at a time. Start with Contacts, then Companies, then Deals if applicable. For each field, set the sync direction (HubSpot → Salesforce, Salesforce → HubSpot, or bidirectional) and the conflict rule.
Step 6: Configure Activity Sync. Choose which activity types to push to Salesforce Tasks: sales emails, marketing emails (recommend being selective here), calls, meetings, form submissions.
Step 7: Run a test sync on a filtered batch of 50–100 contacts. Check HubSpot's Sync Health log for errors. Check Salesforce for correct record creation and field values. Fix every error before enabling full sync.
Step 8: Enable full sync and monitor the Sync Health dashboard daily for the first two weeks.
Total realistic setup time: 8 hours for a straightforward implementation with clean data and a pre-documented field mapping plan. 20–40 hours if your databases have significant data quality issues or if you have complex custom fields on either side.
Setup Process: The Key Steps
The full installation is documented in HubSpot's knowledge base. The process that matters from a configuration standpoint breaks down into these decisions:
1. Install and Authenticate
Install the HubSpot for Salesforce package from the Salesforce AppExchange or from HubSpot's Connected Apps settings. You authenticate with a dedicated Salesforce integration user, not your personal admin account. This is not optional best practice; it is essential for audit trails and for controlling which records the integration can see.
2. Choose Sync Direction for Contacts/Leads
HubSpot contacts can sync to Salesforce as Leads, Contacts, or both. You choose. Most teams sync to Leads first (pre-qualify in Salesforce), then Contacts once converted. This means you need to decide how HubSpot handles Salesforce Leads vs. Contacts, they are separate objects in Salesforce, same object in HubSpot.
3. Configure the Inclusion List
This is the single most important configuration decision (more on this below).
4. Map Fields
Go through each object and map HubSpot properties to Salesforce fields. Set sync direction and conflict resolution rules per field.
5. Enable Activity Sync
Separately toggle which activity types sync: sales emails sent, marketing email opens/clicks, calls, meetings, form submissions.
6. Test on a Small Segment
Before enabling full sync, run a test with a filtered list of 50–100 contacts. Check for duplicate creation, field overwrites, and missing data.
The Inclusion List: What It Is and Why It Matters
The Inclusion List is an active HubSpot list. Only contacts who are members of that list are eligible to sync into Salesforce. If a contact is not on the list, HubSpot will not push them to Salesforce regardless of anything else.
This is intentional design, not a limitation. You do not want every HubSpot contact, including newsletter subscribers, event attendees, and cold outreach targets, flooding Salesforce. Your sales reps want qualified leads in Salesforce, not 80,000 random contacts.
Common Inclusion List criteria:
- Lead score above a threshold (e.g., MQL score ≥ 50)
- Completed a demo request or contact form
- Attended a webinar and clicked a follow-up email
- Matches ICP criteria (company size, industry, title)
The mistake most teams make: they set the Inclusion List too broadly at launch ("all contacts with an email address") and create a data mess in Salesforce that takes months to clean up.
Selective sync from Salesforce to HubSpot works differently: instead of a list, you control access at the integration user level. If the Salesforce integration user has read/write permission to a record, it syncs. If not, it does not.
Sync Direction and Conflict Resolution
Each field mapping has three configuration options:
| Setting | Behavior |
|---|---|
| Two-way | Both systems can write; conflict resolution rule determines winner |
| HubSpot → Salesforce | Only HubSpot writes this field to Salesforce |
| Salesforce → HubSpot | Only Salesforce writes this field to HubSpot |
For conflict resolution on two-way fields, you choose which system wins when both have a value and they disagree. Options are typically: always use HubSpot, always use Salesforce, or use most recent update.
The practical default for most teams: Salesforce wins on deal/pipeline fields. HubSpot wins on marketing fields (lead source, UTM data, lifecycle stage, email engagement). Two-way on basic contact data (name, email, phone) with most-recent-update resolution.
Do not set everything to two-way without thinking through conflict scenarios. A Salesforce rep manually correcting a phone number in Salesforce should not be overwritten 15 minutes later because HubSpot thinks its value is newer.
Field Mapping: Contacts, Companies, and Deals
Contacts
Default mappings cover the basics: first name, last name, email, phone, company name, job title. These are reliable.
The fields that cause problems:
- Lead Status / Lifecycle Stage: HubSpot has Lifecycle Stage (Subscriber → Lead → MQL → SQL → Opportunity → Customer). Salesforce has Lead Status and Contact record types. These do not map 1:1. You need to decide how to translate between them and which system is the authoritative source for sales stage.
- Lead Source: Salesforce's Lead Source is a picklist with fixed values. HubSpot's Original Source is a system property with its own taxonomy. Forcing a sync between these without normalization creates garbage data.
- Owner: HubSpot Contact Owner maps to Salesforce Lead/Contact Owner. If you sync ownership, make sure user names match between systems. Mismatched email addresses on user accounts cause assignment failures.
Companies / Accounts
HubSpot Company ↔ Salesforce Account. The structural difference: in Salesforce, Contacts belong to Accounts. In HubSpot, Contacts are associated with Companies but can exist independently.
If you have a Contact in HubSpot that has no associated Company, and the integration tries to sync it to Salesforce where an Account is required, the sync either fails or creates an Account with minimal data. Audit your HubSpot contact database for company association gaps before enabling company sync.
The setting "Create and associate companies" in HubSpot is on by default. This creates HubSpot companies from Salesforce account data. If your Salesforce has duplicate accounts (which most do), you will get duplicate companies in HubSpot.
Deals / Opportunities
HubSpot Deal ↔ Salesforce Opportunity. Deal stage mapping is manual, you map each HubSpot deal stage to a Salesforce opportunity stage. This mapping only matters if you are syncing deals bidirectionally.
Most teams run opportunities natively in Salesforce and sync them to HubSpot read-only, so marketing can see which leads converted to opportunities. Letting HubSpot create/edit Salesforce opportunities is less common and requires more governance.
Activity Sync
Activities are the most underestimated part of the integration. Configured correctly, they give your sales reps HubSpot marketing data directly in Salesforce, and give your marketers Salesforce sales call data in HubSpot.
What can sync as Salesforce Tasks:
- HubSpot sales emails sent/opened/clicked
- Marketing email sends, opens, clicks (one task per contact per email)
- Calls logged in HubSpot (CRM calls, call recording)
- Meetings booked through HubSpot Meetings
- Form submissions
The problem with activity sync at scale: if you have active email marketing with tens of thousands of contacts, enabling full marketing email activity sync creates a storm of Salesforce Tasks. Reps complain about noise. DBA teams complain about storage. The fix is to be selective: sync only sales activities and high-value marketing events (demo requests, pricing page views, high-score form submissions) rather than every email open.
Meetings sync is particularly useful, reps see HubSpot-booked meetings directly in the Salesforce activity timeline without switching tools.
HubSpot Salesforce Integration: What Syncs and What Doesn't
This is the table most official documentation buries or glosses over. Here is the exact sync reality.
What Syncs (Native Connector)
| Object | Sync Capable | Notes |
|---|---|---|
| Contacts | Yes (bidirectional) | Syncs to Salesforce Leads or Contacts or both |
| Companies | Yes (bidirectional) | Syncs to/from Salesforce Accounts |
| Deals | Yes (bidirectional) | Syncs to/from Salesforce Opportunities |
| Standard properties/fields | Yes | Name, email, phone, title, address, and other default fields |
| Custom properties/fields | Yes | Must be manually mapped; field type must match |
| Activities (calls, emails, meetings) | Yes (HubSpot → Salesforce Tasks) | Selective, not all activity types sync by default |
| Marketing email sends | Yes (as Tasks) | Recommend limiting to high-value events only |
| Form submissions | Yes (as Tasks) | Configurable per form |
| Deal/Opportunity stage | Yes | Requires manual stage mapping between systems |
| Contact owner/assignment | Yes | User email addresses must match between systems |
| Custom objects (HubSpot ↔ Salesforce) | Yes, Enterprise only | Available in recent connector updates; some limitations on associations |
| HubSpot lists | No | Lists do not have a Salesforce equivalent; use as Inclusion List only |
| HubSpot workflows | No | Workflow enrollment history does not sync |
| Email templates | No | HubSpot templates stay in HubSpot |
| Sequences enrollment | No | Sequence status does not appear in Salesforce |
| HubSpot documents | No | Files and attachments do not sync |
| Notes (CRM notes) | Partial | Sales notes logged in HubSpot CRM can sync as Salesforce Tasks with configuration |
| Meeting recordings | No | Call recordings stay in HubSpot Conversations |
| HubSpot products/line items | No | Product catalog does not sync to Salesforce Products |
| Salesforce reports | No | Reports stay in Salesforce |
| Salesforce dashboards | No | No cross-platform dashboard sync |
Sync Behavior Summary
Contacts: A HubSpot contact on your Inclusion List syncs to Salesforce as a Lead. When a Salesforce rep converts that Lead to a Contact, the integration keeps the HubSpot contact linked to the Salesforce Contact record. If you have both a Lead and a Contact record in Salesforce for the same person (which happens often in messy databases), HubSpot may create duplicates, this is the single most common problem.
Companies: HubSpot Company syncs to Salesforce Account. The "create and associate companies" setting is on by default, this automatically creates HubSpot company records from Salesforce Account data. If your Salesforce has duplicate Account records, you will get duplicate Company records in HubSpot.
Deals/Opportunities: Stage mapping is manual. HubSpot's default stages (Appointment Scheduled, Qualified to Buy, Presentation Scheduled, Decision Maker Bought-In, Contract Sent, Closed Won, Closed Lost) likely do not match your Salesforce stages exactly. Map each one. Unmapped stages fail silently.
Activities: The volume problem is real. If you have 50,000 marketing contacts and you enable full marketing email activity sync, a single email send creates 50,000 Salesforce Tasks. Salesforce data storage bills are per GB. Your reps' timelines become unusable. The practical approach: sync only activities with clear sales relevance, demo requests, pricing page views, high-score form submissions, and sales-initiated emails. Not every marketing email open.
HubSpot Salesforce Integration: Marketing Teams vs Sales Teams
The integration serves two different audiences with different priorities. The configuration decisions that help one team often create friction for the other. Understanding both perspectives is why shared RevOps ownership matters.
What Marketing Teams Care About
Closed-loop attribution: Marketing wants to know which campaigns, channels, and pieces of content produced revenue, not just leads. The integration enables this by syncing Salesforce Opportunity data back to HubSpot, so you can tie a contact's original source and content engagement history to a closed deal. Without this sync, marketing attribution stops at the MQL stage and you cannot prove ROI to the CFO.
Campaign membership and lifecycle stage: Marketing needs to update a contact's HubSpot lifecycle stage when Salesforce sales activity happens, when a rep converts a lead to contact, when a deal is created, when an opportunity closes. This requires Salesforce → HubSpot sync on lifecycle-relevant fields.
Enrichment from sales activity: When sales reps log call notes, update job titles, or correct company information in Salesforce, marketing wants that enrichment reflected in HubSpot for segmentation and personalization. This requires Salesforce → HubSpot sync on contact and company fields with appropriate conflict resolution.
What marketing should NOT do: Own the Salesforce sync settings unilaterally. Marketing ops' instinct is to sync everything bidirectionally to maximize data richness. This creates noise for sales reps and can overwrite manually corrected Salesforce data with stale HubSpot values.
What Sales Teams Care About
Lead history before the first call: Sales reps want to see, inside Salesforce, every marketing touchpoint a lead had before it showed up in their queue, pages visited, content downloaded, emails opened, webinars attended. This requires HubSpot → Salesforce Activity sync. When configured correctly, a rep opening a Salesforce lead sees a full marketing engagement history as Salesforce Tasks, without ever logging into HubSpot.
No marketing noise in their activity timeline: The flip side of the above: reps do not want to see 47 marketing email open events in their Salesforce activity feed. They want signal, not noise. The integration needs to filter down to high-value events (demo request, pricing page visit, score threshold crossed) and suppress low-value ones (newsletter open, blog visit).
Reliable lead routing: When a new HubSpot contact syncs to Salesforce, it should land in the right rep's queue with the right assignment. This requires the owner sync to work correctly, which requires user email addresses to match between HubSpot and Salesforce user accounts. Mismatches cause unassigned leads, the fastest way to lose sales team trust in marketing-generated pipeline.
What sales should NOT do: Override field values in Salesforce that HubSpot is the authoritative source for, specifically UTM and original source data. When a rep "corrects" a lead source from "Organic Search" to "Trade Show" because they met the person at an event, they are destroying attribution data that marketing needs. Governance rules should protect these fields from manual Salesforce edits.
The RevOps Resolution
The integration works best when there is a neutral owner, RevOps, marketing ops, or a dedicated systems admin, who sets sync rules that serve both teams' needs without either team owning the configuration unilaterally. The specific governance decisions that require joint agreement:
- Which fields sync bidirectionally vs. one-way
- Which system wins on conflict for each field category
- What qualifies a contact for the Inclusion List
- Which activities sync to Salesforce and at what granularity
- Who is responsible for resolving sync errors in the health log
Document these decisions in writing. Revisit quarterly. Change requests from either team should go through RevOps review, not be configured unilaterally.
Common Pitfalls
1. Duplicate Records
The most common problem. Causes:
- The same person exists as both a Lead and a Contact in Salesforce; HubSpot creates a second contact on sync
- "Create and associate companies" is on; Salesforce Account duplicates propagate to HubSpot
- The integration creates a new record when it cannot find an exact email match
Fix: Run a deduplication pass in both systems before enabling the integration. Use email address as the primary match key. Enable the duplicate management rules in Salesforce before turning on sync.
2. Sync Loops
A sync loop happens when HubSpot updates a field → triggers a workflow → updates the field again → syncs back to Salesforce → syncs back to HubSpot → repeat.
Classic scenario: a HubSpot workflow updates Lifecycle Stage when a deal is created → that update syncs to Salesforce → a Salesforce flow updates a field → that syncs back to HubSpot → triggers the workflow again.
Fix: Add a timestamp or "updated by" property check to your workflows so they only fire when a human (not the integration) makes the change. Use the sync trigger logs in HubSpot to identify loops early.
3. Field Type Mismatches
Salesforce picklist fields will reject values that are not in the picklist. If HubSpot sends a free-text value to a Salesforce picklist, the sync fails silently or throws an error that only shows up in the sync health log.
Fix: Before mapping, document every Salesforce picklist and its allowed values. Build corresponding dropdown properties in HubSpot with matching values.
4. API Limit Exhaustion
The integration uses Salesforce API calls. A large contact database with frequent updates can hit daily API limits, causing sync to pause. This is especially common when you first enable the integration and it tries to do an initial bulk sync of your entire database.
Fix: Stage the initial sync. Enable it in batches using the Inclusion List rather than syncing everything at once. Monitor API usage in HubSpot's Salesforce integration settings under Sync Health.
5. The Integration User Trap
If you authenticate using a named user's account rather than a dedicated integration user, two problems occur: (1) when that person leaves, the integration breaks; (2) every synced record shows that person as the "modified by" user in Salesforce, breaking audit trails and triggering that user's Salesforce automation rules.
Fix: Create a dedicated Salesforce system user with a generic email (e.g., hubspot-integration@yourcompany.com). Assign it the minimum required permissions for the objects it touches.
6. Lead Source and Lifecycle Stage Mapping Failures
HubSpot's Original Source is a system-set property with its own taxonomy (Organic Search, Paid Search, Social Media, Direct Traffic, etc.). Salesforce's Lead Source is a customizable picklist with whatever values your Salesforce admin created years ago. These rarely align.
What happens without a mapping strategy: HubSpot syncs "Organic Search" to a Salesforce Lead Source picklist that does not have that value → the sync fails or falls back to blank → every lead arriving from HubSpot shows no Lead Source in Salesforce → marketing attribution in Salesforce reporting breaks completely.
Fix: Before enabling sync, export both HubSpot's Original Source values and your Salesforce Lead Source picklist values. Create a mapping table. Either normalize your Salesforce picklist to match HubSpot's taxonomy or create a custom HubSpot property with values that match Salesforce, and sync that custom property instead of the system property.
7. Ownership Sync Failures Causing Unassigned Leads
When HubSpot syncs a contact to Salesforce, it maps the HubSpot Contact Owner to the Salesforce Lead Owner. This works only if the user exists in both systems with matching email addresses. If your HubSpot user has email firstname@company.com and their Salesforce account uses first.last@company.com, the ownership sync fails. The lead arrives in Salesforce with no owner, it sits in the queue unworked while the rep waits for leads that marketing insists they sent.
Fix: Audit your HubSpot and Salesforce user lists before enabling the integration. Ensure every sales rep has matching email addresses on both platforms. When adding new users, update both systems simultaneously.
8. Custom Object Sync Gaps
HubSpot custom objects (introduced on Enterprise) can sync with Salesforce custom objects, but the relationship mapping between objects has limitations. A HubSpot custom object associated with a Contact does not automatically maintain its relationship to the corresponding Salesforce Contact's associated custom object. You may need to use Salesforce Flows or HubSpot Workflows to maintain relationship integrity that the native connector does not handle automatically.
Fix: If your data model relies heavily on custom objects or complex object relationships, test this thoroughly before committing to the native connector. For complex custom object sync requirements, a dedicated iPaaS tool with transformation capabilities (Workato, Make) handles relationship mapping that the native connector cannot.
Native Connector vs. Third-Party Tools
The native connector handles the standard use case well. Here is when to consider alternatives:
| Scenario | Recommendation |
|---|---|
| Basic contact/lead/deal sync, standard fields | Native connector |
| Need real-time sync (under 1 minute) | Stacksync, Breadcrumb, or custom middleware |
| Complex multi-step workflows involving 3+ systems | Workato or Zapier (paid plans) |
| Need to transform/normalize data before sync | Workato, Make (formerly Integromat) |
| Custom objects in both systems | Native connector (now supports custom object sync at Enterprise) or Workato |
| High data volume with strict API limits | Dedicated iPaaS with batching control |
| Simple trigger-based automation without coding | Zapier |
Zapier: The most accessible option for teams that need simple trigger-based automation without technical resources. A Zapier workflow can fire when a HubSpot form is submitted → create a Salesforce lead → send a Slack notification to the rep. It works for simple flows, but Zapier does not handle bidirectional sync, conflict resolution, or field-level mapping logic. It is also not built for high volume, at 50,000+ tasks per month, costs escalate quickly.
Workato: An enterprise iPaaS (integration Platform as a Service) with native HubSpot and Salesforce connectors plus the ability to transform and normalize data between systems. Workato handles complex scenarios: mapping non-matching picklist values automatically, maintaining custom object relationships, enforcing data validation rules before sync, and managing multi-system workflows involving HubSpot, Salesforce, Slack, and your data warehouse simultaneously. Cost starts around $10,000/year for an enterprise license.
Make (formerly Integromat): A more affordable alternative to Workato for teams with intermediate technical skills. Make handles multi-step workflows with data transformation and has strong HubSpot and Salesforce modules. More flexibility than Zapier at lower cost than Workato. Starting at $9/month for low volume, scales with operation count.
Stacksync and Breadcrumb: Purpose-built for real-time bidirectional sync between HubSpot and Salesforce. These tools close the native connector's 10–15 minute sync lag, pushing updates in under 60 seconds. Designed specifically for teams where the sync delay creates real problems, time-sensitive automation triggers, real-time lead routing, or immediate sales alerts based on HubSpot events.
The honest take on the native connector: HubSpot and Salesforce are direct competitors. Neither has a commercial incentive to make the native integration exceptional. The connector is maintained, functional, and improved incrementally, but it is not either product team's core focus. For standard B2B use cases, contacts, leads, deals, and activity sync, it works reliably. For complex data models, real-time requirements, or high-volume custom object sync, evaluate alternatives before committing to native as your only integration layer.
Related Reading
- HubSpot vs Salesforce: Which CRM Is Right for You in 2026?
- HubSpot Consulting: Costs and When to Hire
- What Is HubSpot? An Honest Overview of the Platform (2026)
- HubSpot Pricing 2026: Plans and Hidden Costs
- Marketing Analytics: What to Measure in 2026
FAQ
Do I need Salesforce API access to use the HubSpot integration?
Yes. The integration requires Salesforce editions that include API access: Enterprise, Unlimited, or Professional with API access enabled. Salesforce Group Edition and Essentials Edition do not support API access and cannot connect to HubSpot natively.
Does the HubSpot Salesforce integration sync in real time?
No. The native connector syncs every 10–15 minutes. If you need changes reflected in under a minute, for example, triggering a time-sensitive automation based on a Salesforce field update, you need a real-time middleware solution like Stacksync or a custom webhook setup.
What happens to existing records when I first enable the integration?
The initial sync attempts to match existing records between systems using email address as the primary key. Records that match are linked; records without a match either get created in the other system or are left unlinked depending on your configuration. Run a deduplication pass in both systems before enabling to avoid a flood of duplicates.
Can I sync HubSpot lists to Salesforce?
Not directly. HubSpot lists do not have a Salesforce equivalent object. The closest approach is to use a HubSpot list as your Inclusion List (which controls sync eligibility) or to create a custom Salesforce campaign and use a workflow to add/remove Salesforce campaign members based on HubSpot list membership.
Can HubSpot sync custom objects with Salesforce?
Yes, but only on HubSpot Enterprise tier. Custom object sync requires both HubSpot and Salesforce to have the custom objects defined, and you configure the field mappings manually. This feature was expanded in recent connector updates but still has limitations around relationship/association sync between custom and standard objects.
Who should own the HubSpot-Salesforce integration: marketing ops or sales ops?
Neither alone. The integration sits at the boundary between the two systems, and unilateral ownership by either side leads to configuration decisions that optimize for one team at the expense of the other. The practical answer is a shared RevOps function, or a dedicated admin with explicit input from both marketing and sales leadership on sync rules and data governance policies.
How do I troubleshoot sync errors?
In HubSpot: go to Settings → Integrations → Connected Apps → Salesforce → Sync Health tab. This shows the number of errors, their types, and which records are affected. Common error categories are field validation failures (value rejected by Salesforce picklist), permission errors (integration user lacks access to a field or object), and duplicate match conflicts. For persistent errors, filter by error type and address the root field mapping or permission issue rather than retrying individual records.
Does HubSpot integrate with Salesforce natively?
Yes. HubSpot offers a native Salesforce connector available through HubSpot's App Marketplace and the Salesforce AppExchange. It requires no custom code or middleware and is included with HubSpot Professional or Enterprise subscriptions at no additional charge. The connector provides bidirectional sync for contacts, companies, deals, and activities with configurable field-level rules and conflict resolution.
What data syncs between HubSpot and Salesforce?
Contacts, companies (accounts), deals (opportunities), standard fields, custom properties (when manually mapped), and activities (calls, emails, meetings, form submissions as Salesforce Tasks). HubSpot lists, workflow enrollment history, email templates, meeting recordings, and product line items do not sync via the native connector. Custom objects sync bidirectionally but only on HubSpot Enterprise tier with some limitations on relationship mapping.
How long does the HubSpot Salesforce integration take to set up?
For a team with clean data and a straightforward field mapping plan, initial setup takes 8–12 hours spread across 2–3 working days (to allow time for test batch results before enabling full sync). For teams with significant data quality issues, duplicates, missing fields, mismatched picklist values, expect 20–40 hours including pre-work cleanup. Initial data migration (bulk syncing existing records) can take several hours to complete depending on database size.
Can I use HubSpot and Salesforce without the integration?
Yes, and many small teams do. If your marketing team uses HubSpot and your sales team uses Salesforce but there is minimal data overlap needed, for example, marketing handles its own lead nurture fully and sales manages a separate pipeline, you can operate both systems independently. The integration becomes necessary when you need closed-loop attribution, bidirectional lead routing, and a unified view of the customer across both platforms.
The Bottom Line
The native HubSpot-Salesforce connector is the right starting point for most mid-market B2B teams. It handles the core use case, moving qualified leads from HubSpot into Salesforce and surfacing sales data back in HubSpot, without requiring custom development. The setup is not trivial: field mapping, Inclusion List logic, and duplicate prevention require deliberate planning. Get those three right and the integration runs reliably. Skip them and you spend weeks cleaning up data.
The native connector has a ceiling. If your data model is complex, your volume is high, or you need real-time sync, evaluate iPaaS options before committing to native. The connector being "free" (included with your HubSpot Professional subscription) is not a reason to force it into a use case it was not designed for.
Last verified: March 2026
Originally published at https://konabayev.com/blog/hubspot-salesforce-integration/
Top comments (0)