Comparison

Connect your SaaS to Salesforce and HubSpot

Embed native Salesforce and HubSpot integrations in your product: prebuilt actions, bidirectional sync, and how Merge, Nango, and Workato compare.

Garrett Scott
,
Head of Marketing

Connect your SaaS to Salesforce and HubSpot

Your customers keep asking for a native Salesforce or HubSpot integration inside your product, and every time the answer is "it's on the roadmap," someone on your team quietly starts scoping what it would take to build it: per-provider OAuth, token refresh, rate limits, keeping up with two vendors' API changes, and doing all of that again for the next CRM a customer asks for. Paragon ships that native integration for 70% less engineering than building it in-house, with each of your customers authenticating their own Salesforce or HubSpot instance through a white-labeled portal embedded directly in your app, running under your own domain and branding rather than a Paragon-hosted page.

What "connect your SaaS to Salesforce and HubSpot" actually means

Paragon connects your SaaS to Salesforce and HubSpot through 130+ prebuilt connectors and a white-labeled Connect Portal: each of your customers OAuths their own CRM instance from inside your app, with the credential stored and refreshed per user. That is your product's own end users getting a native Salesforce or HubSpot integration, not an AI agent calling into a CRM on your behalf.

Concretely, a customer using your product clicks "Connect Salesforce" (or HubSpot) inside your app. They authenticate against their own org, with their own permissions, through an embedded flow under your own branding. From there, your application calls Paragon's abstracted actions and triggers for that connection instead of writing directly against the Salesforce or HubSpot API. The underlying token issuance and per-user credential isolation is the same primitive covered in managed multi-tenant authentication; this article stays on the CRM-specific surface: what you can build once that connection exists.

What you can build with prebuilt Salesforce and HubSpot actions

Paragon abstracts the Salesforce and HubSpot APIs into a set of ready-to-call actions, so your engineers write against one interface instead of two vendors' object models and versioned endpoints.

On the Salesforce side, the documented actions cover Create, Update, Delete, Get Record by ID, Get Records by List View, Search Records, and Search Records by SOQL query, each available against Contact, Lead, Opportunity, Task, and Account records or against any object generically, plus Deploy Custom Field and Deploy Custom Object. That last pair matters for CRM work specifically: most SaaS products eventually need to push data into a customer's custom Salesforce fields or objects, not just standard leads and contacts, and Paragon exposes that as a callable action rather than something your team reverse-engineers from Salesforce's metadata API.

On the HubSpot side, the documented actions cover Create, Update, Get by ID, Search, and Delete for Companies, Contacts, Deals, and Engagements (plus a generic record variant), and Get Contacts by List ID. Engagements cover the activity-logging use case (calls, emails, meetings) that most product-to-CRM integrations need alongside record CRUD, and Delete handles the other end of a record's life once your customer's workflow needs to remove something rather than just update it.

If a customer's workflow needs an endpoint outside that list, Paragon exposes direct API access to the underlying Salesforce or HubSpot method as a fallback, or the action can be requested and added to the connector catalog.

Keeping data in sync both ways

A one-way pull is not enough for most CRM integrations your customers ask for. If a sales rep updates a deal in Salesforce, your product needs to know without polling for it, and if your product creates or edits a record, that same rep needs to see it land in their CRM.

Paragon covers both directions. On the inbound side, webhook triggers push events to your application in near real time: New Record, Record Updated, Record Deleted, and Campaign Member/Opportunity Added on the Salesforce side; New Company/Contact/Deal, Company/Contact/Deal Updated, Record Deleted, and a dedicated Record Deleted for Privacy trigger for GDPR-driven deletions on the HubSpot side. On the outbound side, your app calls the actions above whenever your own product state changes. Paragon names this combined pattern Bidirectional Sync: building two-way syncs between your application and your customers' CRM data, with real-time webhook delivery on both legs rather than a scheduled batch pull.

Build vs. embed: the engineering cost of hand-rolling CRM auth

Building this yourself means solving the same set of problems for every CRM your customers ask for. Each provider needs its own OAuth implementation, its own token refresh cadence, its own rate-limit handling, and its own mapping between your data model and the provider's object model. Multiply that by however many customers connect their own instance, and you need per-tenant credential isolation so one customer's Salesforce token is never reachable from another's session.

