A HubSpot and Salesforce integration keeps marketing in HubSpot and sales in Salesforce while both see the same contacts, companies and deals, and the native connector handles most of that. The connector is rarely what fails. What fails is a field both teams edit, a lead that exists twice, or a sync error nobody reads until a rep calls a customer with the wrong owner.
So the real work is decisions made before the switch is flipped: which system owns each field, which records may sync, how duplicates match, and who reads the error log every week. Get those right and the native connector is usually enough.
Below: those decisions, the objects the connector skips, the same problem with Dynamics or Pipedrive, and the case for one CRM. Benian sells no CRM licenses and publishes no price; cost depends on how many objects sync, how messy the data is and how much custom logic is needed.
Signs your CRM sync is costing you deals
A rep's update disappears overnight
Both systems edit the same field, the sync rule favors the other side, and the change is silently overwritten.
One customer, two or three records
HubSpot holds a personal email, Salesforce the work email, so the records never match and reports double count.
Marketing cannot see what closed
Opportunities never return to HubSpot, so nobody can tell which campaigns produce revenue.
Thousands of sync errors in a queue
Salesforce validation rules reject HubSpot records, and the list grows because no one owns it.
Salesforce API limits run out
The sync shares the org's daily API allowance, and a bulk HubSpot import starves other tools.
Why companies run HubSpot and Salesforce together
The usual split is by team. Marketing chose HubSpot for email, forms and landing pages. Sales was already on Salesforce, with custom objects, approval rules and reports leadership reads every Monday. Neither side wants to move.
That split works until the handoff is vague. The integration has to answer one question: when does a HubSpot contact become a Salesforce lead or contact, and after that, which system is the source of truth for each fact about that person and company?
The native connector: what it syncs and its limits
HubSpot publishes a Salesforce connector that syncs the core records between the two: HubSpot contacts with Salesforce leads and contacts, companies with accounts, deals with opportunities, plus tasks and activity. It runs in the background on a schedule rather than instantly, and each sync uses Salesforce API calls from your org's allowance.
Two controls matter most. An inclusion list decides which HubSpot contacts are allowed into Salesforce at all. Per field sync rules decide what happens when the two values differ, with choices along the lines of always use Salesforce, prefer Salesforce unless blank, two way, or do not sync.
What the connector supports changes with HubSpot subscription level and Salesforce edition, especially for custom objects. Check HubSpot's current documentation against your exact plans before designing around a specific object.
Field mapping, sync direction and record ownership
Start with a short table, not the connector settings. List every field you plan to sync, its owner and its direction. Two way sync is for the rare field both teams genuinely edit, and even then decide which side wins a tie. A pattern that holds up for most firms:
- Salesforce owns record owner, lifecycle after handoff, account hierarchy, opportunity amount and stage. HubSpot reads them.
- HubSpot owns original source, campaign touches, email preferences and form answers. Salesforce reads them.
- Name, title and phone sync two way with prefer Salesforce unless blank, so a rep's correction wins but HubSpot can fill a gap.
- Lead status and lifecycle stage are mapped as an explicit table, value by value, because the two picklists almost never match one to one.
- Fields only one team uses are not synced at all. Fewer synced fields means fewer conflicts and fewer API calls.
Duplicates, conflicts and sync errors
HubSpot matches contacts by email address. Salesforce does not enforce that by default, so an org with leads and contacts sharing an email, or contacts with no email, will create duplicates the moment the sync starts. Clean Salesforce first: merge duplicate leads and contacts, convert leads that already belong to an account, and decide what happens to records with no email.
Then make errors someone's job. Most sync errors come from Salesforce validation rules, required fields HubSpot does not fill, picklist values that do not exist on the other side, and records the integration user cannot see. The fix is usually a mapping change or a small validation rule exception for the integration user, not a custom build.
We set up a weekly error review with a named owner. When the error count jumps, check first for a new required field or picklist value added in one system and not the other.
Custom sync for objects the connector skips
Some data does not fit the connector: a custom Salesforce object for subscriptions or projects, a health score, product usage from your own app, or a rollup computed before it is written. A custom sync for those runs beside the native connector rather than replacing it.
Benian builds these as workflow automation, usually in n8n inside an account your business owns, with credentials you hold. Each flow has a matching key, a direction, a retry rule and an alert when a record fails twice.
Before building, ask whether the field needs to sync at all. A dashboard reading both systems often answers the question without moving the data, which is data intelligence work rather than another sync to maintain.
HubSpot with Microsoft Dynamics or Pipedrive
A HubSpot and Microsoft Dynamics integration raises the same questions. HubSpot's marketplace lists a Dynamics 365 connector, and the same rules apply: an inclusion rule, one owner per field, a status value map and a named error owner. Check its current support for custom entities first.
A Pipedrive and HubSpot integration usually means a small sales team on Pipedrive and growing marketing in HubSpot. Connectors exist, but the two tools overlap heavily, and many firms in that position are better off choosing one.
A Pipedrive Salesforce integration typically appears during a migration or after an acquisition. Do not assume a native two way connector exists. Check what your Pipedrive and Salesforce plans support, and expect middleware or a custom flow. Treat it as temporary and set an end date.
Should you consolidate onto one CRM instead
Ask what the second CRM does that the first cannot. If HubSpot only sends a monthly newsletter, a sync built for full lead handoff is cost without benefit. If Salesforce is mostly used for reports, moving reporting may be simpler.
Keep both when each team depends on features the other system lacks and the handoff is well defined. Consolidate when the sync causes most of your data problems, when teams keep asking which number is right, or when the same people work in both tools daily. Consolidation means migration, rebuilt automations and retraining. Benian scopes the automation and data side; licensing stays with you and the vendors.
Choosing the sync approach
| Situation | Usually enough | Watch out for |
|---|---|---|
| Contacts, companies and deals between HubSpot and Salesforce | Native connector with field rules | Duplicates already in Salesforce, API allowance |
| Custom Salesforce objects or calculated fields | Native connector plus a custom flow | Plan and edition support for custom objects |
| HubSpot with Dynamics 365 | Marketplace connector | Custom entities and status mapping |
| Pipedrive alongside Salesforce | Middleware or custom flow, temporary | Confirm connector support first |
How Benian sets up a HubSpot Salesforce sync
- Audit both databases. Count duplicates, records without email, unmatched picklist values and validation rules that will reject synced records.
- Write the field ownership table. Every synced field gets an owner, a direction and a tie rule, signed off by your sales and marketing leads.
- Clean before connecting. Merge duplicates and fix records that would fail, in a Salesforce sandbox first when you have one.
- Configure the connector and inclusion rules. Set the integration user's permissions, inclusion list and field rules, then sync a small segment and read every result.
- Add custom flows only where needed. Objects or calculations the connector skips get their own flow in your account, with retries and alerts.
- Hand over the error routine. A named owner, a weekly review and a runbook for common errors, so the sync keeps working after handover.