Week 3 – Mapping, Transformations & IDL
📘 Reference: Full Dayforce Integration Studio Administrator Guide
Objective
Build your integration mappings using IDL, apply transformations, and configure expressions that prepare your Employee data for CSV output.
Overview
Now that you have a working source and schema, Week 3 introduces you to the Integration Description Language (IDL) — the powerful mapping and transformation layer of Integration Studio. IDL allows you to clean, reshape, and calculate data dynamically as it moves between Dayforce and external systems.
Lab – Build Your Field Mapping (60–90 min)
-
Open your integration and navigate to Map Fields.
-
Define your destination structure for the CSV output. Include headers such as: EmployeeID, FullName, HireDate, WorkLocation
-
Use Autofill from Source (if using a report), import a sample file, or manually add destination fields with matching data types.
-
Select the appropriate source for each destination field. Try to include at least one field with direct mapping from source to destination, a user defined value, a transformation, conditional mapping, and an expression to get the feel of both the front end and how to write an IDL expression. The available options are based on the data type of the destination field when configuring conditional mappings, transformations and so on.
-
After all your fields have been mapped and saved, click “View IDL” to see the IDL code generated from the front-end configuration. Most integrations can be configured using the front-end, with an expression or two for complex field requirements. Especially complex integrations can be written entirely in IDL.
Example Mapping Snippet (IDL)
mapping {
root = map(source?.Data?, (srcData, srcDataIndex) => {
EmployeeID = srcData.EmployeeNumber ?? nil;
FullName = vars([(srcData?.FirstName? ?? nil), (srcData?.MiddleName? ?? nil), (srcData?.LastName? ?? nil)], (FirstName, MiddleName, LastName) => string_concat(FirstName, " ", string_left(MiddleName, 1), " ", LastName));
WorkLocation = srcData.WorkAssignments.Items.Location.ShortName ?? “UNKNOWN”;
HireDate = srcData.HireDate ?? nil |> format_date(yyyy-MM-dd);
}
IDL Expression Examples
IDL expressions can be written in a few different places:
-
Field Level Expression
-
Parent Level Expression
-
Filter/Conditional Inclusion
First, define parameters and map each parameter to the appropriate source field, source array, Token, or user defined value. Then, each parameter can be referenced within the expression.
FirstName, MiddleName, LastName are all examples of parameters. To access a value that exists within an array parameter, you will have to write out the path. See the Integration Studio Admin Guide for more information on array parameters.
| Type | Example | Purpose |
| Combine fields with a substring | string_concat(FirstName, " ", string_left(MiddleName, 1), " ", LastName) | Build full name from multiple source fields, including middle initial |
| Math / Logic | BaseRate * WeeklyHours | Simple math |
| Strict Path Operator | WorkLocation? | Using ? allows a source field to be missing without throwing an error when Strict Paths is turned on |
✅ Pro Tip: Enable Strict Paths in your Mapper Options to catch missing or incorrect paths in your expression early.
Lab – Add Filters and Test Output
-
Filter out inactive employees or those without hire dates by clicking on the Filter icon for the root parent, then configuring the appropriate criteria
-
Run the integration and download the output CSV
-
Validate data ordering and formatting — confirm that columns match your design specification
Validation Checklist
-
✅ All destination columns have valid mapping, either using the front-end configuration options or an IDL expression
-
✅ Fields mapped directly from source to destination have a default value
-
✅ Date and number formatting is consistent with output requirements
-
✅ No null or ambiguous paths in expressions
Checkpoint
Conduct a peer review of your mappings:
-
Look for redundancy or inefficient expressions.
-
Confirm that functions and filters are used efficiently.
-
Ensure mappings are clean, readable, and maintainable.
🧭 Next Week Preview: Week 4 covers transmission setup, scheduling, and troubleshooting your complete end-to-end integration.
💬 Join the Discussion
Head to the Integration Studio Challenge Forum and share:
-
A screenshot of your first successful integration run
-
The type of integration you built (inbound/outbound)
-
One lesson you learned during setup
💬 Your experience might help another partner get their integration working faster — and that’s what the community is all about.
