It’s easy to manually create and update employee profiles within KPA Flex, but many companies wish to automate this process.
For example, you probably have an HR system with employee details like name, employee number, email address, etc. Typically you’ll want to sync this data with KPA Flex weekly, daily, or even several times a day.
The “Dataload” File
There are several ways to sync your data with KPA Flex, but all of them revolve around the “dataload” file.
A dataload is a CSV spreadsheet with particular column names. Here’s an example:
The system will lookup the employee number for each row. If the profile already exists, then it will be updated. If the profile is not found, it will be created.
There are dozens of columns that you can include – such as Title, HireDate, and more. Refer to “How to Load Data” in your KPA Flex site for details on what columns you can include, how the data should be formatted, example spreadsheets, and more.
To update your employee data, it is important to include the UpdatePolicy column in the dataload. For some columns, the data in your spreadsheet ignored; meaning it is not used to update the KPA Flex data. For example, your Employee rows may have Role set to "Employee" because you want all new profiles to have the lowest level of access. Then, over time, you elevate people's permissions through the website by changing their role within their profile page. In this case, you wouldn't want the dataload to update KPA Flex because KPA Flex's data is correct.
If you want to force KPA Flex to use data from your dataload file, you can add a column named "UpdatePolicy" and set each cell to "Always". This will force KPA Flex to use the data from your spreadsheet.
Here's an example:
Note: UpdatePolicy will not affect the MentorEmployeeNumber column or an Admin Role (an Admin Role is defined by access to "Configure Roles" under the Control Panel > Roles & Permissions page.
CREATING A DATALOAD FROM YOUR HR SYSTEM
Generally you’ll need someone in your IT group to connect the data from your HR system to KPA Flex. In most cases, your IT team will create a CRON job that runs daily, imports data from your HR system, manipulates it into KPA Flex’s dataload format, and uploads it to KPA Flex.
The KPA Flex development is not able to create custom code to pull from your HR system. Consider talking to your HR provider, your IT group, or a 3rd-party vendor in order to make this connection.
VERIFYING YOUR FILE
Before you automate this process, it’s a good idea to make sure your dataload file is valid. The easiest option is to manually upload it to the New Dataload Page.
This page will automatically validate your file, but won’t run it. If it is valid, you’ll get a summary of the changes that will be made. If it is invalid, you get a list of errors including the row number, column name, and more. Here is a tutorial video on how to manually upload an employee dataload:
AUTOMATING YOUR DATALOAD FILE
Now that you’ve got a valid file, you need to upload it to KPA Flex. Assuming you don’t want to upload it manually to the website, there are two options:
API – the dataload.create endpoint allows you to submit a dataload file via the API. You can optionally include email addresses to notify upon success and/or failure.
NOTE: See https://api.kpaehs.com for details.
To create an API token, visit your KPA Flex site: https://my.kpaehs.com/api
SFTP – alternatively, you can set up an SFTP folder for your dataload files through the SFTP Admin Page. Once a file is dropped into that folder, KPA Flex will automatically load it into the system.