Paragon's own numbers put the savings at roughly 70% less engineering to ship a native Salesforce or HubSpot integration compared with building it from scratch, since the OAuth flow, token refresh, and the action/trigger abstraction are already built and maintained. Copy.ai's CTO Chris Lu has described the alternative: hiring a dedicated integrations team in-house would have taken at least half a year, versus one engineer shipping multiple integrations in a few weeks on Paragon. Appsmith's VP of Engineering has described enabling a similar third-party integration, in their case Jira, in under an hour once the connector existed. Neither example is a Salesforce or HubSpot deployment specifically, but both point at the same underlying cost: the auth and API-maintenance work is what eats the timeline, not the business logic your team actually wants to write. That maintenance burden doesn't stop at launch: providers version and deprecate endpoints on their own schedule, the ongoing cost covered in keeping integrations working when third-party APIs change.

How Paragon fits into your product

A customer clicking "Connect Salesforce" inside your app touches four Paragon pieces before that connection does anything useful.

First, the white-labeled Connect Portal: dropped into your settings or onboarding flow with the Connect SDK, running under your domain and branding, so nobody lands on a Paragon-hosted screen. Full mechanics of the underlying per-user authentication model live in the multi-tenant auth article linked above.

Behind that portal, the customer authenticates against their own org, and Paragon stores the result as an isolated Credential tied to their user record, refreshed automatically so your team never touches a raw access token.

Once that Credential exists, your backend calls Create Record, Search Records by SOQL, Update Contact, and the rest of the action set above, scoped to that customer's connection, instead of writing against the raw REST API.

Last, bidirectional sync keeps both sides current: inbound webhook triggers notify your app the moment a record changes on the CRM side, and outbound action calls push your product's own changes back. Paragon's orchestration layer sequences retries and backoff when an upstream call fails, so a rate-limited Salesforce request gets retried rather than silently dropped, and a failed sync shows up in the event log rather than getting discovered by a customer first.

If your customers' next step after connecting their CRM is feeding that data into a retrieval pipeline rather than just syncing records, that's a related but separate problem covered in syncing customer data into a vector database.

Comparing embedded CRM integration platforms

Paragon is the clear winner for teams that want prebuilt, ready-to-call Salesforce and HubSpot actions and triggers, with bidirectional sync and embedded auth already wired together in one layer.


Paragon

Merge

Nango

Workato Embedded

Data model

Prebuilt actions/triggers per connector, plus custom-field and custom-object support

Normalized Common Models (Account, Contact, Lead, Opportunity, Task) across Salesforce, HubSpot, and 20+ other CRMs

Direct API access, including Salesforce Bulk API and HubSpot custom objects/fields

1,200+ deep connectors as part of a general-purpose embedded iPaaS

Custom field/object support

Deploy Custom Field, Deploy Custom Object actions, in the same action set as standard records

Separate Custom Objects API (beta): Custom Object Classes, Associations, GET/POST/PATCH, covering Salesforce, HubSpot, and Zendesk Sell

Read/write custom objects and fields directly

Depends on the specific connector, not CRM-specialized

Auth ownership

White-labeled Connect Portal embedded in your app

Merge Link handles end-user auth; React components for embedding

Drop-in Connect UI under the customer's brand, plus a headless option

Built-in multi-tenant auth as part of the broader embedded platform

Sync direction

Bidirectional, real-time webhooks both ways

Bidirectional: GET to read, POST/PATCH to write, across Common Models and the separate Custom Objects API

Managed sync plus direct writes via API calls

Supported, as one capability among a broad connector set

Compliance

SOC 2 Type II, GDPR, and HIPAA compliant

SOC 2 Type II, ISO 27001, HIPAA, GDPR

SOC 2 Type II, GDPR, HIPAA compliant

SOC 1/2/3, HIPAA with BAAs, GDPR

Best fit

Prebuilt CRM actions + bidirectional sync + embedded auth in one layer

Normalizing many CRMs into one schema

Custom, code-first API access with managed auth

Broad embedded iPaaS beyond CRM

