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)

CG_***

No

STRING

Groups the employee belongs to at snapshot. Multiple custom group fields can be included within the file. See details (4)

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

(4): Group fields are used to indicate the employee belonging to a certain group at snapshot date. Custom Groups can represent any kind of grouping in your organization that is meaningful for you for analysis purposes. These groupings are used later to filter and aggregate data in Worklytics. Some examples of groups are: teams, office, business unit, region, division, department, role, etc.

The fields must start with CG_ prefix to distinguish them from others. Once imported, the prefix is discarded and the group name is normalized.

header in file
Custom Group Name in Worklytics

cg_location

LOCATION

CG_DIVISION

DIVISION

CG_SQUAD

SQUAD

The name of the field is normalized, so two fields like CG_BUSINESS_UNIT and CG_BUSINESSUNIT will be considered the same and will error, make sure to use the same name for the same group consistently over time.

By default, only 10 custom group fields are allowed. If you need more, please contact sales@worklytics.co.

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

SNAPSHOT,EMPLOYEE_ID,EMPLOYEE_EMAIL,JOIN_DATE,LEAVE_DATE,OFFICE_TZ,MANAGER_ID,ROLE,TEAM
2022-10-03,E-001,karen@example.net,2021-06-15,,Europe/London,,Senior Sales Rep,Sales

Only Karen was in the company that week

File: employee_snapshot_20221010.csv

SNAPSHOT,EMPLOYEE_ID,EMPLOYEE_EMAIL,JOIN_DATE,LEAVE_DATE,OFFICE_TZ,MANAGER_ID,ROLE,TEAM
2022-10-10,E-001,karen@example.net,2021-06-15,,Europe/London,     ,Senior Sales Rep,Sales
2022-10-10,E-002,jaime@example.net,2022-10-05,,Europe/London,E-001,Junior Sales Rep,Sales
2022-10-10,E-003,alice@example.net,2022-10-05,,Europe/Madrid,E-001,Junior Sales Rep,Sales

Notes: Jaime and Alice are new in the system, included in the files

File: employee_snapshot_20221017.csv

SNAPSHOT,EMPLOYEE_ID,EMPLOYEE_EMAIL,JOIN_DATE,LEAVE_DATE,OFFICE_TZ,MANAGER_ID,ROLE,TEAM
2022-10-17,E-001,karen@example.net,2021-06-15,,Europe/London,     ,Senior Sales Rep,Sales
2022-10-17,E-002,jaime@example.net,2022-10-05,,Europe/London,E-001,Junior Sales Rep,Sales
2022-10-17,E-003,alice@example.net,2022-10-05,,Europe/Madrid,E-001,Junior Sales Rep,Sales

Notes: no changes

File: employee_snapshot_20221024.csv

SNAPSHOT,EMPLOYEE_ID,EMPLOYEE_EMAIL,JOIN_DATE,LEAVE_DATE,OFFICE_TZ,MANAGER_ID,ROLE,TEAM
2022-10-24,E-001,karen@example.net,2021-06-15,,Europe/London,     ,Senior Sales Rep,Sales
2022-10-24,E-002,jaime@example.net,2022-10-05,,Europe/London,E-001,Junior Sales Rep,Sales
2022-10-24,E-003,alice@example.net,2022-10-05,2022-10-20,Europe/Madrid,E-001,Junior Sales Rep,Sales

Notes: Alice quits. The system will automatically bind Alice's data to her work stint.

Configuring Connection in Worklytics

  1. Log in to Worklytics (your user needs the Data Connection Admin role).

  2. Select the appropriate connector depending on your needs:

  3. Whichever connector you've chosen, follow the instructions to complete the connection:

  • Select the Parser setting: EMPLOYEE_SNAPSHOT

  • Select the Date format setting: US or ISO, matching your HRIS export date format.

Last updated