Salesforce User Insertion: How to Load Users with Data Loader

The Salesforce User Insertion process is an important early step in a Salesforce data migration. Creating users before loading other records makes it easier to build a user map that connects historical record owners to their new Salesforce owners. It also helps preserve important audit information, such as Created By and Modified By, when historical IDs need to be mapped to Salesforce user IDs.

In this tutorial, you’ll learn how to prepare the Salesforce User object, create a legacy ID, map Profile and Role IDs, prepare your user data, and insert users using Salesforce Data Loader.

Watch the tutorial:
https://youtu.be/WIojoNpUKhk

Table of Contents

💡 Before you start your Salesforce migration
What if you could avoid the mistakes that make Salesforce migrations harder?

Whether you're learning Salesforce, preparing for a data migration, or building stronger hands-on skills, the right guidance can save you hours of trial and error. Explore practical Salesforce training and connect with a community built around learning, practicing, and solving real Salesforce challenges.

Learn. Practice. Connect. Keep building your Salesforce skills beyond this article.

Preparing the User Object for Data Migration

Before inserting new user data, take a few minutes to prepare the Salesforce User object. Setting up a reliable Legacy ID and understanding Salesforce's expected data format can make the migration and future record mapping much easier.

🆔

Create a Legacy ID Field

If your User object does not already have one, create a Legacy ID field as a Text field and mark it as an External ID. This allows the field to be used for future upserts and record mapping.

Field Name
Legacy ID
Data Type
Text
Field Purpose
External ID
UNDERSTAND SALESFORCE'S FORMAT

One useful way to understand Salesforce's expected data format is to manually create a user record and then export it using Data Loader. This gives you a real Salesforce-generated example that you can open and review in Excel.

1

Create a Sample User

Manually create a user record in Salesforce to establish a real example of the information Salesforce expects.

Start with a real Salesforce record
2

Export with Data Loader

Export the user record with Data Loader to capture the actual Salesforce field structure and values.

Use the export as your reference
3

Review in Excel

Open the exported file in Excel and use it as a reference when preparing your migration data.

Match your migration workbook
📘

Use the Provided User Workbook

You may not need to create sample records manually. The provided user workbook already contains predefined values that can help streamline the migration and save time when preparing Salesforce user data.

Email Encoding
Time Zones
Locales
Languages
Currency Settings
💡

Migration Tip: Using the predefined values in the workbook can save time and may allow you to skip the manual sample-record step. When possible, use the Salesforce-compatible values already provided rather than creating them from scratch.

Understanding Required Fields and Data Transformation

When preparing a user list for Data Loader, you'll find that Salesforce requires several fields that may not exist in your legacy database.

Required User Fields
👤 Last Name
🏷️ Alias
✉️ Email
🔑 Username
🪪 Profile ID
🎯 User Role ID
🌐 Time Zone
📍 Locale
🗣️ Language
⚙️ Email Encoding

Salesforce IDs for Profile and Role

⚠️

A key point to remember is that Data Loader requires the Salesforce ID for fields such as Profile and Role rather than simply the name.

Mapping Legacy Values to Salesforce IDs

Legacy Database Profile = Profile Name Role = Role Name
Data Loader Profile ID User Role ID
Before Insertion
1

Extract the appropriate Salesforce IDs for the Profiles and Roles needed by your user data.

2

Map those Salesforce IDs to the corresponding user records in your migration data.

3

Use the mapped values when performing the Data Loader insertion.

💡

Key point: Profile and Role values need to be mapped to their corresponding Salesforce IDs before the user data is inserted.

Managing User Activation and Password Notifications

The Is Active field requires special attention during Salesforce User Insertion.

Controlling the Is Active Field

If Left Blank Is Active = TRUE

Users are inserted as active.

Alternative Approach Is Active = FALSE

Users can be activated later when appropriate.

⚠️

If the Is Active field is left blank, users are inserted as active. This can create problems if your Salesforce org does not have enough available user licenses.

To avoid unnecessary license issues: users can be inserted as inactive and activated later when appropriate.

Generate New Password and Notify User Immediately

✉️
Data Loader Limitation

This field is not available through Data Loader for simultaneously creating users and sending their welcome email.

Data Loader Insert Users
Not Automatic Welcome Email
💡