Merge normalizes Salesforce, HubSpot, and 20+ other CRMs into a single unified schema of Common Models, reading and writing that data through GET/POST/PATCH across supported Common Models and integrations. For data outside those Common Models, Merge runs a separate Custom Objects API, currently in beta, built on its own Custom Object Classes and Associations models with GET/POST/PATCH support, covering Salesforce, HubSpot, and Zendesk Sell. That's a separate interface from the Common Models endpoints your team already calls for standard records. Paragon's Deploy Custom Field and Deploy Custom Object actions expose the equivalent capability inside the same action set as Create Record and Update Record, with no separate API to learn. (Merge's separate Agent Handler product is a tool-calling platform for AI agents, distinct from its CRM Unified API and outside this comparison.)

Nango gives direct, code-first access to Salesforce and HubSpot APIs, including custom objects and the Salesforce Bulk API, with managed OAuth and token refresh under the hood. That's closer to raw-API-access-with-managed-auth than a prebuilt action and trigger abstraction, fitting teams that write their own integration logic against the underlying API rather than call a packaged action.

Workato Embedded is a broader embedded iPaaS with 1,200+ connectors and a multi-tenant architecture built for embedding many kinds of integrations, not specifically CRM ones, per its OEM customer-experience documentation. Salesforce and HubSpot are two connectors among many rather than a purpose-built CRM action set.

Current as of July 2026; verify against each vendor's live documentation before publishing, since connector lists and compliance certifications change.

FAQ

Do my customers connect their own Salesforce or HubSpot account, or does my app use one shared connection? Each of your customers connects their own instance. Paragon's Connect Portal issues a separate, isolated credential per end user, so one customer's Salesforce data is never reachable through another customer's session.

What happens if a customer's Salesforce data changes outside my product? Paragon's webhook triggers (New Record, Record Updated, Record Deleted, Campaign Member Added, and the HubSpot equivalents) push that change to your app in near real time, so your product doesn't have to poll Salesforce or HubSpot on a schedule to stay current.

Can I push data into a customer's custom Salesforce fields or objects, not just standard ones? Paragon's Deploy Custom Field and Deploy Custom Object actions handle exactly this, called the same way as Create Record and Update Record. Merge covers similar ground through a separate Custom Objects API layered alongside its Common Models.

How much faster is this than building the Salesforce and HubSpot integration ourselves? Paragon states roughly 70% less engineering for teams shipping a native Salesforce or HubSpot integration through it versus building the OAuth, token refresh, and API mapping in-house, and customers like Copy.ai have described shipping multiple integrations in weeks with one engineer rather than staffing a dedicated team for half a year.

Is this the same thing as connecting an AI agent to Salesforce? No. This covers your own product's end users authenticating their own CRM instance and your app calling prebuilt actions and triggers against it, which is a different integration surface than an AI agent invoking CRM tool calls on a user's behalf.

Does Paragon support HubSpot the same way it supports Salesforce? HubSpot gets the same treatment: its own action set (Create, Update, Get by ID, Search, and Delete across Companies, Contacts, Deals, and Engagements) and its own trigger set (new, updated, and deleted records, including a dedicated GDPR deletion trigger), with the same Connect Portal auth model and bidirectional sync as Salesforce.

The takeaway

Shipping a native Salesforce or HubSpot integration inside your own product means each of your customers authenticating their own CRM instance, your app calling prebuilt actions and triggers instead of the raw API, and both sides staying current through bidirectional sync, deletes included. Paragon covers that end to end, with a documented action and trigger set for both CRMs, custom-field and custom-object support, and roughly 70% less engineering than building it in-house, while Merge, Nango, and Workato Embedded each solve a related but different piece of the same problem. Request a demo to see the Connect Portal and the Salesforce/HubSpot action set running against your own product.

Related

TABLE OF CONTENTS
    Table of contents will appear here.
Ship native integrations 7x faster with Paragon

Ready to get started?

Join hundreds of SaaS companies that are scaling their integration roadmaps with Paragon

Ready to get started?

Join hundreds of SaaS companies that are scaling their integration roadmaps with Paragon

Ready to get started?

Join hundreds of SaaS companies that are scaling their integration roadmaps with Paragon

Ready to get started?

Join hundreds of SaaS companies that are scaling their integration roadmaps with Paragon