HubSpot ships a native Salesforce connector that handles the standard objects, automated field mapping, and bidirectional sync at 5 to 15 minute intervals. For 80% of customers, native is enough. The 20% who need custom are running real-time sync, deeply customized Salesforce orgs, or non-standard dedupe rules. Below is how to tell which group you're in, the architecture either way, and the failure modes that show up in production.
What the native connector does, exactly
HubSpot's native Salesforce integration syncs five object types out of the box: Contacts, Companies (mapped to Salesforce Accounts), Deals (Opportunities), Tasks, and Activities. Sync runs on a 5 to 15 minute cycle depending on volume. You configure field mapping, sync rules (which records sync, which direction), and conflict resolution in the connector settings inside HubSpot.
The default behavior is bidirectional. Most customers narrow this with sync rules: e.g., only sync Salesforce contacts who are owners of an opportunity, or only sync HubSpot contacts past MQL. Sync rules are the most underused feature of the connector and the biggest single lever for keeping each system clean.
Architecture, in one diagram's worth of words
Marketing automation, lifecycle stages, lead scoring, and content live in HubSpot. Sales pipeline, deal management, forecasting, and quote-to-cash live in Salesforce. The handoff happens at MQL: HubSpot identifies the contact has crossed the threshold, the connector flips a sync rule to push the contact into Salesforce as a Lead, and ownership transfers to the AE.
After handoff, Salesforce becomes the system of record for the contact. HubSpot continues to track marketing engagement, but Salesforce owns the deal lifecycle. When a deal closes, Salesforce signals back to HubSpot via the connector, which updates the contact's lifecycle stage to Customer. From there, HubSpot owns customer marketing again (renewals, expansion, NPS).
The five most common failure modes
1. Ownership ping-pong. Both systems try to own the same field, sync overwrites the other every cycle, the value flips back and forth indefinitely. Fix: lock each field to a single source-of-truth direction in the connector's field-level permissions.
2. Dedupe drift. HubSpot dedupes contacts on email, Salesforce often dedupes on email plus account. The same contact at two accounts shows up as one HubSpot contact and two Salesforce leads. Fix: normalize the dedupe model upfront. Either consolidate at the company level (HubSpot way) or accept HubSpot will create separate contact records for each account context (Salesforce way).
3. Custom object sync limits. Native handles 5 custom objects. Most enterprise Salesforce orgs have 30+. The 5 you choose to sync is a strategic decision that involves Sales, Marketing, and Operations. We always make this a workshop, not an admin task.
4. Formula and roll-up field translation. Salesforce formula fields don't round-trip cleanly. They sync as static values, then go stale because HubSpot has no equivalent calculation engine. Fix: rebuild the calculation in HubSpot using calculated properties or workflows, accept the slight data model duplication.
5. API call limit ceilings. Salesforce caps API calls per day per org. A high-volume sync can blow through this and silently stop updating. Fix: batch the sync, add monitoring on the limit, and use selective sync rules to reduce the call volume.
When to walk away from native and build custom
Three scenarios. Custom integrations are 4 to 12 weeks of engineering and ongoing maintenance. Don't pick this lightly.
Scenario A: You need real-time sync. Native runs every 5 to 15 minutes. If your sales process requires sub-minute latency (e.g., a SaaS where activation triggers immediate outbound), custom is the answer. Architecture: webhook from Salesforce to a middleware service (Workato, Tray.io, or our own custom node), middleware writes to HubSpot via API.
Scenario B: You sync 6+ custom objects with bidirectional logic. Native's 5-object limit can be a hard constraint for enterprise orgs. Architecture: middleware that subscribes to both systems' change events, manages a normalized data model, and writes back to each.
Scenario C: Your dedupe rules don't fit either system. This is rare but real, especially for businesses that sell to households (one buyer, multiple linked accounts) or to government entities (multiple legal entities under one umbrella). Architecture: normalize at the middleware layer with explicit business logic.
How we ship this in a real engagement
A typical INSIDEA HubSpot Salesforce integration runs 6 to 10 weeks. Week 1 is the audit: every Salesforce object, field, automation, and integration mapped to its HubSpot counterpart or its sync rule. Weeks 2 and 3 are field mapping design and conflict resolution rules, signed off by your CRM admin and head of revenue. Weeks 4 to 6 are the build: connector configured in a sandbox, dummy records flowing both ways, edge cases tested. Weeks 7 to 8 are migration of existing data. Week 9 is parallel running. Week 10 is cutover and 30-day stabilization support.
Outcome: every customer has zero data loss, single-direction-of-truth on every field, monitored sync health, and a runbook the internal team can run forever.
A Series B SaaS customer reduced lead-to-MQL latency from 4 hours to 12 minutes by moving from native sync to a custom webhook-driven architecture. AE response time dropped 65%, MQL-to-SQL conversion improved 22%.
FAQ
Can HubSpot and Salesforce stay in sync long-term?
Yes, with the native connector and a properly designed field map. The places it breaks: contact dedupe across both systems, ownership model conflicts, formula fields that don't translate, and any object Salesforce considers a custom object that HubSpot has to handle as a custom object too. We have customers who have been running native sync for 5+ years cleanly.
Does the native HubSpot Salesforce connector cost extra?
It's included with HubSpot Marketing Hub Pro and above, and Sales Hub Pro and above. No add-on fee. The cost shows up in implementation time: getting the field map and rules right is a 1 to 3 week build.
When should I build a custom Salesforce sync instead of using the native one?
Three cases. (1) You sync more than the standard objects (e.g., you have a custom Quote-to-Cash flow that needs to round-trip with HubSpot). (2) Your dedupe rules don't fit HubSpot's match-on-email approach (common for accounts with multiple buying contacts at one company). (3) You need real-time sync under 90 seconds. Native syncs every 5 to 15 minutes. Anything tighter requires custom.
What happens to deal stages when syncing between HubSpot and Salesforce?
By default they map by name. If your stage names differ, you set up a mapping table in the connector. The gotcha: probability percentages don't always sync cleanly, and the 'closed-won' / 'closed-lost' transitions need explicit handling so revenue reporting stays consistent across systems.
Can I keep marketing in HubSpot and sales in Salesforce?
Yes, this is one of the most common architectures we ship. HubSpot owns the marketing automation, lifecycle stages, and lead scoring. Salesforce owns deals, opportunities, and forecast. Lead handoff happens at MQL or SQL via the connector. Works well at any scale.
What if my Salesforce instance has 100+ custom objects?
Native connector handles up to 5 standard custom objects out of the box. Beyond that, you have two paths: (a) prioritize the 5 most-needed and accept the rest stay Salesforce-only, or (b) custom integration for the long tail. We map this in the audit phase before any code gets written.
How do I avoid ownership conflicts between systems?
Set HubSpot as the system of record for marketing-attributable contacts (anyone before MQL), Salesforce as the system of record after. The connector field-level permission rules let you lock specific fields to one direction. Without this, you'll see ping-pong updates where the two systems overwrite each other every sync cycle.
Is there a maximum sync volume?
HubSpot's native connector handles millions of records. The bottleneck is usually Salesforce API call limits (15K to 1M per day depending on edition), not HubSpot's side. For high-volume syncs, batching and selective sync rules matter more than raw throughput.
