· 15 min read

Salesforce Integration: A Practical Guide for 2026

Integrating Salesforce means letting it trade data with the systems around it, so nobody copies leads, orders or invoices by hand. You have four ways to do it: a ready-made connector, a no-code tool, an integration platform or custom code on the Salesforce APIs. This guide shows which one fits, which pattern and API to use, and the steps and checks that keep the sync clean after go-live.
A cloud connected by colored lines to a database, an envelope, a gear and a document, illustrating Salesforce integration with other systems
Planning a Salesforce integration?Tell us which systems need to talk to Salesforce. We’ll map the data flow, build the integration and support it after launch.
Plan my Salesforce integration

What "integrating Salesforce" actually means

Salesforce rarely works alone. Leads come from the website, orders live in the ERP, invoices in accounting, tickets in a support tool. An integration moves that data, or the action behind it, between systems automatically.

Almost every Salesforce integration does one of three jobs:

  • Data sync. Keep records such as accounts, contacts, products and orders the same in two systems.
  • Process automation. One system's event starts work in another: a closed-won deal creates an invoice, a new ticket alerts the account owner.
  • Showing data in place. Users see ERP orders or shipment status on the Salesforce account page without copying the data in.

Know which job you need before you compare tools. A tool that is great at copying records may be poor at real-time events, and the other way around.

Your four options, compared

Start with the simplest option that covers your data, volume and rules. Move up only when you hit a real limit.

OptionExamplesBest forCost levelEffortLimits
Native or AppExchange connectorVendor-built connectors (HubSpot, Slack, Outlook, Jira, accounting apps), AppExchange packagesOne popular app, standard objects, admin-run setupFree to low: often included or a per-user feeDaysFixed mappings and sync rules; you get what the vendor built
No-code automationZapier, MakeSimple triggers and low volume: new lead to Slack, form to contactLow: monthly plans by task or operation countHours to daysWeak at two-way sync, bulk loads, error handling and audit
Enterprise iPaaSMuleSoft, Boomi, Workato, Jitterbit, CeligoMany systems, ERP, two-way sync, reusable APIs, a team that owns integrationsMedium to high: annual subscriptions plus build timeWeeks to monthsPlatform cost and the skills to run it
Custom API integrationYour code on REST, Bulk API 2.0, Pub/Sub API; Apex calloutsIn-house or legacy systems, complex rules, high volume, integrations you sell as a featureOne-time build plus yearly maintenanceWeeks to monthsYou own monitoring, retries and every API change

ETL and data pipeline tools are a fifth, narrower option. They copy Salesforce data into a data warehouse for reporting, and some push modeled data back (reverse ETL). Use them for analytics, not for operational processes that need to happen in seconds.

Which Salesforce integration option fits you?

Salesforce integration patterns, in plain words

Salesforce's Integration Patterns and Practices guide names six integration patterns (it calls the first two Remote Process Invocation, Request and Reply and Fire and Forget). Pick one per data flow; a real project usually mixes two or three.

PatternWhat happensUse it whenTypical tech
Request and replySalesforce calls another system and waits for the answerThe user needs the result now: tax, credit check, live price, address validationApex callout, External Services, Flow HTTP callout
Fire and forgetSalesforce publishes an event and moves on; another system picks it upClosed deal to billing, new case to a support tool; a short delay is finePlatform Events, Change Data Capture, Pub/Sub API, outbound messages
Batch data synchronizationLarge sets of records are loaded or extracted on a scheduleNightly ERP product and price updates, data warehouse loads, migrationsBulk API 2.0, ETL tool or iPaaS
Remote call-inAnother system creates, reads or updates Salesforce recordsWebsite forms, a customer portal, an order system writing back statusREST API, composite requests, SOAP API
UI update based on data changesSalesforce screens refresh when data changes elsewhereAgents must see a payment or shipment status without reloadingPlatform Events or Change Data Capture with Lightning components
Data virtualizationSalesforce shows external data without storing itLarge order history or archives that users only readSalesforce Connect with external objects (OData or custom adapter)

A good rule: use events for things that happen (an order shipped), batches for things that are large (a full price list), and request and reply only when a person is waiting for the answer.

One org, several patterns: each data flow gets the pattern that fits it Website or portal Remote call-in REST API ERP, finance Batch data sync Bulk API 2.0, nightly Salesforce system of record for accounts, leads, deals Tax, credit, pricing Request and reply Apex callout Middleware (iPaaS) Fire and forget events Pub/Sub API, CDC then billing, support desk, warehouse External data Data virtualization Salesforce Connect Dashed line: read only, data stays outside. UI update pattern: Lightning pages listen to the same events.
Each external system gets the pattern that matches how fast and how much data it needs. Salesforce does not have to be the hub for everything; with many systems, middleware often is.

