I'm on a deadline for setting up a migration and you've been very helpful and expedite to provide valuable feedback that I'll share some additional details before opening the support ticket if really needed.
The expression I'm using to try and update the userType is the following
IIF(IsPresent([EmployeeID]), "Member", "Guest")
The XPATH for the API expression for EmployeeID that I'm using is
wd:Worker/wd:Worker_Reference/wd:ID[@wd:type='Employee_ID']/text()
Test scenarios:
Test 1: Succeeds (eg. transition from Contingent Worker to Employee)
- Target an AAD user that has an EmployeeID coming from the matched Workday worker and set his manually set his userType = 'Guest'
- Run the "provision on demand" action for the matching target WorkerId
- User type is updated as expected to 'Member' after working through some weird client caching issues. Additionally the details pane for the "provision on demand" feature does not show any metadata in the data flow tab highlighting that userType was changed.
Test 2: Fails (eg. transition Employee to Contingent Worker) => MY ISSUE IS HERE. Is this by design?
- Target an AAD user that does not have an EmployeeID coming from the matched Workday worker, ie he's a Contingent Worker CW, and set his userType = 'Member'
- Run the "provision on demand" action for the matching target WorkerId
- User type is NOT updated as expected to 'Guest' and remains as 'Member' unless manually changed