# Data Mapper Load: link mappings and interface objects

*Omnistudio Developer Study Guide · Data Mappers · Last updated October 27, 2026 · https://www.certifyforce.com/study-guide/omnistudio-developer/data-mappers/data-mapper-load-link-mappings-and-interface-objects*

How a Data Mapper Load writes to several objects: object order and Add Link, field mapping settings (Default Value, Upsert Key, Lookup), XML input, the Options tab, the three input sources, and interface objects with their reserved DM fields and Delete On Success.

- Certification: Salesforce Omnistudio Developer
- Exam section: Data Mappers
- Study guide: https://www.certifyforce.com/study-guide/omnistudio-developer

**Official exam objective:**

> Configure and import data to multiple objects using load interface.

## What the exam expects

- Add several objects to a Load in the right order and relate records created in the same run with Add Link.
- Configure field mappings: Input JSON Path, Domain Object Field, Output Data Type, Default Value, Upsert Key, Required for Upsert and Lookup.
- Feed a Load from an Omniscript or Integration Procedure, a REST POST or Apex, including XML input from a callout.
- Set Load options such as Delete On Success and Is Default For Interface, and know which ones other units teach.
- Build an interface object for bulk external data: reserved DM fields, the trigger and future class, and SObject input.

Key terms: **Load object** (an object on the Objects tab the Load writes to, numbered in sequence), **link mapping** (Add Link: fills a field with a value from another object in the same Load), **Upsert Key** (a mapping flag that decides update versus insert), **interface object** (a custom object that holds imported rows for a Load), **DMProgressData** (the reserved field that receives created record Ids).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Add Link location | On the source object (the one with the lookup field) | [Link Mappings](https://help.salesforce.com/s/articleView?id=xcloud.os_multiple_related_object_loadslink_mappings_47183.htm&language=en_US&type=5) |
| Link settings | Domain Object Field, Linked Object, Linked Field | [Link Mappings](https://help.salesforce.com/s/articleView?id=xcloud.os_multiple_related_object_loadslink_mappings_47183.htm&language=en_US&type=5) |
| Empty string | Default Value `""` for null string fields | [Configure Load](https://help.salesforce.com/s/articleView?id=xcloud.os_object_field_mapping_47137.htm&language=en_US&type=5) |
| Required for Upsert | A null value prevents the record update | [Configure Load](https://help.salesforce.com/s/articleView?id=xcloud.os_object_field_mapping_47137.htm&language=en_US&type=5) |
| Input sources | Omniscript or IP JSON, REST POST payload, Apex parameter | [Data Mappers](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_dataraptors_45587.htm&language=en_US&type=5) |
| XML input | Load and Transform accept XML payloads | [Inputs and Outputs](https://help.salesforce.com/s/articleView?id=xcloud.os_inputs_outputs_for_data_mappers.htm&language=en_US&type=5) |
| Delete On Success | sObject input: deletes bulk records after a successful load | [Configure Load](https://help.salesforce.com/s/articleView?id=xcloud.os_object_field_mapping_47137.htm&language=en_US&type=5) |
| Reserved fields | DMError, DMProgressData, DMName (required), DMStatus | [Interface Objects](https://help.salesforce.com/s/articleView?id=xcloud.os_standard_create_interface_objects_for_a_data_mapper_load.htm&language=en_US&type=5) |
| Created Ids | Written to DMProgressData | [Interface Objects](https://help.salesforce.com/s/articleView?id=xcloud.os_standard_create_interface_objects_for_a_data_mapper_load.htm&language=en_US&type=5) |
| Load Preview | Records in Objects Created are saved permanently | [Preview and Test](https://help.salesforce.com/s/articleView?id=xcloud.os_preview_test_datamappers.htm&language=en_US&type=5) |

## Check yourself

- Why can't a Lookup fill the new Contact's AccountId when the same Load creates the Account?
- When do Delete On Success and Is Default For Interface apply?
- Why does Help's interface-object trigger skip an updated row whose DMStatus, DMError, DMProgressData or DMName changed?
- Why should you test a Load in Preview with throwaway data?

## Sources

- [Configure an Omnistudio Data Mapper Load](https://help.salesforce.com/s/articleView?id=xcloud.os_object_field_mapping_47137.htm&language=en_US&type=5)
- [Multiple Related Object Loads (Link Mappings)](https://help.salesforce.com/s/articleView?id=xcloud.os_multiple_related_object_loadslink_mappings_47183.htm&language=en_US&type=5)
- [Create a Contact for an Existing Account](https://help.salesforce.com/s/articleView?id=xcloud.os_create_a_contact_for_an_existing_account_47333.htm&language=en_US&type=5)
- [Create Interface Objects for a Data Mapper Load](https://help.salesforce.com/s/articleView?id=xcloud.os_standard_create_interface_objects_for_a_data_mapper_load.htm&language=en_US&type=5)
- [Supported Features in Omnistudio and Omnistudio for Managed Packages (Managed Package)](https://help.salesforce.com/s/articleView?id=sf.os_omnistudio_and_omnistudio_for_vlocity_products_and_features_support.htm&language=en_US&type=5)
- [Omnistudio Data Mappers](https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_dataraptors_45587.htm&language=en_US&type=5)
- [Inputs and Outputs for Omnistudio Data Mappers](https://help.salesforce.com/s/articleView?id=xcloud.os_inputs_outputs_for_data_mappers.htm&language=en_US&type=5)
- [Preview and Test Data Mappers](https://help.salesforce.com/s/articleView?id=xcloud.os_preview_test_datamappers.htm&language=en_US&type=5)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 7 linked practice questions, and unlimited timed mock exams are included with the Omnistudio Developer pack (USD $19): https://www.certifyforce.com/practice-exams
