TL;DR

Most B2B SaaS products that serve sales, marketing, customer success, or revenue teams eventually need to sync with Salesforce and HubSpot. Build a direct API integration when your product consumes CRM data. Build an MCP server when your product has agentic AI that needs CRM access. In-house builds run 4–10 engineer-weeks per platform; with a focused partner, 1–2 weeks per platform when scope is defined. This guide covers which objects to sync, how two-way auth works, realistic timelines, and what to watch for in production.

Most B2B SaaS products need to integrate with Salesforce and HubSpot eventually — but only if their users are in sales, marketing, customer success, or revenue operations. If your product lives inside those workflows, this guide covers how to build it: which objects to sync, how two-way auth works, when to pick a direct API integration or an MCP server, realistic timelines, and what to watch for in production.


What kind of B2B SaaS needs to integrate with Salesforce and HubSpot?

SaaS products used by sales, marketing, customer success, or revenue operations teams. The customer already runs their GTM on Salesforce or HubSpot, and they want your product to sync with it.

Most common categories:

  • Customer success and health-score platforms
  • Product analytics and user engagement tools
  • Sales engagement and outbound platforms
  • Marketing automation and lead scoring
  • Revenue intelligence and call recording
  • Subscription, billing, and usage analytics for GTM visibility
  • Onboarding and customer support tools

If your users are engineers, designers, or finance operators, CRM sync is usually not the priority. If your users touch deals, accounts, leads, or the customer lifecycle, it is.

What does connecting your SaaS product to Salesforce and HubSpot actually involve?

Mapping a small set of CRM objects to your product’s data model and keeping them in sync through authenticated API calls. Which objects depends on what your product does.

Core object mapping:

Your dataSalesforceHubSpot
PersonContact / LeadContact
CompanyAccountCompany
Deal or subscriptionOpportunityDeal
Event or activityTask / EventEngagement

Which objects you actually need depends on the product:

  • Product analytics or customer success platforms → Contact and Account/Company (push usage, pull ownership)
  • Sales engagement tools → Contact/Lead, Account, Opportunity/Deal, Activity
  • Billing or revenue tools → Account/Company, Opportunity/Deal (push MRR, subscription status, renewal dates)
  • Marketing automation → Contact, Lead, Company, custom lifecycle properties

Most integrations ship Contact plus Account/Company first, then add Opportunity/Deal and Activity in phase two. Custom fields are the main source of scope expansion — every customer has their own picklists and required fields.

How does two-way sync and authentication work?

Two-way sync means data flows in both directions. Both platforms use OAuth 2.0 for authentication.

Most B2B SaaS products need two-way sync:

  • Product → CRM: usage data, health scores, events, billing status, feature adoption
  • CRM → Product: account ownership, deal stage, firmographics, lifecycle stage

One-way is enough only when you’re enriching the CRM for sales or marketing and don’t need CRM context inside your product. If your product has customer success workflows or in-product segmentation, you will need both directions.

For authentication, both platforms use OAuth 2.0 with per-customer token storage and refresh. Salesforce adds sandbox vs production separation and Connected App registration. HubSpot differentiates between public apps (marketplace distribution) and private apps (single customer). More detail in the FAQ below.

Should you build a direct API integration or an MCP server?

Direct API integration when your product consumes CRM data. An MCP server when your product has an agentic AI feature that needs CRM access.

A direct API integration is the default for product workflows. Your code reads and writes CRM data on a schedule, on user action, or via webhooks. Same input, same output, fixed sync logic.

An MCP server is for products that include agentic AI. If your product has an AI copilot or agent that needs to look up CRM records, create deals, or update contacts as part of its work, MCP lets that agent call CRM operations dynamically rather than hard-coding each flow.

MCP requires an AI agent consumer. No agent inside your product, no reason for MCP. Full breakdown in MCP vs API. If your product has both standard sync and an AI feature, you will likely need both builds, sharing the same auth layer underneath.

How long does it take to build a Salesforce and HubSpot integration?

Four to ten engineer-weeks in-house per platform for a two-way integration across core objects. One to two weeks per platform with a focused partner, when scope and requirements are already well defined.

In-house ranges we see:

  • Experienced team, clear scope, core objects only: 4–6 weeks per platform
  • Custom field mapping and a customer-facing config UI: 8–10 weeks per platform
  • Add 2–4 weeks per platform when testing across multiple Salesforce editions or HubSpot tiers

