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 NameRequiredTypeDescription

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

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:

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