Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

OnLink helps synchronize HR and employee data. Here’s a quick demo that shows how OnLink can be used to synchronize Workday HR data with JSM Assets.

https://www.loom.com/share/c6eca177260e41ceb7f98f848fa7925b

This is an update video showing how to map and test data imports.

https://www.loom.com/share/879dbfb4f5aa4f259e2c953e78810926

Here’s a

Getting Started

Here’s a getting started guide that walks you through the setup of OnLink.

Panel
bgColor#FFFFFF
  1. Click on Assets and click on the schema you want to import data into. Then click on Schema configuration -> Import -> Create Import and then select OnLink Importer. Give the Import a name and click on Create Import.

    image-20240218-044259.png
  2. Click on the three dots and select Configure app, then set a name in the Configure mapping attributes popup. Click on Save configuration.

    image-20231229-185253.png
  3. Then click again on Configure app to get a link (“to edit config use this link apps“) to the app where rest of the mapping needs to be setup. Click on the link to go to the OnLink app configuration.

  4. You should now see a configuration in OnLinkNow go to OnLink app, you should see a new configuration there. Select Edit in the drop down. Here you can select the Source system and rest of the configuration.

    image-20240218-044610.png
  5. For Azure and Workday, ensure their connectivity settings are configured in OnLink - Connections tab

  6. For Workday, select the Report name (username and report name combination e.g. “lmcniel/employee_data”).

Mapping Configuration

  1. Schema is pre-selected in OnLink and is lined set to the schema you selected in step 1. Set object type to the specific object you want to map to. Then map field level attributes (source data field is on the left side and the object attribute appears on the right side). Use “map” prefix for field mapping and “key” prefix for a unique identifier that will be used to identify objects for update purposes. Here are a couple of examples:

  2. Sample maps

    1. key:Worker_ID=WorkerID - sets Worker_ID (from source system) as the unique identifier, WorkerID (without the underscore) is the object attribute

    2. map:First_Name=Firstname


    map:Last_Name=Lastname
    map:Title=Title
    map:Email=Email
    map:Manager=Manager
    map:HireDate=HireDate
    map:DepartmentRef=DepartmentRef
    1. - maps First_Name from source to Firstname object attribute

    2. map:DepartmentRef=Department|RefID=${DepartmentRef}


    map:Location=Location
    key:Worker_ID=WorkerID
    1. - maps DepartmentRef (field in source data) to Department (an attribute in the schema that is of type Department object), the string following pipe specifies the AQL to lookup department. RefId is the key on the Department object. ${DepartmentRef} is the lookup value.

  3. To map references to other schema attributes, you can specify AQL after the pipe symbol as shown above for mapping DepartmentRef. DepartmentRefID is the value coming from Workday custom report. DepartmentRef is the attribute in schema pointing to Department object. RefID is the attribute on Department object. Here’s an example object definition - you can see support for User, Object and other types:

    image-20240218-045431.png
  4. For Azure, we support several custom mapping schemes e.g.

    CostCenterEmployeeOrg=Department

    To map multiple values (cardinality > 1), use any of these options:

    1. If incoming Json field is of type string array, then add this line map:DeptSrc=Department|Name=${DeptSrc) - the assumption in this case is that "DeptSrc" is an array object in the incoming Json data.

    2. If incoming Json field is of type object array, then add this line map:OrgData=CostCenter|Name=${CostCenterEmployeeOrgOrgData}|arrayElement=CostCenterName - this maps employee Cost Center in Azure to Department attribute in your schema, where department is a reference and the lookup happens by nameEmployeeManager=ManagerObjectthe assumption in this case is that “OrgData” is an object array in the incoming Json data, with a child element “CostCenterName”

    3. map:incomingJsonValues=objAttr|arraySeparator=~ This tells OnLink that the json value has multiple values, each separated by a ~. You can also reference another object: two: map:DeptSrc=Department|Name=${EmployeeManager}

  5. OnLink has below configuration parameters:

config:data_limit=100 set to 100 for testing purposes, max is 1500. Each scheduled job processes a max of 1500 records. OnLink automatically fetches the next set of data in the next scheduled run.
config:export_azure_groups=true
config:export_azure_licenses=true
    1. DeptSrc)|arraySeparator=~

  1. Other mapping examples:

    1. map:Uptime=values.0_where_operatingSystem/name_eq_Uptime - where operatingSystem is an array object with name and values (array object) child elements. Gets first instance of values where name is Uptime.

    2. map:DiskText=sizeMegabytes_where_storage/device_eq_any - storage is an array object with device and sizeMegabytes as child elements. Gets first sizeMegabytes value.

  2. 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

“Get Data Completed”
  1. “No more pending records. Data will be imported on next Import run.” message in Job Logs. Then, click on Import.

For production runs, you can schedule the job and OnLink runs the GetData step as per your configured schedule. OnLink automatically runs the Import step every hour.image-20240318-045922.pngImage Removed
  1. Production runs are fully automated based on the schedule you choose.

image-20240318-045922.pngImage Added

Videos

OnLink helps synchronize HR and employee data. Here’s a quick demo that shows how OnLink can be used to synchronize Workday HR data with JSM Assets.

https://www.loom.com/share/c6eca177260e41ceb7f98f848fa7925b

This is an update video showing how to map and test data imports.

https://www.loom.com/share/879dbfb4f5aa4f259e2c953e78810926

Table of Contents
stylenone