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

In this article
- Salesforce data integration means moving and syncing records between Salesforce and databases, warehouses and other apps. There are six main methods: Data Import Wizard and Data Loader, Bulk API 2.0, ETL/ELT and reverse ETL, an iPaaS, or integration platform as a service (MuleSoft, Boomi, Informatica, Workato), Data 360 with zero copy, and event streams (Change Data Capture, Platform Events) feeding custom code.
- Pick by three things: volume (thousands of rows or millions), latency (nightly is fine, or seconds matter) and direction (into Salesforce, out of it, or both).
- Typical fits: one-off imports with the wizard or Data Loader; analytics with ELT into a warehouse; app-to-app sync with an iPaaS; near real-time replication with Change Data Capture; warehouse data in Salesforce without copying it with Data 360 zero copy.
- Most projects fail on data quality, not tools: no external IDs, no single system of record per field, and no owner for sync errors. Fix those first.
Jump to
- What Salesforce data integration covers
- The main methods, one by one
- Salesforce data integration tools compared
- How to choose: volume, latency, direction
- How the data flows in a typical setup
- Mapping: what to decide before anything moves
- How to set up a data integration, step by step
- Data quality and governance
- Pitfalls and how to fix them
- When a custom integration makes sense
- Go-live checklist
- Where Gilzor fits
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 / tools | Best for | Direction | Latency | Volume | Cost level | Watch out for |
|---|---|---|---|---|---|---|
| Data Import Wizard | Small one-off imports by admins | Into Salesforce | Manual | Under 50,000 records | Included | Supported objects only; no exports |
| Data Loader | Migrations, exports, simple scheduled loads | In and out | Manual or scheduled (Windows CLI) | Up to 150 million records per file with Bulk API 2.0 | Included | Runs on someone’s machine; no change tracking |
| Bulk API 2.0 | Large programmatic loads and exports | In and out | Minutes to hours | Up to 150 million records per rolling 24 hours | Included; build cost | Async jobs; you handle failed rows |
| ELT (Fivetran, Airbyte) | Analytics in a warehouse | Out of Salesforce | Scheduled, often hourly or better | High | Subscription by volume | API usage; deleted records and schema changes |
| Reverse ETL (Hightouch) | Scores and metrics back to reps | Into Salesforce | Scheduled | Medium to high | Subscription | Overwriting fields people edit |
| iPaaS (MuleSoft, Boomi, Informatica, Workato) | App-to-app sync, many systems | Both | Near real time or scheduled | Medium to high | Platform license plus build | License cost; needs an owner |
| Data 360 zero copy | Warehouse data in Salesforce without pipelines | Both, without copying | Live query | High | Consumption-based credits | Setup effort; depends on warehouse availability |
| Change Data Capture + custom | Near real-time replication, custom logic | Out of Salesforce (writes back via API) | Seconds | High | Build cost; add-on beyond five objects | You own retries, ordering and monitoring |
| Salesforce Connect | Viewing external records in Salesforce | Read, no copy | Live | Large reference data | Paid 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.
- Daily is fine: scheduled Data Loader, ELT or iPaaS batch jobs. Cheapest and easiest to debug.
- Within the hour: iPaaS polling or frequent ELT syncs.
- Seconds: Change Data Capture or Platform Events out of Salesforce; REST API calls or webhooks into it.
- Always current, no copy: Salesforce Connect or zero copy, at the cost of depending on the source system at read time.
- Into Salesforce: Data Loader, Bulk API 2.0, reverse ETL, iPaaS.
- Out of Salesforce: ELT for analytics, Change Data Capture for operational replicas, Bulk API 2.0 query jobs for exports.
- Both ways: an iPaaS or custom middleware, with one system of record per field and loop protection. This is where most of the cost sits.
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.
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 data | Salesforce object | Direction | System of record | Matching key |
|---|---|---|---|---|
| ERP customer | Account | Two-way, split by field | Salesforce for sales fields, ERP for billing fields | External ID (ERP customer number) |
| ERP contact or bill-to person | Contact | ERP → Salesforce | Usually Salesforce for new contacts | Email plus account |
| Product and price list | Product, Price Book Entry | ERP → Salesforce | ERP | Product code |
| Sales order and invoice | Order or custom object | ERP → Salesforce | ERP | Order number |
| Closed-won deal | Opportunity | Salesforce → ERP or billing | Salesforce | Salesforce ID stored in the ERP |
| Product usage, health score | Account fields | Warehouse → Salesforce (reverse ETL) | Warehouse | Account external ID |
| All CRM objects for reporting | Any | Salesforce → warehouse (ELT) | Salesforce | Salesforce ID |
| Large history (logs, events) | External object or Data 360 | Not copied | Source system | Source 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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




Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.
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
| Problem | What happens | Fix |
|---|---|---|
| No external IDs | Reruns insert duplicates; matching by name creates near-duplicates | External ID fields on every integrated object; always upsert |
| Sync loops | System A updates B, B’s change event updates A, forever | Ignore changes made by the integration user; CDC event headers include the change origin for this purpose |
| API limits | Record-by-record calls exhaust the daily allocation and other integrations stop | Bulk API 2.0 for volume, batch writes, monitor usage, schedule heavy jobs off-hours |
| Automations fire on loads | Flows, triggers and emails run for every imported record, slowing loads and spamming customers | Bypass permission or setting for the integration user; test automations with realistic volumes |
| Record lock errors | Parallel batches update children of the same account and fail with lock errors | Sort rows by parent ID, reduce parallelism for that object, retry failed rows |
| Deletes not propagated | Records deleted or merged in one system live on in the other and in the warehouse | Handle delete and undelete events; include deleted records in ELT; reconcile |
| Picklist and format mismatches | New values, date formats or currencies break rows silently | A shared mapping table, change picklists on both sides together, alert on rejected rows |
| Too many CDC objects | You need change events for more than five objects | Prioritize, or buy the Change Data Capture add-on |
| Integration tied to a person | A Data Loader job on a laptop or a personal login stops when someone leaves | Server-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.
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?
What are the best Salesforce data integration tools?
How do I connect a SQL database to Salesforce?
What is the difference between Data Loader and Data Import Wizard?
How do I sync Salesforce data in real time?
Is Data 360 required for Salesforce data integration?
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.

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?
Services
Web DevelopmentCustom websites and web apps — front-end, back-end, launch and support.→By company type
Selected projects






The team behind them