The Salesforce APIs and when to use each

Salesforce offers several APIs for the same data. The right one depends on volume, direction and how fast the other side needs to know.

APIWhat it doesUse it for
REST APICreate, read, update and delete records over HTTP and JSON; composite requests bundle several operations into one callMost remote call-in work: forms, portals, apps, small syncs
SOAP APIThe same record operations over XML, with a strongly typed contract (WSDL)Older middleware and enterprise tools built around SOAP
Bulk API 2.0Asynchronous jobs that load or query large CSV data setsThousands to millions of records: migrations, nightly syncs, warehouse loads
Pub/Sub APIPublish and subscribe to events over gRPC, with replay of recent eventsStreaming Salesforce changes to middleware or your own services
Platform EventsCustom event messages you define and publish from Flow, Apex or an APIBusiness events: "order approved", "payment failed"
Change Data CaptureAutomatic events for every create, update, delete and undelete on chosen objectsKeeping another system in sync without polling
Streaming API (PushTopic, generic events)Older CometD-based notifications; Salesforce calls these legacyExisting integrations only; new work should use Change Data Capture or Platform Events

One edition trap: according to Salesforce's documentation, API access is included in Enterprise, Unlimited, Performance and Developer editions. Professional Edition needs an API add-on bought from Salesforce, and many tools that call the API won't work without it.

The integration user and the Salesforce Integration license

Never run an integration under a real person's login. When that person leaves, the integration breaks, and every change it makes looks like their work.

Create a dedicated integration user instead. Salesforce provides a license type for exactly this:

  • Salesforce Integration user license. API-only access: the user can call APIs but can't log in to the user interface. According to Salesforce, orgs in supported editions get a limited number of these licenses at no extra cost (Salesforce announced five per Enterprise, Unlimited and Performance org at launch), and more can be bought.
  • Profile. The license comes with the Minimum Access - API Only Integrations profile, which replaced the older API Only System Integrations profile in new orgs. It grants almost nothing on its own, and its API-only restriction can't be switched off.
  • Permission sets. Assign the Salesforce API Integration permission set license, then a permission set with only the objects and fields this integration needs. One user and one permission set per integration makes audits and troubleshooting much easier.

Some connectors need a full Salesforce license for their user, for example when they also run features inside the user interface. Check the connector's documentation before you assign licenses.

Security: external client apps and OAuth

Integrations authenticate through OAuth 2.0, set up in an app definition inside Salesforce. Two changes matter for anything you build in 2026:

  • External client apps replace connected apps. Starting with the Spring '26 release, creating new connected apps is restricted by default; an org that still needs one has to ask Salesforce Support. Existing connected apps keep working, but Salesforce recommends external client apps for new integrations. Connected apps that come inside an installed vendor package still install.
  • Password-based logins are on the way out. Salesforce is retiring the SOAP API login() call in the Summer '27 release (Spring '26 already switched it off by default in new orgs), and external client apps don't support the OAuth username-password flow. Integrations that store a username, password and security token need to move to OAuth.

For server-to-server integrations, use the JWT bearer flow (a certificate, no stored password) or the client credentials flow (runs as one assigned integration user). Use the authorization code (web server) flow when real people connect their own accounts, as with email and calendar tools. Limit the OAuth scopes, restrict which users can use the app, and keep secrets in a vault, not in code.

API limits: plan for them before go-live

Salesforce counts inbound API calls per org over a 24-hour period. According to Salesforce's documentation, an Enterprise Edition org gets 100,000 calls plus 1,000 per full Salesforce or Salesforce Platform license, and you can buy more. Every integration and connector shares that pool.

Salesforce lets a paid org go a little over the limit during an occasional spike, but past a hard cap calls fail with a REQUEST_LIMIT_EXCEEDED error. That can take every integration down at once. Keep usage well below the limit:

  • Use Bulk API 2.0 for anything that moves thousands of records.
  • Use events, not polling. Change Data Capture and Platform Events tell you what changed, so you don't ask every minute.
  • Batch your writes. Composite and collection requests update many records in one call.
  • Only sync what changed. Filter by last-modified date and skip unchanged values.
  • Watch usage. API usage shows in Setup and through the REST API limits resource, and API Usage Notifications in Setup can email you at a set percentage. Alert at 70–80%, not at 100%.

