Salesforce has its own load tools, and there is a wide market of ETL and middleware around it. They overlap, and the wrong pick costs you rework. Here is what each data migration tool in Salesforce does, where it fits, and how we choose for your project.
900+ integrations completed · Salesforce partner · We sign BAAs
How we pick the tool
Files, a database, or a system we can only reach through its API
Which objects, what volume, and how they link to each other
A one-time move, or data that keeps flowing after go-live
Data Import Wizard lives in Setup and runs in the browser. It loads up to 50,000 records at a time into accounts, contacts, leads, campaign members, person accounts and custom objects, with duplicate matching built in. It fits a clean spreadsheet going into standard objects.
Data Loader is Salesforce's desktop app. It inserts, updates, upserts, deletes and exports on any object, up to 5 million records at a time, and can use the Bulk API for large volumes. Upsert by External ID is what lets parent and child records link up during the load, so it carries the bulk of a real migration.
ETL and middleware sit outside Salesforce. MuleSoft, which Salesforce owns, is an integration platform for connecting systems and transforming data on the way through; dataloader.io is a web-based loader from MuleSoft. Other ETL tools do similar work. These fit when the source is a live system rather than files, or when the same data has to keep moving after cutover.
And when a source only gives its data through an API, like documents in a legacy system, we pull it through that API and write it to Salesforce directly, with Apex where the data needs work on the way in.
What's included
For clean files going into standard objects and custom objects. Fast to run, with duplicate matching on contacts, leads and accounts.
For full migrations: every object, upsert by External ID, exports for checks, and deletes when a test load needs to be cleared.
For live sources and data that keeps moving after go-live, with transformations built into the flow instead of in spreadsheets.
For systems with no usable export, such as documents pulled from a legacy system's document API into Salesforce Files.
For transformations Salesforce should own: matching, defaults and calculations run on load, with automations that should stay off kept off.
Google Sheets and Excel to clean, dedupe and review the data with your team before any tool touches Salesforce.
Every load is exported back out and compared with the source, so a tool reporting "success" is not the last word.
A migration can use more than one: the wizard for a contact list, Data Loader for the core objects, an API pull for files.
Every system we connect to Salesforce, in one list
CallRail and CallTrackingMetrics native integrations, with recordings and AI call summaries on the lead
Gravity Forms, Jotform and Typeform fills create leads with tracking attached
LiveChat, SnapEngage, Tawk.to and Avochato conversations saved to the lead
Kipu and Sunwave: admissions in Salesforce, clinical in the EMR, kept in step
CollaborateMD, AdvancedMD and HiLite, with insurance payments on the patient
Stripe, PayTrace and PayPal payments recorded on the opportunity
Google Ads, Microsoft Ads, Meta and TikTok leads in, offline conversions out
ActiveCampaign lists and automations that follow Salesforce
Open other systems from the Salesforce record with SSO
Salesforce data in Google Sheets, BigQuery and Looker Studio
No app for it? We build the connection with Apex and the APIs
Book a free call. Tell us where the data is and where it needs to go, and we will tell you which tools fit and why. No obligation.
The JTS team are extremely knowledgeable when it comes to advertising attribution and maximizing the potential of customer and leads. They know software extremely well, and how all the pieces fit together perfectly. I highly recommend his services to anyone looking to streamline their technology and maximize their sales potential.
I have been thoroughly impressed with the results. JTS team expertise in systems and software integration has given me clear and concise reports, they help me also with generating qualified leads, has been instrumental in driving my business forward. Thank you for everything you have done for my business.
For the past five years, Journeys Through Search has been an incredible marketing company to assist in our PPC, web development and support. Quick responses, vast knowledge and marketing creativity made them such a value add to our organization.
How it works
We look at the sources, the objects and the volume, and whether anything has to keep syncing after go-live.
Priced by project, not by the hour, with the tools named in the plan.
Mapping signed off, then a sandbox load with the chosen tools that you check.
Loaded, exported back out, compared with the source, and handed over.
Working with us
US and overnight hours
Our teams cover all hours, so work keeps moving after your day ends.
AI agents in the workflow
We use AI agents in development and content creation, on a HIPAA-compliant Claude Enterprise license, so builds move faster.
900+ integrations completed
We have done this before, and it shows in how we plan and test.
Free call first
Honest advice before any work starts, even if you never hire us.
There is no single one. Data Loader carries the core of a full migration, the Data Import Wizard suits clean files into standard objects, and ETL or middleware like MuleSoft suits live sources. We pick per project.
The wizard runs in the browser, handles up to 50,000 records at a time and covers standard objects like accounts, contacts and leads plus custom objects. Data Loader is a desktop app that works on every object, up to 5 million records at a time, and supports upsert, delete and export.
Not for a one-time move from files. MuleSoft and similar ETL tools earn their place when the source is a live system or data keeps flowing into Salesforce after go-live.
Yes. We pull it through the source system's API and write it to Salesforce, including documents into Salesforce Files.
Data Loader can, once an admin turns on the setting that allows created date and created by on insert, and the setting that lets records be owned by inactive users.
By project, not by the hour. The first call is free, and you get a project quote after it.