Key point: inserting users with Data Loader does not automatically mean that new users will receive a Salesforce welcome email.

⚡ Keep Learning

Ready to take your Salesforce skills further?

Learn more, practice with real Salesforce scenarios, and connect with other Salesforce learners.

Manually Creating a Salesforce User and Mapping Fields

Before preparing the final user data, it can be helpful to manually create a user in Salesforce to understand the required fields.

👤 Last Name Required field
🏷️ Alias Required field
✉️ Email Required field
🔑 Username Required field
🪪 User License Controls available Profiles
⚙️ Profile Depends on License

Understanding the User License and Profile Relationship

First User License

The selected license determines which profiles are available.

Then Profile

Choose from the profiles available for that selected license.

💡

Although Role may appear to be required in some Salesforce screens, it is not strictly necessary if your organization has not yet established its user roles.

Matching Salesforce Picklist Values to Data Loader

Salesforce Displayed Picklist Value

The value you see when working with Salesforce's picklists.

Data Loader Expected Value

The exact value expected when preparing the import data.

🌐 Time Zones
📍 Locales
🗣️ Languages
✉️ Email Encoding
📘

Why the workbook helps: it includes the correct values for Time Zones, Locales, Languages, and Email Encoding, making it easier to prepare the data expected by Data Loader.

Preparing User Data for Salesforce User Insertion

Before loading your users, make sure the Legacy ID field exists on the User object.

🆔

If it doesn't exist, create it as a Text field and enable it as an External ID.

Connecting Historical Records to Salesforce Users

Field Legacy ID

A consistent identifier carried from the historical user record.

Salesforce External ID

Keeps the migration identifier available for record mapping.

Historical User Record Legacy ID: USER-001
Salesforce User Legacy ID: USER-001

Using the Legacy ID for Future Data Loads

👤
Historical Record Ownership

The mapping can be used when additional data loads need to reference the newly created Salesforce users as record owners.

🧾
Audit Information

The same connection can help preserve references to historical user information when loading additional records.

💡

Key point: the Legacy ID creates a consistent connection between your historical user records and the Salesforce users created during the migration.

Handling Salesforce User Aliases and Usernames

Salesforce aliases have an eight-character limit, so they need to be prepared carefully.

Preparing a Salesforce User Alias

🔤
8 Maximum Characters

Keep Salesforce aliases within the eight-character limit when preparing your migration data.

Full Name John Smith Original user name
Alias jsmith First initial + last name

Practical approach: use the first initial of the user's first name followed by their last name, or use a shortened version of the last name when necessary.

Understanding Salesforce Username Requirements

✉️
Email-Format Value

Salesforce usernames must use an email-format value.

🌎
Globally Unique

The username must be unique across all Salesforce orgs.

Current Org user@example.com

The username may look unused in your current org.

⚠️
All Salesforce Orgs Must Be Unique

Another Salesforce org using the same username can still cause an error.

Preparing Usernames for Test Data

🧪
Why Test Data Needs Special Attention

A username that already exists in another Salesforce org can still cause an error, even if it isn't being used in your current org.

Use Unique Fake Email Addresses

Create unique email-format usernames specifically for testing.

Modify Existing Test Usernames

Adjust the usernames included in the test data so they are unique.

💡

Key point: aliases need to stay within eight characters, while usernames must use an email format and remain unique across all Salesforce orgs.

Extracting Salesforce Profile and Role IDs

One of the most important preparation steps is obtaining the correct Profile IDs and User Role IDs.

Salesforce Record Lookup

Manually Locating Profile and Role IDs

👤

Profiles

Navigate to Profiles in Salesforce and examine the record URL to locate the Profile ID.

🛡️

Roles

Navigate to Roles and examine the relevant record URL to identify the User Role ID.

🔎

Record URL

The Salesforce record URL provides a direct way to identify the ID associated with the record.

👤 Profile ID Lookup

When working with a small number of records, you can manually locate the Profile or Role and inspect its Salesforce record URL.

More Efficient Approach

Exporting Profiles and Roles with Data Loader

01 Export Profile Records

Export the relevant Profile records with Data Loader.

02 Export Role Records

Export the relevant Role records with Data Loader.

Excel Mapping

Mapping Names to Salesforce IDs

Profile Name
Profile ID
Role Name
Role ID
📊
Use VLOOKUP to complete the mapping

