Skip to main content
Developer Communities Admin
Community Manager
September 15, 2026

I’m working on an Integration Studio inbound file for Employee Demographics, specifically for Work Assignment updates.

  • September 15, 2026
  • 37 replies
  • 30 views

Originally posted by Kanak Johari on May 27, 2026 at 1:12 AM.

 

Hi Everyone,

 

I’m working on an Integration Studio inbound file for Employee Demographics, specifically for Work Assignment updates.

 

In our inbound file, we receive values such as Jobxrefcode, Deptxrefcode, Orgxrefcode, Isprimary, and FTE. Our understanding is that when any of these attributes change, Dayforce creates a new Work Assignment record with a new effective start date.

 

However, we are observing a scenario where the effective date changes in the incoming full load file, but none of the actual work assignment attributes are modified. This happens because the source system includes additional work-assignment-related fields that change frequently, even though those fields are not maintained in Dayforce.

 

In this scenario, should Dayforce still create a new Work Assignment row solely because the effective date changed? Or is there a recommended approach to handle this so that no new Work Assignment row is created when there is no actual change in work assignment data, despite a different effective date?

 

Any guidance or best practices would be appreciated. Thank you!

    37 replies

    Developer Communities Admin
    Community Manager
    September 15, 2026

    Originally replied by Kanak Johari on Jun 4, 2026, 6:51 AM.

     

    Hi @Brenda Sutton​, Hi @Shruti Srinivasan​  Thank you for all your guidance and insights. Using the grouping approach, I am now able to resolve the issue of sending two rows for a single employee within one feed.

     

    However, I am still struggling with the primary requirement regarding the Tax Statement and Earnings Statement assignment logic:

    • If only a Primary Residence address exists:
      • Tax Statement = True
      • Earnings Statement = True
    • If only a Mailing address exists:
      • Tax Statement = True
      • Earnings Statement = True
    • If both Primary Residence and Mailing addresses exist:
      • Mailing Address → Tax Statement = True
      • Primary Residence Address → Earnings Statement = True

     

    Additionally, when a Mailing address is added after a Primary Residence address already exists, the expected behavior is:

    • Tax Statement should automatically switch to the Mailing address.
    • Primary Residence should no longer be used for the Tax Statement.
    • Earnings Statement should remain associated with the Primary Residence address.

     

    The challenge is that the client is not providing the "Display on Tax Statement" or "Display on Earnings Statement" fields in the source file. They expect Dayforce to determine and apply this logic during processing.

     

    I reviewed the conditional mapping option under Inbound integration, but I am not seeing a filter option available within the conditional mapping configuration. It seems direct conditional mapping. When you mentioned applying conditional logic and transformations on the grouped record, could you please clarify what you meant?

     

    Specifically:

    • Should the IDL expression be configured across the entire Address Information array?
    • For an inbound integration, could you provide a more detailed explanation of the grouping and conditional mapping approach you are recommending?
    • Is this requirement fully achievable through conditional mapping, or would an alternative approach be required?

     

    I have tried several expressions & even tried conditional mapping, but I have not been able to get all scenarios working together successfully. Any additional guidance, examples, or implementation details would be greatly appreciated. Thank you for your help in advance.

     

    Developer Communities Admin
    Community Manager
    September 15, 2026

    Originally replied by Kanak Johari on Jun 5, 2026, 3:27 AM.

     

    Hi @Lexi Woodward​ , Thank you again for your detailed explanation. I tried configuring the same setup as explained by you, Shruti, and Brenda; however, I wasn’t able to achieve the expected behavior.

     

    I’ve attempted to configure the Conditional Mapping as explained or shared above, but I’m noticing a difference in the UI compared to the screenshots shared:

     

    • When I select the Conditional Mapping option, I’m not seeing the filter/Choose Record option that appears in your example.
    • Similarly, in your second screenshot, I noticed you were able to specify a record name like “Primary Residence”, but I’m not getting that configuration screen when I try to set a filter either at the parent array level or within the AddressInformation array. For reference, I’ve attached screenshots below—while setting up the local filter, I see only three options available. If I select any of those, I am able to apply grouping, but there is no option or field that allows me to specify a particular record name (e.g., Primary Residence)

    Additionally, to provide more context on my setup:

    • I created a custom inbound integration using HR Import (auto-fill from import)
    • The structure includes:
      • Employee Import
        • └── Employee (Is Array)
        • ├── WorkAssignment (Is Array)
        • ├── EmploymentStatus (Is Array)
        • ├── AddressInformation (Is Array)
          • ├── ContactInformationTypeXrefCode (Primary Residence & Mailing)
          • ├── AddressLine1
          • ├── DisplayOnEarningStatement
          • ├── DisplayOnTaxStatement
    • Within AddressInformation, multiple records (Primary Residence / Mailing) are received via ContactInformationTypeXrefCode and I am trying to derive:
      • DisplayOnEarningStatement
      • DisplayOnTaxStatement

    using conditional logic during import

     

    At the moment, I’m working in a Stage environment (release 2026.1.1.1.2) and configuring an inbound integration, and I’m noticing the same behavior consistently.

     

    Could you please help confirm:

    • Whether this could be related to the environment or release version?
    • Or if I might be missing a specific step or configuration level ?

     

    Also, the challenge I’m facing is:

    • When I enable “Is Array” on AddressInformation (or on any other array), the local filter option does not open at all.
    • When I disable “Is Array”, the local filter option opens, but it only provides three options and allows grouping—there is still no field or option to specify a particular record name (e.g., “Primary Residence”), as shown in your screenshot.
    • I’ve also tried configuring this at both the parent array level and within AddressInformation, but the “Choose Record”/record name selection screen is not appearing in either case.

     

    Appreciate your further guidance on this. Thank you !

    Developer Communities Admin
    Community Manager
    September 15, 2026

    Originally replied by Lexi Woodward on Jun 5, 2026, 9:50 AM.

     

    Yay screenshots, that was the missing piece! The Choose Record icon only appears when you have selected a field which exists within an array. In my environment, I used the Employee Bulk API. Your configuration is relying on a flat source file, which means the address information does not exist in an array by default.

     

    We implemented grouping, but did we implement multiple mapping steps for this config as well? Linked maps within a single integration is new to Integration Studio as of 2026.1.0 and offers the ability to change the structure of your data several times before creating the final structure required by the vendor. To use this, click "Add Mapping". The first map takes the raw source data and maps it as instructed. The output of the first map becomes the input to the second map. You'll want to use the first map to group all the rows for the same employee and create any required arrays (ex: an Address array, which contains the address fields from the source data). When referencing address fields from the first map in the second map, you will then have the Choose Record option in Conditional Mapping.

     

    You can find more information, including specific examples of configuring linked maps, in the Help documentation, eg https://help.dayforce.com/r/documents/Dayforce-Integration-Studio-Administrator-Guide/Change-the-Structure-of-Your-Data

    Developer Communities Admin
    Community Manager
    September 15, 2026

    Originally replied by Kanak Johari on Jun 5, 2026, 12:22 PM.

     

    Hi @Lexi Woodward​ , Thank you for your help.

     

    As you suggested, I tried adding an additional mapping step and restructuring the data. However, I'm still not seeing the Choose Record option. I'm not sure what I'm missing at this point.

     

     

    I also reviewed the Dayforce documentation, as it was very helpful in clarifying the behavior. It looks like the Choose Record functionality as well as conditional mapping filtering appears to be available in outbound integrations (Employee Bulk API), but I'm not seeing it in my inbound integration configuration.

     

    Thanks again for your support.

    Developer Communities Admin
    Community Manager
    September 15, 2026

    Originally replied by Lexi Woodward on Jun 5, 2026, 12:44 PM.

     

    I think we might be getting stuck on the linked map configuration still. On the initial map, you'd want to create a hierarchical structure so leave the root as Source Array and then map the required fields below it with grouping applied:

     

    The purpose of the first map is just to change the structure of the data, to move from a flat file with multiple records for the same employee to a hierarchical structure where the data is grouped by employee. Then, the second map would include the required HR Import structure and fields such as DisplayOnTaxStatement can be conditional mapped to generate the expected results.

    note: I created a simplified structure with just the employee number and an address array. Any other data you need to map in the HR import or use for filtering would also be required in map 1, since the output of map 1 is the input to map 2.

    Developer Communities Admin
    Community Manager
    September 15, 2026

    Originally replied by Kanak Johari on Jun 8, 2026, 10:11 AM.

     

    Hi @Lexi Woodward​ , Happy Monday! Thanks for these details — I’m able to configure this approach now, and I really appreciate your effort with the screenshots, it helped clarify the structure.

     

    I’ve created the two mappings as suggested. For Map 2, this is the logic I’ve implemented so far:

    Map 1: Grouping

    Map 2: HR Import - Same as Map 1

    Conditional Mapping Example applied -

    Choose Record Filter created so far -

    I’ve tried a few different variations as well, but I think I’m still missing something in how the conditional mapping is being applied, since the output is not aligning with the expected behavior.

     

    Requirement Overview

    • If only a Primary Residence address exists:
      • Tax Statement = True
      • Earnings Statement = True
    • If only a Mailing address exists:
      • Tax Statement = True
      • Earnings Statement = True
    • If both Primary Residence and Mailing addresses exist:
      • Mailing Address → Tax Statement = True
      • Primary Residence Address → Earnings Statement = True

    Additionally, if a Mailing address is added after a Primary Residence address already exists, the system should automatically update as follows:

    • Tax Statement should switch to the Mailing address.
    • Primary Residence should no longer be used for the Tax Statement.
    • Earnings Statement should remain associated with the Primary Residence address.

    At this point, based on the logic or conditional mapping I’ve applied so far, only one approach appears to be working.

     

    Option 1:

    This would work when a Primary Residence address is received. However, if only a Mailing address is received, the integration would fail because the Primary Residence address is mandatory.

     

    Option 2:

    When both Primary Residence and Mailing addresses exist:

    • Mailing Address → Display on Tax Statement = True
    • Primary Residence Address → Display on Earnings Statement = True

     

    Could you please confirm whether there is an additional condition or mapping rule that I may be missing? Based on my testing, I’m unable to achieve the expected behavior for all scenarios using the current logic I have applied so far.

     

    Thanks!

    Developer Communities Admin
    Community Manager
    September 15, 2026

    Originally replied by Lexi Woodward on Jun 8, 2026, 2:37 PM.

     

    Given that the value of these fields depends on what Address records exist, the conditional mapping criteria can test for each combination of records. For example, a criteria set can return TRUE for the "Display On Tax Statement" field when a Primary Residence exists but a Mailing address does not:

    You would want to build out your structure for each field like so to account for the data that could be received and mapped by the integration. You've outlined three possible scenarios:

    1. Employee has one (Primary Residence) address
    2. Employee has one (Mailing) address
    3. Employee has two (Primary Residence + Mailing) addresses

    Scenario 1 is demonstrated with the screenshots above. Each field would reasonably have two criteria sets and an ELSE clause for records that don't meet either criteria set.

    Developer Communities Admin
    Community Manager
    September 15, 2026

    Originally replied by Kanak Johari on Jun 10, 2026, 1:03 AM.

     

    Hi @Lexi Woodward​  I got this piece sorted. Thank you for your guidance !

    Developer Communities Admin
    Community Manager
    September 15, 2026

    Originally replied by Kanak Johari on Jun 12, 2026, 3:33 AM.

     

    Hi @Brenda Sutton​ , Hi @Lexi Woodward​ 

     

    I wanted to check whether there is any import type available for inbound integration that can be used to import both Jobs and Job Assignments.

     

    I found the Configuration Data Import, but it seems to support only Job imports. When I include the Job Assignment array, the import fails with an error.

     

    Is there a specific import type or integration method that supports Job Assignment imports? The client would like this process to be handled through Integration Studio.

     

    I would appreciate your guidance on this.

    Developer Communities Admin
    Community Manager
    September 15, 2026

    Originally replied by Lexi Woodward on Jun 10, 2026, 8:46 AM.

     

    You're very welcome!