Data Mapper types, input and output formats
The four Data Mapper types and the Input Type and Output Type each one allows: XML conventions and element order, custom Apex input and output classes, PDF and Docusign targets, and calling a Data Mapper from Apex or the Data Mapper REST API.
Define and configure Data Mappers to extract, transform, load and map data between source (JSON, XML, Custom Apex class, etc.) and target (JSON, XML, Custom Apex class, sObject, PDF, Docusign, etc.).
~8 min read · 8 practice questions ·
What the exam expects
- Pick the Interface Type (Extract, Turbo Extract, Load, Transform) and set an Input Type and Output Type that the type allows.
- Read and build XML input and output: the #text, @ and # conventions, and element order through Expected XML Output.
- Configure a Custom Input Class or Custom Output Class backed by an Apex class that implements Callable.
- Target an sObject, a PDF or a Docusign template, and know the prerequisites each target has.
- Invoke a Data Mapper from Apex with the Connect API and from an external system with the Data Mapper REST API.
Key terms: Interface Type (the Data Mapper type, fixed once created), Input Type / Output Type (the data format the Data Mapper reads and returns), Expected XML Output (the pane whose element order controls XML serialization), Custom Input Class (the Apex class that parses a non-JSON, non-XML input), executeDataMapper (the Connect API method Apex uses to run a Data Mapper), bundleName (the Data Mapper name in a REST request body).
Key facts
- Detail
- Can't be changed after the Data Mapper is created
- Detail
- sObject only; a Load's output is always a Salesforce object
- Detail
- No formulas; Output Type JSON or Custom
- Detail
- Set by the Expected XML Output pane; XML is unordered key-value
- Detail
- Value →
#text, attribute →@name, namespace →#ns, colon →#
- Detail
- Implements Callable;
deserializefor input,serializefor output
- Detail
- Fillable, Linearized, version 1.5 or above; no List Box fields
- Detail
- Fetch the Docusign templates again to refresh mappable fields
- Detail
ConnectApi.OmniDesignerConnect.executeDataMappersince Summer '25
- Detail
- POST
/v2/DataRaptor/;bulkUploadTRUE uses batch Apex
Sources for this section (8)
- Design for Performancetrailhead.salesforce.com (opens in a new tab)
- Custom I/Ohelp.salesforce.com (opens in a new tab)
- Data Mapper APIsdeveloper.salesforce.com (opens in a new tab)
- XML and JSONhelp.salesforce.com (opens in a new tab)
- Fill a PDFhelp.salesforce.com (opens in a new tab)
- Docusign Transformhelp.salesforce.com (opens in a new tab)
- Calls From Apexhelp.salesforce.com (opens in a new tab)
- REST APIhelp.salesforce.com (opens in a new tab)
- Why must a Data Mapper that produces a PDF be a Transform and not a Load?
- When does a Data Mapper need a Custom Input Class?
- Why does the Expected XML Output pane matter for a legacy XML consumer?
- Which PDF form field type can a Target PDF not use?
- How does Apex read the result of
executeDataMapperfor an Extract?
The questions are free to read. Answers with their sources and self-grading are included with the pack.
Keep reading with the Omnistudio Developer pack
- Core concepts
- Exam traps
- Worked scenario
The pack includes:
- All 46 lessons of the Omnistudio Developer guide, with reading progress
- Interactive decision walks and step-by-step sequence steppers
- Inline practice questions and one-click topic practice (8 questions for this lesson)
- An official source cited for every claim
- An AI tutor that answers from the guide
- Unlimited timed practice exams