{
  "slug": "salesforce",
  "url": "https://apps.sectorgrowth.com/integrations/salesforce/",
  "name": "Salesforce",
  "vendor": "Salesforce",
  "aliases": [
    "Salesforce CRM",
    "Salesforce Sales Cloud",
    "SFDC",
    "Salesforce.com"
  ],
  "website": "https://www.salesforce.com/crm/",
  "category": {
    "slug": "sales-and-marketing-platforms",
    "name": "Sales and marketing platforms",
    "url": "https://apps.sectorgrowth.com/categories/sales-and-marketing-platforms/"
  },
  "summary": "Salesforce holds the account, the opportunity and the activity log. HubSpot builds the sync itself, and the hard part is deciding who owns each field.",
  "answer": "Yes, and it is HubSpot's own app. HubSpot publishes the Salesforce integration, listed in the HubSpot App Marketplace as of September 2026, and configuring it properly is 8 to 24 hours of work rather than a build. Custom work joins it for custom objects below Enterprise, for filtering the sync rules cannot express, and for a migration where both systems stay live for months.",
  "nativeApp": {
    "status": "hubspot-built",
    "name": "Salesforce",
    "developer": "HubSpot",
    "verifiedAt": "2026-09-22"
  },
  "api": {
    "style": "rest",
    "auth": "oauth2",
    "webhooks": "yes",
    "changedSince": "yes",
    "sandbox": "yes",
    "rateLimit": "100,000 calls per 24 hours for an Enterprise Edition org plus 1,000 per Salesforce licence, with 25 concurrent requests running 20 seconds or longer",
    "docsUrl": "https://resources.docs.salesforce.com/latest/latest/en-us/sfdc/pdf/api_rest.pdf"
  },
  "objects": [
    {
      "source": "Lead",
      "hubspot": "contact",
      "direction": "two_way",
      "key": "Salesforce record identifier in a custom HubSpot property",
      "notes": "Leads and contacts both land on contacts, which is decision one."
    },
    {
      "source": "Contact",
      "hubspot": "contact",
      "direction": "two_way",
      "key": "Salesforce record identifier, with email as a fallback"
    },
    {
      "source": "Account",
      "hubspot": "company",
      "direction": "two_way",
      "key": "Salesforce record identifier",
      "notes": "Decide early whether Salesforce or HubSpot owns the account name."
    },
    {
      "source": "Opportunity",
      "hubspot": "deal",
      "direction": "two_way",
      "key": "Salesforce record identifier",
      "notes": "Record types map to pipelines, and stage names have to be agreed."
    },
    {
      "source": "Case",
      "hubspot": "ticket",
      "direction": "to_hubspot",
      "key": "Case number"
    },
    {
      "source": "Task and event",
      "hubspot": "engagement",
      "direction": "two_way",
      "key": "Activity identifier",
      "notes": "Volume here is what consumes the Salesforce call allocation."
    },
    {
      "source": "Custom object",
      "hubspot": "custom",
      "direction": "two_way",
      "key": "Salesforce record identifier",
      "notes": "Enterprise on both sides, and lookup fields cannot be mapped."
    }
  ],
  "approaches": [
    {
      "kind": "native",
      "fit": "recommended",
      "why": "HubSpot builds and maintains the integration, it carries the standard objects and activities both ways, and it gives you inclusion and selective sync rules without anyone writing code."
    },
    {
      "kind": "custom",
      "fit": "possible",
      "why": "A service is worth its cost for custom objects below Enterprise, for filtering the native rules cannot express, and for a migration where records have to move once rather than sync forever. Budget 70 to 150 hours when it is needed."
    },
    {
      "kind": "ipaas",
      "fit": "avoid",
      "why": "A per-task platform between two CRMs bills for every record that moves, and CRM to CRM volumes climb with the database rather than with the value you get from the sync."
    }
  ],
  "effort": {
    "discoveryHours": [
      4,
      8
    ],
    "buildHours": [
      8,
      24
    ],
    "buildBand": "8 to 24 hours",
    "typicalElapsed": "1 to 2 weeks"
  },
  "pattern": "polling-watermark",
  "faqs": [
    {
      "q": "Is the HubSpot Salesforce integration built by HubSpot?",
      "a": "Yes. HubSpot publishes it, and the marketplace carries a HubSpot listing for Account Engagement and a third-party premium connector from SyncMatters beside it. Installing it is a package in Salesforce plus an authorization from inside HubSpot, and it needs an administrator on both sides."
    },
    {
      "q": "How quickly does a Salesforce record reach HubSpot?",
      "a": "HubSpot's documentation says it checks for new and updated information roughly every 15 minutes and syncs when its rules and field mappings say it should. That is fast enough for reporting, routing and nurture, and too slow for anything a person is waiting on while looking at a screen."
    },
    {
      "q": "Can the HubSpot Salesforce integration sync custom objects?",
      "a": "Yes, with Enterprise subscriptions on the HubSpot side. The sync is two-way by default and each field can be set to two-way, Salesforce wins or HubSpot wins. The limits matter: field mappings involving Salesforce lookup fields on custom objects are not possible, and associations only sync between objects that are already syncing."
    },
    {
      "q": "How do we stop every Salesforce record from landing in HubSpot?",
      "a": "Two different controls, one per direction. Selective sync filters decide which Salesforce records come into HubSpot. An inclusion segment decides which HubSpot records are eligible to go the other way, and because the segment is active it updates as records qualify or stop qualifying. Getting both wrong is how a portal fills with records nobody wanted."
    },
    {
      "q": "Can we connect a Salesforce sandbox to HubSpot first?",
      "a": "Yes, and we always do. HubSpot supports connecting either a production org or a sandbox, and its documentation recommends validating configuration in the sandbox before applying it to live data. The cutover is then an authorization change rather than a rebuild, which is the same discipline we apply to every integration we ship."
    },
    {
      "q": "Will a HubSpot Salesforce sync use up our Salesforce API allocation?",
      "a": "It can, and activity volume is usually the reason. An Enterprise Edition org gets 100,000 calls in 24 hours plus 1,000 for each Salesforce licence, shared by every integration hitting that org. Salesforce also caps concurrent requests running 20 seconds or longer at 25. Large initial imports are the moment to watch."
    },
    {
      "q": "When is a custom Salesforce to HubSpot build worth it?",
      "a": "When a field has to be transformed rather than copied, when the record that should match is decided by business logic rather than by an identifier, when custom objects are needed below Enterprise, or when a migration needs one controlled pass with reconciliation rather than a sync that runs forever."
    },
    {
      "q": "How do two CRMs coexist during a migration without a fight?",
      "a": "One owner per object, written down before anything is switched on. In the pattern we are implementing now for an education publisher on a 16-week onboarding, Salesforce stays the system of record while HubSpot owns marketing, the native sync carries the core objects, and the association between a person and their organization is made by matching a shared external identifier rather than by name."
    }
  ],
  "sections": [
    {
      "depth": 2,
      "text": "Why teams connect Salesforce to HubSpot",
      "anchor": "#why-teams-connect-salesforce-to-hubspot",
      "url": "https://apps.sectorgrowth.com/integrations/salesforce/#why-teams-connect-salesforce-to-hubspot"
    },
    {
      "depth": 2,
      "text": "What syncs",
      "anchor": "#what-syncs",
      "url": "https://apps.sectorgrowth.com/integrations/salesforce/#what-syncs"
    },
    {
      "depth": 2,
      "text": "Architecture",
      "anchor": "#architecture",
      "url": "https://apps.sectorgrowth.com/integrations/salesforce/#architecture"
    },
    {
      "depth": 2,
      "text": "Three ways to connect",
      "anchor": "#three-ways-to-connect",
      "url": "https://apps.sectorgrowth.com/integrations/salesforce/#three-ways-to-connect"
    },
    {
      "depth": 2,
      "text": "What breaks and how we prevent it",
      "anchor": "#what-breaks-and-how-we-prevent-it",
      "url": "https://apps.sectorgrowth.com/integrations/salesforce/#what-breaks-and-how-we-prevent-it"
    },
    {
      "depth": 3,
      "text": "Duplicates across leads and contacts",
      "anchor": "#duplicates-across-leads-and-contacts",
      "url": "https://apps.sectorgrowth.com/integrations/salesforce/#duplicates-across-leads-and-contacts"
    },
    {
      "depth": 3,
      "text": "Fights over field ownership",
      "anchor": "#fights-over-field-ownership",
      "url": "https://apps.sectorgrowth.com/integrations/salesforce/#fights-over-field-ownership"
    },
    {
      "depth": 3,
      "text": "An org-wide daily call allocation",
      "anchor": "#an-org-wide-daily-call-allocation",
      "url": "https://apps.sectorgrowth.com/integrations/salesforce/#an-org-wide-daily-call-allocation"
    },
    {
      "depth": 3,
      "text": "Custom objects with no parent",
      "anchor": "#custom-objects-with-no-parent",
      "url": "https://apps.sectorgrowth.com/integrations/salesforce/#custom-objects-with-no-parent"
    },
    {
      "depth": 2,
      "text": "Our approach",
      "anchor": "#our-approach",
      "url": "https://apps.sectorgrowth.com/integrations/salesforce/#our-approach"
    }
  ],
  "caseStudies": [],
  "guides": [
    "https://apps.sectorgrowth.com/guides/choose-a-hubspot-integration-approach/"
  ],
  "builtBySectorGrowth": false,
  "status": "published",
  "verifiedAt": "2026-09-22",
  "updatedAt": "2026-09-25",
  "authors": [
    {
      "name": "Prash",
      "role": "Lead of Technical Integrations and AI Solutions"
    }
  ],
  "sources": [
    {
      "title": "REST API Developer Guide",
      "url": "https://resources.docs.salesforce.com/latest/latest/en-us/sfdc/pdf/api_rest.pdf"
    },
    {
      "title": "Salesforce Developer Limits and Allocations Quick Reference",
      "url": "https://resources.docs.salesforce.com/latest/latest/en-us/sfdc/pdf/salesforce_app_limits_cheatsheet.pdf"
    },
    {
      "title": "Streaming API Developer Guide",
      "url": "https://resources.docs.salesforce.com/latest/latest/en-us/sfdc/pdf/api_streaming.pdf"
    },
    {
      "title": "Import and sync Salesforce records",
      "url": "https://knowledge.hubspot.com/salesforce/salesforce-integration-sync-triggers"
    },
    {
      "title": "Sync custom objects between HubSpot and Salesforce",
      "url": "https://knowledge.hubspot.com/salesforce/set-up-and-use-salesforce-custom-object-sync"
    },
    {
      "title": "Connect your Salesforce sandbox to HubSpot",
      "url": "https://knowledge.hubspot.com/salesforce/how-do-i-connect-my-salesforce-sandbox-to-hubspot"
    }
  ]
}