The Import Set process
- Data arrives in a staging table (import set row table) — raw, untransformed
- A Transform Map defines how staging columns map to target table fields
- The transform runs — records are created or updated in the target table
Creating a staging table
Navigate to System Import Sets > Create Table or load a CSV file and ServiceNow generates the staging table automatically from the column headers.
Loading data via CSV
Navigate to System Import Sets > Load Data. Select the data source (file upload, FTP, JDBC, REST) and the staging table. ServiceNow creates Import Set rows — one per source row.
Transform Maps
The Transform Map tells ServiceNow how to convert staging rows into target records. Each field mapping has: Source field (staging), Target field (target table), and optionally a coerce script.
Coalesce fields
Coalesce is how you prevent duplicates. If you set a field as a coalesce key, ServiceNow will check whether a record already exists in the target table with the same value for that field. If it does, it updates that record rather than creating a new one.
// Example: coalesce on email_address to prevent duplicate user imports
// If a user with this email exists → update it
// If no user exists → insert newTransform scripts
For complex transformations, add a transform script to the Transform Map:
// Map a status code from source to ServiceNow state value
if (source.status == 'OPEN') {
target.state = 1;
} else if (source.status == 'RESOLVED') {
target.state = 6;
}
// Skip this row if no valid status
if (!target.state) {
ignore = true;
}Scheduled data loads
For recurring loads (daily file from HR, nightly CMDB sync), create a Data Source that points to an FTP location or REST endpoint, then schedule it. ServiceNow pulls the data on schedule and transforms it automatically.