Bring the exported Profile and Role records into Excel and use VLOOKUP to match each name with its corresponding Salesforce ID.

Finalizing and Loading User Data with Data Loader

Once the user data has been prepared and the Profile and Role IDs have been mapped, copy the finalized information into a new CSV file.

Final File Preparation

Create the Final User CSV

📄 users-prepped.csv

Before loading the file, verify that the required fields are populated and that the Salesforce IDs have been mapped correctly.

Data Loader

Insert the Users into Salesforce

STEP 01 Open Data Loader Launch Salesforce Data Loader and select the appropriate operation.
STEP 02 Select Insert Choose the Insert operation and select the User object.
STEP 03 Map & Execute Map the Legacy ID and required fields, confirm the mapping, then execute the insertion.
Before You Execute

Verify the Field Mapping

Required fields are populated
Profile and Role IDs are mapped correctly
Legacy ID is mapped to the appropriate Salesforce field
The final mapping has been confirmed before insertion

Verifying and Storing Successful User Insertions

After the insertion is complete, review the Data Loader success file and preserve the successful records for future migration work.

Data Loader Results

Store the Successful User Records

Rename the success file to something such as:

user success

Then copy the successful records into a new tab in your user workbook.

Migration Reference

Preserve the Legacy ID to Salesforce User ID Mapping

Historical Record Legacy ID
Salesforce Salesforce User ID
🔍 The Big Picture

Why keep the successful User IDs?

Keeping the Legacy ID → Salesforce User ID relationship creates a reusable reference for future migration steps. The Salesforce-generated IDs can later be used in VLOOKUPs, mappings, and upsert operations when migrating records that reference these users.

🧠 Quick Check

Why should you keep the successful user records after the Data Loader insertion?

✓ Exactly! Keeping the successful records preserves the Legacy ID → Salesforce User ID relationship, which can be reused in future mappings, VLOOKUPs, and upsert operations.
01

Practice Salesforce User Insertion in a Developer Org

Practice the preparation, mapping, insertion, and verification process before working with real migration data.

The best way to become comfortable with Salesforce User Insertion is to practice the process in a Salesforce Developer Org. Load the provided test data and work through the preparation, mapping, insertion, and verification steps.

01 Prepare Review the test data before insertion.
02 Map Confirm the fields and Salesforce values.
03 Insert Run the Data Loader insertion.
04 Verify Review the results after insertion.
🧪 Practice the complete migration process

Work through the provided test data from preparation through verification so you can become familiar with the complete Salesforce User Insertion process.

🧪 Practice in a Salesforce Developer Org

📂
Load the Test Data

Use the provided test data and work through the preparation, mapping, insertion, and verification steps in the Developer Org.

🔄
Practice the Full Process

Repeating the complete workflow gives you a practical way to become comfortable with Salesforce User Insertion before performing the process elsewhere.

🔍 Double-Check Usernames Before Insertion

⚠️
Salesforce usernames must be unique

Before inserting the users, double-check the usernames. Salesforce usernames must be unique across all Salesforce orgs.

example.user@test.com
💡 Practice Tip

Prevent username errors before they happen

If a username in the test data already exists elsewhere, modify it or generate a unique fake email address before running the Data Loader insertion.

🧠 Quick Check

What should you do if a username in your test data already exists in another Salesforce org?

✓ Exactly! Salesforce usernames must be unique across all Salesforce orgs. If the test username already exists elsewhere, modify it or generate a unique fake email address before insertion.
🏁 Tutorial Complete

Salesforce User Insertion: Mission Complete?

Before you move on to the next migration object, complete the quick mission below and make sure your Salesforce users are ready for the next stage.

Migration Readiness 0 / 6 complete
🎯 Your Mission

Click each migration checkpoint once you've verified it. Your goal is to build a reliable Salesforce User Insertion foundation before loading the rest of your migrated data.

01

🪪 Create the Legacy ID

Confirm that your User object has a Legacy ID field that can connect historical users with Salesforce users.

02

🔗 Map Profile & Role IDs

Verify that the correct Salesforce Profile IDs and User Role IDs are mapped.

03

🧾 Check Required Fields

Make sure required user information and Salesforce-specific values are populated correctly.

04

🟢 Verify Is Active

Check the Is Active setting and avoid unnecessary Salesforce license issues.