Built by Gilzor

Results we’ve shipped

70+products launched
98%delivered on time
85%clients come back
Art Scherbakov, Co-FounderAndrew Laminsky, CTOYuri Rudenya, Head of Mobile Development at GilzorAlena Timofeeva, Product Marketing Lead

Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.

See how we’d approach yours

How to plan a Salesforce integration, step by step

These steps work for any integration, from a connector you install in an afternoon to a custom ERP sync.

  1. Write down the business outcomeOne sentence per flow: "When a deal closes, finance gets an invoice within an hour without retyping anything." Flows without an outcome are the first to cut.
  2. List the data and pick a system of recordFor each object, and for important fields, decide which system owns the truth. Salesforce may own the account name while the ERP owns the credit limit. Two owners for one field is how sync loops start.
  3. Choose the pattern and timing for each flowReal time, near real time or nightly. Most teams ask for real time everywhere; most data is fine within minutes or overnight, and that is cheaper.
  4. Pick the toolCheck AppExchange and the other vendor's connector first. Go to an iPaaS or custom code only for what the connector can't do. Confirm your edition has API access.
  5. Set up the integration user and appA Salesforce Integration user license, a permission set with only the needed objects and fields, and an external client app with a server-to-server OAuth flow.
  6. Map fields and valuesFill in a mapping sheet: field, type, direction, owner, transformation. Map picklist values one by one, and decide which external ID field links the records.
  7. Clean data before the first syncMerge duplicates, fill required fields and fix bad picklist values in both systems. An integration copies your mess faster than people can.
  8. Build and test in a sandboxUse a full or partial copy sandbox connected to the other system's test environment. Test creates, updates, deletes, bad data, the same message twice and the other system being down.
  9. Load history, then switch onRun the initial load with Bulk API 2.0, check record counts on both sides, then turn on the live sync. Turn off old manual imports and duplicate automations the same day.
  10. Monitor and own itName an owner, set alerts for failed records and API usage, and review the error log weekly for the first month.

Object mapping: who owns what

A typical starting point for a CRM-to-ERP or CRM-to-finance integration. Your ownership rules may differ; the point is to decide them in writing.

Other systemSalesforce objectDirectionSystem of record
Customer (ERP or accounting)AccountTwo-waySalesforce until the first order, then ERP for billing fields
Contact (marketing tool, ERP)Contact or LeadTwo-waySalesforce for sales fields; marketing tool for consent and engagement
Item, price listProduct, Price Book EntryERP to SalesforceERP
Sales orderOpportunity, OrderSalesforce to ERP, status backSalesforce for the deal; ERP for fulfillment status
Invoice, paymentCustom object or read-only fieldsERP to SalesforceERP or accounting
Support ticketCaseDepends on which tool agents work inThe tool where agents answer customers
Email, meeting, callTask, Event (activities)To SalesforceEmail, calendar or phone system

Common pitfalls and how to fix them

  • Duplicates. The integration matches on name or email and creates a second record. Fix: store the other system's ID in an external ID field on the Salesforce record and upsert on it.
  • Sync loops. System A updates B, B's update triggers a sync back to A, forever. Fix: one owner per field, skip updates made by the integration user, and only sync values that actually changed.
  • Record ownership. Everything the integration creates belongs to the integration user, so sales reps can't see or own it. Fix: set the owner explicitly from assignment rules or a mapping table.
  • Picklist mismatches. "CA" in one system, "California" in the other, and records fail validation. Fix: map every value in the mapping sheet and alert on unknown values instead of dropping them.
  • Validation rules and automation. A new required field or Flow blocks integration writes overnight. Fix: include the integration in your release testing, and design automations so they handle records created by the integration.
  • API limits. A full resync at month-end uses the day's pool. Fix: Bulk API 2.0 for large jobs, events instead of polling, and an alert on usage.
  • Data that should not sync. Card numbers, health data, salaries or private notes end up in Salesforce because "all fields" was easier. Fix: sync only mapped fields, and get sign-off from whoever owns privacy and security.
  • Silent failures. The sync stops and nobody notices for a week. Fix: error alerts to a named person, plus a daily count check between systems.

When a custom integration makes sense

Connectors and iPaaS cover most needs. Custom code on the Salesforce APIs earns its cost when:

  • the other system is your own product, a legacy app or a database with no connector;
  • the logic is specific to your business: pricing, approvals, multi-step order flows;
  • volume or speed goes beyond what a connector or no-code plan handles at a sane price;
  • the integration is a feature you sell to your own customers who use Salesforce.

