· 16 min read

Salesforce Data Integration: Methods, Tools and How to Choose (2026)

Salesforce data integration is how you get records into, out of and in sync with Salesforce: from a one-time CSV import to a live stream into your warehouse. The right method depends on volume, latency and direction. Below: every method, a tools comparison, how to choose, a setup path, and the data quality rules that decide whether it works.
A CRM cloud connected to a database, a data warehouse and app windows by data pipelines, illustrating Salesforce data integration
Moving data in and out of Salesforce?Tell us which systems, how much data and how fresh it must be. We’ll map the data flows, pick the method that fits, and build and support the integration.
Map my Salesforce data flows

What Salesforce data integration covers

Salesforce rarely holds all of a company’s data. Orders live in an ERP, product usage in a production database, analytics in a warehouse, and leads arrive from a dozen apps. Data integration is the plumbing that keeps those systems and Salesforce consistent.

It usually means one of four jobs:

  • Load and migrate. Get existing records into Salesforce, once or on a schedule: a CRM migration, a nightly price list, a customer master from the ERP.
  • Sync between apps. Keep accounts, orders, invoices or tickets consistent between Salesforce and another operational system.
  • Feed analytics. Copy Salesforce data into a warehouse or lake (Snowflake, BigQuery, Databricks, Redshift) to join it with everything else.
  • Activate data. Push scores, product usage or health metrics from the warehouse back into Salesforce so reps act on them.

Each job has a different best method. Trying to do all four with one tool is the most common reason integrations get expensive. If you are still deciding which systems to connect at all, start with our Salesforce integration guide.

The main methods, one by one

1. Data Import Wizard and Data Loader

These are Salesforce’s own tools for file-based loads. According to Salesforce’s Data Loader guide (Winter ’27), use the Data Import Wizard when you load fewer than 50,000 records into an object it supports, such as accounts, contacts, leads or custom objects. It also gives you built-in duplicate prevention: by account name and site for accounts, or by email for contacts and leads.

Data Loader is a desktop client for Windows and macOS, available in Enterprise, Performance, Unlimited and Developer editions. It inserts, updates, upserts, deletes and exports records for all objects, and reads from CSV files or a database connection. With Bulk API 2.0 it handles files of up to 150 million records; its command-line mode, which lets you schedule nightly loads, runs on Windows only.

Good for migrations, backups and simple recurring loads. Not a sync engine: it doesn’t watch for changes or resolve conflicts.

2. Bulk API 2.0

The API behind large loads. You create a job, upload CSV data, and Salesforce processes it asynchronously. Salesforce’s limits reference (last updated September 2026) allows up to 150 million records uploaded per rolling 24 hours, and recommends keeping each upload under 100 MB because data is base64-encoded on the way in. Bulk API 2.0 also runs large query jobs for exports.

Use it when your own code, ETL tool or iPaaS moves tens of thousands of records or more. Upsert by an external ID field so reruns update records instead of creating duplicates. For record-by-record calls and authentication patterns, see our Salesforce API integration guide.

3. ETL, ELT and reverse ETL

ELT (extract, load, then transform) tools such as Fivetran or Airbyte copy Salesforce objects into a warehouse on a schedule, and you model the data there with SQL. This is the standard route for analytics: pipeline revenue joined with billing, product usage and marketing spend.

Reverse ETL tools such as Hightouch do the opposite: they read modeled tables from the warehouse and write them into Salesforce fields, for example a product-usage score on the account or a churn-risk flag. The warehouse becomes the system of record for those metrics.

Classic ETL (extract, transform, load: the data is cleaned before it lands) still fits migrations and strict data cleansing, often with Informatica or a scripting pipeline.

4. iPaaS: MuleSoft, Boomi, Informatica, Workato

An iPaaS is a hosted integration platform with prebuilt Salesforce connectors, mapping, scheduling, retries and monitoring. They suit app-to-app syncs: ERP orders into Salesforce, closed-won deals into billing, accounts into a support tool.

  • MuleSoft is owned by Salesforce and built for API-led architectures with many systems. Our Salesforce MuleSoft integration guide covers it in depth.
  • Informatica brings data integration, data quality, catalog and master data management. Salesforce completed its acquisition of Informatica in November 2025.
  • Boomi and Workato are independent platforms; Workato leans toward business automation recipes, Boomi toward broad application and data integration.
  • Lighter tools such as Zapier or Make fit low-volume, trigger-based flows, not bulk data.

5. Data 360 and zero copy

Data 360 (formerly Data Cloud) is Salesforce’s data platform. It ingests data from Salesforce and other sources, resolves identities into unified profiles, and makes segments and insights available across Salesforce.

