Workday to JSM Assets

Please review instructions here to get started with setting up an Assets import configuration. You can then access OnLink app from the “Manage your apps” menu to further configure and set the field level mapping. Here’s an example configuration:

 

 

image-20240322-093645.png

 

 

 

 

  1. Set a descriptive name for this map

  2. Set source system to Workday

  3. Workday custom report that returns all workers - see this for custom report requirements.

  4. Asset Schema is pre-filled. This is the schema in JSM Assets on which you started the configuration.

  5. Select the Object Type within your schema.

  6. Select schedule frequency

  7. Attribute mapping - see below for more details.

 

Sample Workday User Object Schema

 

image-20240322-093726.png

 

 

 

Here’s the associated mapping

key:Worker_ID=WorkerID
map:First_Name=Name
map:EmailAddress=JiraUser
map:Email=Email
map:Title=Title
map:ManagerName=ManagerName
map:HireDate=HireDate
map:Location=Location
map:DepartmentName=DepartmentName|Name=${DepartmentName}
map:ManagerEmailAddress=ManagerEmailAddress
map:ManagerEmailAddress=ManagerObj|ManagerEmailAddress=${ManagerEmailAddress}
map:ManagerEmail=ManagerUser

 

Here’s a detailed breakdown of each of the mapping items:

Key or Map

Description

Key or Map

Description

key:Worker_ID=WorkerID

The keyword “key” refers to using Worker_ID (from Workday custom report) as a unique identifier. This allows OnLink to update the record. WorkerID is a text attribute.

map:First_Name=Name

Maps First_Name from Workday custom report to Name text attribute

map:EmailAddress=JiraUser

The EmailAddress field containing email address of worker is mapped to JiraUser, which is an attribute of type “User”. Here OnLink looks-up the Atlassian User object based on the email address.

map:DepartmentName=DepartmentName|Name=${DepartmentName}

This maps employee DepartmentName in Workday to DepartmentName attribute in Assets schema, where DepartmentName is a reference and the lookup happens by name

map:ManagerEmail=ManagerUser

This maps manager to an Atlassian user object, look up happens via manager’s email address

map:EmployeeManager=ManagerObject|Name=${EmployeeManager}

This maps employee’s manager to Manager Object, which is a self-referencing object type. Lookup happens by name in this example but can be changed to Email.

map:ManagerEmailAddress=ManagerObj|ManagerEmailAddress=${ManagerEmailAddress}

The ManagerEmailAddress field containing email address of the manager worker is mapped to ManagerObj, which is an attribute of type Object. Here OnLink looks-up the object based on the email address.

map:Asset_Name=AssetsAttr|Name=${Asset_Name}|arraySeparator=~
config:array_parent=Worker_Assets
config:array_child=Asset_Name

If your report returns an array element such as you can use the mapping and config to push multiple elements to the “AssetsAttr” object attribute. Configure array_parent and array_child elements based on your JSON response structure.

"Worker_Assets": [
{
"Asset_ID": "92029",
"Asset_Name": "Laptop"
},
{
"Asset_ID": "83922",
"Asset_Name": "iPhone"
}
],

This also assumes that AssetsAttr is an attribute of type object with cardinality set with > 1 maximum.

config:data_limit=100

Optional parameter to limit the number of users to pull from Workday. This can be used for initial testing.

OnLink processes data in two steps - Get Data and Import Data. To manually test, you can click on Get Data first and then wait until you see “No more pending records. Data will be imported on next Import run.” message in Job Logs. Then, click on Import. Production runs are fully automated based on the schedule you choose.

Workday Custom Report Requirements
  1. Report should be enabled as RaaS.

  2. Report should only return primitive data types like string, date, integer, and not objects. Instead of returning an object, first write a calculated field to convert it to a string.

  3. Report should not have any filter prompts.

  4. Share report output JSON snippet of one or two records so that mapping can be completed.