A typical custom build includes an authentication setup through an external client app, a mapping and transformation layer, idempotent upserts on external IDs, an event listener or scheduled jobs, retries with a dead-letter queue, logging and alerts, and tests against a sandbox.

$2–10kSimple one-way API integration
$10–40kTwo-way sync with a CRM, accounting or marketing platform
$40–150k+ERP, EHR or legacy system integration
15–25%Of the build cost per year for maintenance

These ranges come from the API integration cost guide, which breaks down where the hours go. For warehouse and pipeline projects, see the cost of data integration.

Each of these has its own guide with the options, mapping and pitfalls for that pair of systems:

Go-live checklist

Tick what is already true for your integration. It shows how ready you are to switch the sync on in production.

Salesforce integration go-live

FAQ

What is Salesforce integration?
Salesforce integration means connecting Salesforce with other systems so data and processes flow between them without manual copying. Typical examples are syncing accounts and orders with an ERP, pushing leads from a website or marketing tool, logging emails and calls, and sending closed deals to billing. It is done with a ready-made connector, an integration platform or custom code that uses the Salesforce APIs.
How do I integrate an application with Salesforce?
First check AppExchange and the other vendor for a ready-made connector, because it is usually the fastest route. If none fits, decide on the pattern (real-time events, scheduled batch or calls from the other system), create a dedicated integration user with minimal permissions, set up an external client app with an OAuth flow such as JWT bearer or client credentials, map the fields, and build and test everything in a sandbox before going live.
What is the Salesforce Integration user license?
It is a license type for system-to-system integrations: the user can call the Salesforce APIs but cannot log in to the user interface. According to Salesforce, orgs in supported editions (Enterprise, Unlimited, Performance and Developer) get a limited number of these licenses at no extra cost; Salesforce announced five per Enterprise, Unlimited and Performance org when it launched the license. More can be bought through your account executive. You grant access to objects and fields through permission sets on top of the Minimum Access - API Only Integrations profile.
What are the Salesforce API limits?
Salesforce counts inbound API calls per org over a 24-hour period. According to Salesforce’s documentation, an Enterprise Edition org gets 100,000 calls plus 1,000 for each full Salesforce or Salesforce Platform license, and orgs can buy more. Salesforce tolerates a short overage, but past a hard cap calls fail with a REQUEST_LIMIT_EXCEEDED error. Bulk API 2.0, composite requests and change events help integrations use far fewer calls.
Does Salesforce Professional Edition have API access?
Not by default. Salesforce’s documentation says API access is included in Enterprise, Performance, Unlimited and Developer editions, while Professional Edition orgs can buy it as an add-on. Some AppExchange apps that are approved for Professional Edition can still connect, so check with the app vendor and your Salesforce account executive before you plan an integration.
Is MuleSoft required to integrate Salesforce?
No. MuleSoft is Salesforce’s own integration platform and fits companies with many systems and an integration team, but it is not required. Many integrations run on a native connector, an iPaaS such as Boomi, Workato or Jitterbit, a no-code tool like Zapier, or custom code that calls the Salesforce APIs directly. Choose by number of systems, data volume, logic and who will maintain it.

Where Gilzor fits

Gilzor's engineers can map the data flow, build the Salesforce integration and support it after launch, whether that means configuring a connector, extending an iPaaS flow or writing a custom integration on the Salesforce APIs. See Salesforce integration services for how that work is set up. Bring your list of systems and flows; the mapping work in this guide becomes the project scope.

No sales pitch

Get a straight answer for your project

Tell us what you’re building. We’ll reply with options, a rough cost and timeline. If we’re not the right fit, we’ll say so.

Next, a few optional questions so the first call is useful. We use your details only to reply to your request. Privacy Policy

Andrew Laminsky
Written byAndrew Laminsky

CTO of Gilzor. Responsible for architecture and the engineering standards our teams work by.

LinkedIn →

Gilzor · Web Development partner

Need a team for your web product?

95%referred by business partners
70+successful launches
85%repeat business
98%delivered on time

The team behind them

Art Scherbakov
Art ScherbakovCo-Founder
Andrew Laminsky
Andrew LaminskyCTOLinkedIn
Yuri Rudenya
Yuri RudenyaHead of Mobile Development at GilzorLinkedIn
Alena Timofeeva
Alena TimofeevaProduct Marketing LeadLinkedIn
Tell us what you’re buildingOptions, a rough cost and timeline for your project. No commitment.

More insights