Salesforce describes its zero copy capability as data federation. Data 360 can query tables in Snowflake, Databricks, Redshift or BigQuery without copying them, and external platforms such as Snowflake can access Data 360 insights the same way.

It fits companies that already run a warehouse and want that data in Salesforce workflows without another pipeline. According to Salesforce, Enterprise Edition and higher orgs can provision it at no charge with a limited credit allowance. Real workloads consume paid credits and need their own setup, so it is rarely the answer for a simple two-system sync.

6. Change Data Capture, Platform Events and custom code

Change Data Capture (CDC) publishes an event every time a record of a selected object is created, updated, deleted or undeleted. According to Salesforce’s Change Data Capture Developer Guide, subscribers read events through Pub/Sub API, CometD or Apex triggers. Events are retained for three days, so an offline subscriber can catch up. You can select up to five objects by default; an add-on license removes that limit and raises delivery allocations.

Platform Events are custom messages you define and publish yourself, for example “Order shipped”, for event-driven flows between Salesforce and other systems.

A custom integration combines these with the REST and Bulk APIs in a small middleware service you own. It makes sense when no connector handles your logic, or connector fees grow faster than a build. Our Salesforce integration patterns guide explains request-reply, fire-and-forget, batch sync and data virtualization in detail.

Related: Salesforce Connect shows data from an external database as external objects inside Salesforce, without copying it. It suits large reference data that users look up but rarely report on.

Salesforce data integration tools compared

Method / toolsBest forDirectionLatencyVolumeCost levelWatch out for
Data Import WizardSmall one-off imports by adminsInto SalesforceManualUnder 50,000 recordsIncludedSupported objects only; no exports
Data LoaderMigrations, exports, simple scheduled loadsIn and outManual or scheduled (Windows CLI)Up to 150 million records per file with Bulk API 2.0IncludedRuns on someone’s machine; no change tracking
Bulk API 2.0Large programmatic loads and exportsIn and outMinutes to hoursUp to 150 million records per rolling 24 hoursIncluded; build costAsync jobs; you handle failed rows
ELT (Fivetran, Airbyte)Analytics in a warehouseOut of SalesforceScheduled, often hourly or betterHighSubscription by volumeAPI usage; deleted records and schema changes
Reverse ETL (Hightouch)Scores and metrics back to repsInto SalesforceScheduledMedium to highSubscriptionOverwriting fields people edit
iPaaS (MuleSoft, Boomi, Informatica, Workato)App-to-app sync, many systemsBothNear real time or scheduledMedium to highPlatform license plus buildLicense cost; needs an owner
Data 360 zero copyWarehouse data in Salesforce without pipelinesBoth, without copyingLive queryHighConsumption-based creditsSetup effort; depends on warehouse availability
Change Data Capture + customNear real-time replication, custom logicOut of Salesforce (writes back via API)SecondsHighBuild cost; add-on beyond five objectsYou own retries, ordering and monitoring
Salesforce ConnectViewing external records in SalesforceRead, no copyLiveLarge reference dataPaid add-on (Enterprise and above)Limited reporting; depends on source uptime

Connector apps for specific systems are listed on AppExchange (now AgentExchange). Check each listing for supported objects, sync direction and pricing model before a trial.

How to choose: volume, latency, direction

Answer three questions for each data flow, not for the whole project. One company often needs three different methods.

  • Under 50,000 records, once: Data Import Wizard.
  • Up to millions, once or on a schedule: Data Loader with Bulk API 2.0, or an ETL job.
  • Millions every day: Bulk API 2.0 through an iPaaS or your own service; for analytics, ELT into a warehouse.
  • Huge reference data users only look up: Salesforce Connect or Data 360 zero copy, so you don’t pay to store it twice.

Which approach fits you?

Answer for your most important data flow first: the job, freshness, direction, the skills you have in-house and the logic between systems. You get the method that usually comes first for a setup like yours; repeat it for other flows.

Which Salesforce data integration method fits?

How the data flows in a typical setup

A mid-size company with an ERP, a product database and a warehouse usually ends up with this shape: operational data comes in through an iPaaS or Bulk API, changes go out as events, analytics go to the warehouse, and a few modeled metrics come back.

One CRM, four kinds of data flow Operational systems ERP Orders, products, invoices Product database Customers, usage Event subscriber Billing, support, apps Salesforce Accounts, contacts, opportunities, orders Analytics Data warehouse Snowflake, BigQuery, Databricks, Redshift Modeled tables: health score, usage, lifetime value iPaaS / Bulk CDC events ELT Reverse ETL Zero copy Into Salesforce upsert by external ID, batch or near real time ERP owns orders and prices Out of Salesforce change events in seconds, replayable for three days Salesforce owns accounts Analytics loop raw objects out, a few metrics back as fields Warehouse owns scores
Each flow has one direction and one owner per field. Two-way sync exists only where two systems both legitimately edit the same record, and it is designed on purpose.