With a partner like us, 1–2 weeks per platform assumes the full scope is already known and well defined — objects, sync direction, auth model, error handling expectations, and customer-facing UX all decided before the build starts.

If scope is not locked, discovery workshops add 1–2 weeks: requirements gathering, edge case review, data model alignment with your product, and field-mapping decisions per customer segment.

Our pricing runs EUR 3,000–15,000 per platform, depending on object count, custom field complexity, partner API quality, and whether you need AppExchange support. Fixed quote after a scoping call.

Should you build it in-house or outsource?

Build in-house when your team has shipped CRM integrations before and CRM work is core to your roadmap. Outsource otherwise.

Three things drive the call:

Team experience. Salesforce and HubSpot APIs have their own quirks — governor limits, API versioning, OAuth edge cases. Teams without prior CRM integration experience need time to work through the same issues we have already solved. Add 40–60% to in-house estimates when the team is learning the platforms.

Ongoing vs one-off. If you need two CRM integrations and not much else, outsourcing is faster and cheaper. If CRM integration is central to your product — a native CRM app, a marketplace strategy, or continuous updates — a dedicated in-house team makes more sense over 12–18 months.

Opportunity cost. Every engineer-week on CRM sync is a week not spent on your core product.

Full decision framework in how to choose an API integration partner and build integrations in-house or outsource.

What should you keep in mind when building?

Five issues cause most production problems we see.

Rate limits. HubSpot has daily and per-second caps that vary by plan tier. Salesforce has 24-hour rolling API request limits tied to org edition. Build backoff and queue logic from day one.

Sandbox drift. Salesforce sandboxes drift from production as customers customize their org. Test against sandboxes that reflect real customer setups, not clean orgs. HubSpot test portals do not fully mirror production behavior either.

Webhook reliability. HubSpot webhooks retry with backoff but can still drop. Salesforce Platform Events and Change Data Capture need careful subscription handling. Pair webhooks with a polling fallback.

Duplicate handling. Both CRMs allow duplicates unless explicitly deduped. Decide upfront whether you match on email, domain, external ID, or a combination, and what happens when the match is ambiguous.

Custom field changes. Customers add, rename, and remove custom fields without telling you. Either fetch schema dynamically per sync, or version your field mapping and handle missing fields cleanly.


FAQ

How do I connect my SaaS product to Salesforce and HubSpot?

Register an OAuth app with each platform (Salesforce Connected App, HubSpot public or private app), store refresh tokens per customer, map your data model to Contact, Account/Company, and Opportunity/Deal, then build two-way sync with rate-limit handling and webhook subscriptions.

What’s the main API difference between Salesforce and HubSpot?

Salesforce uses a stricter object model with governor limits, supports SOQL queries, and requires sandbox/production separation. HubSpot has a simpler object model, uses REST with association endpoints, and enforces daily API caps by plan tier.

Do I need to be on AppExchange to integrate with Salesforce?

No. You can connect via OAuth without listing. AppExchange helps with distribution and customer trust but requires a Security Review that takes 4–12 weeks.

What’s the difference between HubSpot public and private apps?

Public apps are for marketplace distribution and multi-customer use, installed per-customer through OAuth. Private apps are for a single customer, installed in their portal with a fixed access token. Most B2B SaaS products use public apps.

How do HubSpot rate limits compare to Salesforce’s?

HubSpot uses daily API caps (roughly 250k to 1M calls depending on plan) plus per-second burst limits. Salesforce uses 24-hour rolling request limits tied to org edition. HubSpot is more predictable; Salesforce requires monitoring usage against the customer’s allocation.

Can one codebase handle both Salesforce and HubSpot?

You can share an abstraction layer for object mapping, auth, and sync orchestration, but the adapters are platform-specific. Expect roughly 60–70% shared code and 30–40% platform-specific.

Is MCP replacing API integrations for CRMs?

No. MCP is for agentic AI consumption inside your product. Direct API integrations are for product-to-CRM workflows. SaaS companies building AI features usually end up needing both.

What breaks most often in CRM integrations?

Token expiry, rate limit hits, and custom field schema changes. All three are preventable with defensive code and monitoring.