HRIS / HCM Data
Worklytics supports importing Human Resource Information System (HRIS) data from CSV files to our platform. This data defines basic information about your personnel: join/leave date, manager, and potentially organizational structure (eg, dept, role, team, etc). We require this data to be provided in columns as specified below.
Each data row in the CSV will be a point-in-time snapshot of the HRIS record for an employee, as the employee appeared in your HRIS on the SNAPSHOT
date. This effective time for the snapshot is provided either as the value of the SNAPSHOT
column (preferred), or as a suffix (YYYYMMDD
) of the filename immediately prior to the file extension (eg, employee_snapshot_YYYYMMDD.csv
).
If a SNAPSHOT
field value is provided, it will take precedence over the value parsed from the filename suffix. You MAY provide snapshots for multiple dates in a single file, but in such case you MUST provide a SNAPSHOT
value for each row.
We recommend snapshots be generated WEEKLY, and that you initially provide one snapshot per week for the period of which you intend to analyze data. Eg, if it's currently June 2024, and you want analysis back to begining of the year, you'd send roughly 24 weeks worth of snapshots. It is simplest to split that into one file per week, even if you're providing the SNAPSHOT
column.
Snapshots should include all active employees and all terminated employees, unless the latter were terminated before the earliest snapshot date you're providing (eg, the start of the period for analysis).
Individual employees can be excluded from processing by providing a WORKLYTICS_SAMPLE
column with a value of false
for employees to be excluded.
Suggested filename: employee_snapshot_YYYYMMDD.csv
Field Name | Required | Type | Description |
---|---|---|---|
SNAPSHOT | Unless in filename. | DATE | Snapshot date, the moment in time this row represents |
EMPLOYEE_ID | Yes | STRING | Employee id in org's HR schema |
EMPLOYEE_EMAIL | Yes | STRING | Employee's main email address |
JOIN_DATE | Yes | DATE | Join date |
LEAVE_DATE | Yes | DATE | Leave date or empty if current employee |
LEAVE_REASON | No | STRING | VOLUNTARY or INVOLUNTARY |
MANAGER_ID | Yes | STRING | Employee id of the manager as of the snapshot date |
MANAGER_EMAIL | Only if manager not in the file (1) | STRING | Email of the manager as of the snapshot date |
WORKLYTICS_SAMPLE | No | BOOLEAN (2) | Whether the individual should be included in data processing. |
OFFICE_TZ | No | STRING | Time zone the employee is based (3) |
OFFICE_START_HOURS | No | TIME_OF_DAY | When working day starts HH:MM format (24H format) |
OFFICE_END_HOURS | No | TIME_OF_DAY | When working day ends HH:MM format (24H format) |
ROLE | No | STRING | Role for individual as of the snapshot date |
TEAM | No | STRING | Team this employee as of the snapshot date |
DEPARTMENT | No | STRING | Department this employee as of the snapshot date |
OFFICE | No | STRING | Assigned office of this employeea as of the snapshot date |
COST_CENTER | No | STRING | Cost center this employee as of the snapshot date |
REGION | No | STRING | Region this employee as of the snapshot date |
TERRITORY | No | STRING | Territory this employee as of the snapshot date |
LEVEL | No | STRING | Level this employee as of the snapshot date |
LINE_OF_BUSINESS | No | STRING | Line of Business this employee as of the snapshot date |
BUSINESS_UNIT | No | STRING | Business Unit this employee as of the snapshot date |
BUSINESS_SEGMENT | No | STRING | Business Segment this employee as of the snapshot date |
CUSTOM_GROUP_1 | No | STRING | Custom groupings that do not map 1:1 with the basics provided, association is kept by customer, up to 50 |
CUSTOM_GROUP_[2-50] | No | STRING | |
GITHUB_USERNAME | No | STRING | A GitHub username to associated with employee (see connectors/github |
GITHUB_USERNAME_ALT | No | STRING | An additional GitHub username to associate with employee (useful if using both GitHub Cloud and on-prem) |
(1): If you include MANAGER_EMAIL
and are using the pseudonymization proxy, ensure you modify the rules to pseudonymize it.
(2): Boolean types are case-insensitive, and can be provided as true
, false
, 1
, 0
, yes
, no
, y
, n
, t
, f
. Any other value will be considered false
.
If WORKLYTICS_SAMPLE field is not provided in any file, we assume true
, meaning anyone in the file is included in data processing.
If at least one file contains the WORKLYTICS_SAMPLE field, we assume it is in use and most recent value found for each employee prevails. If no value is found for an employee, we assume false
.
(3): We use IANA time zones. See https://github.com/eggert/tz/blob/master/zone1970.tab
Example snapshots
Given this employee information
Karen joined the company on 2021-06-15 as Senior Sales Rep. She's based in London, UK.
Jaime joined the company on 2022-10-05 as Junior Sales Rep. He's based in London, UK. Karen is his manager. Role
Alice joined the company on 2022-10-05 as Junior Sales Rep. She's based in Madrid, Spain. Karen is her manager.
Alice left the company on 2022-10-20.
All work in Sales TEAM
Here's an example of weekly snapshots during October, generated on Mondays, using ISO date format.
File: employee_snapshot_20221003.csv
Only Karen was in the company that week
File: employee_snapshot_20221010.csv
Notes: Jaime and Alice are new in the system, included in the files
File: employee_snapshot_20221017.csv
Notes: no changes
File: employee_snapshot_20221024.csv
Notes: Alice quits. The system will automatically bind Alice's data to her work stint.
Configuring Connection in Worklytics
Log in to Worklytics (your user needs the Data Connection Admin role).
Select the appropriate connector depending on your needs:
HRIS Data Import connector: processes the data input directly
HRIS Data Import via Psoxy connector: performs pseudonymization of the data input before processing it
Whichever connector you've chosen, follow the instructions to complete the connection:
Select the Parser setting:
EMPLOYEE_SNAPSHOT
Select the Date format setting:
US
orISO
, matching your HRIS export date format.
Last updated