Mapping: what to decide before anything moves

For each object, write down the system of record, the matching key and the direction. This table is a typical starting point for a company with an ERP and a warehouse.

Source dataSalesforce objectDirectionSystem of recordMatching key
ERP customerAccountTwo-way, split by fieldSalesforce for sales fields, ERP for billing fieldsExternal ID (ERP customer number)
ERP contact or bill-to personContactERP → SalesforceUsually Salesforce for new contactsEmail plus account
Product and price listProduct, Price Book EntryERP → SalesforceERPProduct code
Sales order and invoiceOrder or custom objectERP → SalesforceERPOrder number
Closed-won dealOpportunitySalesforce → ERP or billingSalesforceSalesforce ID stored in the ERP
Product usage, health scoreAccount fieldsWarehouse → Salesforce (reverse ETL)WarehouseAccount external ID
All CRM objects for reportingAnySalesforce → warehouse (ELT)SalesforceSalesforce ID
Large history (logs, events)External object or Data 360Not copiedSource systemSource key

Two rules prevent most rework. Give every integrated object an external ID field that holds the other system’s key, and decide ownership per field, not per record. For ERP specifics, see our Salesforce ERP integration guide.

How to set up a data integration, step by step

The sequence below holds whichever method each flow ends up on: most of the work happens before any tool is switched on. For the actual screens, use the tool vendor’s current documentation, since menus move between releases.

  1. List every data flowSource, target, objects, direction, volume per day and how fresh it must be. One row per flow. This list decides the method for each flow.
  2. Profile and clean the dataCount duplicates, empty required fields, invalid picklist values and orphan records in both systems. Fix them at the source before the first load, not after.
  3. Add external IDs and matching rulesCreate external ID fields on each integrated object, back-fill them, and agree how records match when no ID exists yet (email, domain, tax number).
  4. Create a dedicated integration userUse an API-only Salesforce Integration user with a permission set that grants only the objects and fields the flow needs. According to Salesforce’s documentation, supported editions include a limited number of these licenses at no extra cost. Our Salesforce integration user guide covers setup.
  5. Pick the method per flowUse the table and tabs above. Check API allocations: Enterprise Edition orgs get 100,000 API calls per 24 hours plus an amount per user license, according to Salesforce’s limits reference.
  6. Build in a sandboxUse a full or partial copy sandbox with realistic volumes. Turn off or bypass automations that should not fire on integration writes, such as welcome emails or assignment rules.
  7. Test the ugly casesDuplicates, deleted and merged records, a new picklist value, a record edited in both systems at once, a failed batch rerun, time zones and currencies.
  8. Run the initial load, then switch on syncLoad history with Bulk API 2.0 first, check record counts and totals against the source, then turn on the incremental sync from a known point in time.
  9. Monitor and assign an ownerAlerts on failed jobs and error rows, a weekly reconciliation report, and a named person who fixes sync errors.

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

Data quality and governance

Integration copies problems faster than people can fix them. A few rules keep the data trustworthy:

  • One system of record per field. Write it down. Make synced fields read-only in the system that doesn’t own them.
  • Validate at the edge. Reject or quarantine bad rows before they reach Salesforce, rather than letting validation rules fail halfway through a batch.
  • Sync less. Every field you copy can conflict, leak or break. Show rarely used data live (Salesforce Connect, zero copy) or leave it in the source.
  • Respect access. Change Data Capture delivers only fields the subscribing user can see through field-level security, and the same applies to API reads. Grant the integration user exactly what each flow needs.
  • Keep personal data in scope. Know which flows carry personal data, where copies end up (warehouse, logs, iPaaS), and how deletion requests reach every copy.
  • Reconcile. Compare record counts and key totals between systems on a schedule; silent drift is more common than loud failures.

Pitfalls and how to fix them

ProblemWhat happensFix
No external IDsReruns insert duplicates; matching by name creates near-duplicatesExternal ID fields on every integrated object; always upsert
Sync loopsSystem A updates B, B’s change event updates A, foreverIgnore changes made by the integration user; CDC event headers include the change origin for this purpose
API limitsRecord-by-record calls exhaust the daily allocation and other integrations stopBulk API 2.0 for volume, batch writes, monitor usage, schedule heavy jobs off-hours
Automations fire on loadsFlows, triggers and emails run for every imported record, slowing loads and spamming customersBypass permission or setting for the integration user; test automations with realistic volumes
Record lock errorsParallel batches update children of the same account and fail with lock errorsSort rows by parent ID, reduce parallelism for that object, retry failed rows
Deletes not propagatedRecords deleted or merged in one system live on in the other and in the warehouseHandle delete and undelete events; include deleted records in ELT; reconcile
Picklist and format mismatchesNew values, date formats or currencies break rows silentlyA shared mapping table, change picklists on both sides together, alert on rejected rows
Too many CDC objectsYou need change events for more than five objectsPrioritize, or buy the Change Data Capture add-on
Integration tied to a personA Data Loader job on a laptop or a personal login stops when someone leavesServer-side scheduling, a dedicated integration user, a runbook