05

👤 Check Username Uniqueness

Confirm that every username is unique across Salesforce orgs before insertion.

06

💾 Save the User Map

Keep the successful Legacy ID → Salesforce User ID mapping for future migration and upsert operations.

🏆 Mission Complete

Your User Migration Foundation Is Ready!

Salesforce User Insertion is an important early step in a successful Salesforce data migration. By preparing users first, creating a Legacy ID, mapping Profile and Role IDs, and carefully preparing the required user fields, you create a reliable foundation for loading the rest of your migrated data.

Using Salesforce Data Loader makes it possible to insert users efficiently, while keeping the Legacy ID-to-Salesforce ID mapping gives you a valuable reference for future data loads, VLOOKUPs, and upsert operations.

Before completing your insertion, remember to verify the Is Active setting, Profile and Role IDs, username uniqueness, and required field values. These checks can help prevent common errors and unnecessary license issues.

Once your users have been successfully inserted and verified, you'll have a solid user map that can support the next stages of your Salesforce data migration.

🚀

Ready to practice? Use the provided test data in a Salesforce Developer Org and follow the tutorial step by step to put your Salesforce User Insertion workflow into practice.

Frequently Asked Questions About Salesforce User Insertion

Have questions about Salesforce User Insertion? These answers cover the most important parts of the process, from required fields and Profile IDs to usernames, Data Loader, Legacy IDs, and post-insertion verification.

Salesforce User Insertion is the process of adding user records to Salesforce, often using Data Loader. During a data migration, users are typically created early so historical record ownership and audit information can be mapped to the correct Salesforce users.

Creating users early allows you to build a user map that connects historical user IDs with their new Salesforce IDs. This is especially useful when migrating records that need to preserve ownership or audit information such as Created By and Modified By.

Yes. Salesforce users can be inserted using Data Loader when the required user information and Salesforce IDs have been properly prepared and mapped.

A Legacy ID is a custom field used to store the identifier of a user from the previous or legacy system. Creating this field as a Text field and marking it as an External ID makes it useful for future mappings and upsert operations.

Common fields that need to be prepared include Last Name, Alias, Email, Username, User License, Profile, and other required user settings. The exact data required depends on the Salesforce configuration and the user records being inserted.

Yes. Data Loader requires the Salesforce Profile ID rather than simply the profile name when assigning a profile to a user.

You can find them manually in Salesforce or export the Profile and Role objects with Data Loader. The exported information can then be used in Excel to map profile and role names to their corresponding Salesforce IDs.

If the Is Active field is left blank during the insertion, users can be inserted as active. If your Salesforce org does not have enough available licenses, this can cause insertion problems. Users can instead be inserted as inactive and activated later.

No. The Generate New Password and Notify User Immediately option is not available through Data Loader for concurrent user creation and welcome email sending. Inserting a user with Data Loader does not automatically mean that the user will receive a new-user email.

A Salesforce user alias has an eight-character limit. A common approach is to use the user's first initial followed by their last name or a shortened version of the last name.

Yes. Salesforce usernames must be unique across all Salesforce orgs, not just within the org where you are currently inserting the user. This is particularly important when using test data.

Modify the username or generate a unique fake email address that follows Salesforce's username format. This can help prevent duplicate username errors during your Data Loader insertion.

The success file contains the Salesforce-generated user IDs. Saving it alongside the Legacy IDs creates a useful mapping between your historical users and their new Salesforce IDs, which can be used during later migration and upsert operations.

Yes. Practicing the process in a Salesforce Developer Org is a good way to become familiar with preparing user data, mapping Profile and Role IDs, performing the insertion, and verifying the success results before working with production migration data.

💡

Migration Tip: Keep your Legacy ID-to-Salesforce ID mapping after the insertion. This reference can save significant time when you begin loading records that depend on Salesforce User IDs.

⚡ Keep Learning

Don't stop at the tutorial — take your Salesforce skills further.

Keep building your Salesforce knowledge with practical lessons, real-world migration techniques, and a community where you can learn, ask questions, and connect with other Salesforce professionals.

Practical Salesforce lessons
Real-world scenarios
Community support

Continue learning beyond this article with Salesforce Masterclass.

Discover more from SMC Migrations

Subscribe now to keep reading and get access to the full archive.

Continue reading