When a custom integration makes sense

Off-the-shelf tools cover most flows. Custom work pays off when:

  • You need seconds-level sync with business rules, approvals or enrichment on the way.
  • The other side is an in-house database or legacy system with no connector.
  • You run several Salesforce orgs and route data between them; see our Salesforce to Salesforce integration guide.
  • Per-record or per-task iPaaS pricing grows faster than a one-time build.

A typical build is a small service: Change Data Capture through Pub/Sub API for changes out of Salesforce, REST or Bulk API 2.0 for writes in, a queue between them, a link table of IDs, idempotent writes so retries don’t duplicate data, and alerts. It is real software, so budget for maintenance, not only the build.

$2–10kSimple one-way custom integration
$10–40kTypical custom two-way sync with a CRM
$40–150k+ERP or multi-system integration
15–25%Of the build cost per year to keep it running

Data-heavy builds land higher when volumes, deletes and reconciliation need extra handling. Our API integration cost guide is the source for these ranges; warehouse, pipeline and ETL budgets are broken down in the cost of data integration.

Go-live checklist

Run through this before the first production load. Each box you can tick honestly removes one of the failure modes from the pitfalls table.

Salesforce data integration go-live

FAQ

What is Salesforce data integration?
It is the work of moving and keeping data consistent between Salesforce and other systems: databases, data warehouses, ERPs, marketing tools and custom apps. It covers one-off imports and migrations, scheduled batch syncs, real-time event streams, and analytics pipelines that copy Salesforce data into a warehouse or push modeled data back. The method depends on volume, how fresh the data must be and which direction it flows.
What are the best Salesforce data integration tools?
There is no single best tool. Data Import Wizard and Data Loader handle imports and exports; Bulk API 2.0 handles large programmatic loads; ELT tools such as Fivetran or Airbyte copy Salesforce data into a warehouse; reverse ETL tools push warehouse data back; iPaaS platforms such as MuleSoft, Boomi, Informatica and Workato run app-to-app syncs; and Data 360 unifies data and can query warehouses through zero copy. Most companies combine two or three.
How do I connect a SQL database to Salesforce?
For scheduled loads, Data Loader can read from a database connection as well as CSV files, and ETL tools or an iPaaS can read from SQL Server, PostgreSQL, MySQL or Oracle and write through the Salesforce APIs. If users only need to see the database records in Salesforce, Salesforce Connect can expose them as external objects without copying them. For two-way sync, plan a middleware service with external IDs and loop protection.
What is the difference between Data Loader and Data Import Wizard?
According to Salesforce’s documentation, Data Import Wizard runs in Setup, is meant for fewer than 50,000 records on supported objects, and can prevent duplicates for accounts, contacts and leads. Data Loader is a desktop app for Windows and macOS that supports all objects, exports, deletes and, with Bulk API 2.0, files of up to 150 million records. Data Loader can also run scheduled jobs from the command line on Windows.
How do I sync Salesforce data in real time?
Use Change Data Capture. Salesforce publishes a change event when a record of a selected object is created, updated, deleted or undeleted, and a subscriber reads the events through Pub/Sub API or CometD and applies them to the other system. Events are kept for three days, so a subscriber that was offline can catch up. By default you can select up to five objects; an add-on license removes that limit.
Is Data 360 required for Salesforce data integration?
No. Data 360 (formerly Data Cloud) is Salesforce’s platform for unifying customer data and activating it across Salesforce. Enterprise Edition and higher orgs can provision it at no charge with a limited credit allowance, but real workloads are billed on consumption. It is worth it when you need identity resolution, segments or zero-copy access to Snowflake, Databricks, BigQuery or Redshift. Plain record sync between Salesforce and another system works fine with APIs, an iPaaS or ETL tools.

Where Gilzor fits

Gilzor is a software development company with engineers in Poland and Cyprus, not a Salesforce reseller. Starting from a flow list and a system of record table like the ones in this guide, we can map your data flows and field ownership, set up loads, ELT or an iPaaS, or build a custom integration on Salesforce APIs and Change Data Capture, then support it after launch. See how it is scoped on our Salesforce integration services page.

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