Personio¶
Personio is a human resources management software that helps businesses streamline HR processes, including recruitment, employee data management, and payroll, in one platform.
omniload supports Personio as a source.
URI format¶
The URI format for Personio is as follows:
personio://?client_id=<client-id>&client_secret=<client-secret>
URI parameters:
client_id: the client ID used for authentication with the Personio APIclient_secret: the client secret used for authentication with the Personio API
Setting up a Personio Integration¶
To grab personio credentials, please follow the guide here.
Once you complete the guide, you should have a client ID and client secret. Let’s say your client_id is id_123 and your client_secret is secret_123, here’s a sample command that will copy the data from Personio into a DuckDB database:
omniload ingest --source-uri 'personio://?client_id=id_123&client_secret=secret_123' \
--source-table 'employees' \
--dest-uri duckdb:///personio.duckdb \
--dest-table 'dest.employees'
Personio source allows ingesting the following resources into separate tables:
Tables¶
Personio source allows ingesting the following sources into separate tables:
Table |
PK |
Inc Key |
Inc Strategy |
Details |
|---|---|---|---|---|
id |
last_modified_at |
merge |
Retrieves company employees details. |
|
id |
– |
replace |
Retrieves list of various types of employee absences Retrieves absence periods for absences tracked in days. |
|
id |
updated_at |
merge |
Fetches absence periods for absences with time unit set to days. |
|
id |
updated_at |
merge |
Retrieves attendance records for each employee |
|
id |
– |
replace |
Retrieves a list of all company projects |
|
id |
– |
replace |
Retrieves all document categories of the company |
|
id |
– |
replace |
Retrieves metadata about existing custom reports in your Personio account, such as report name, report type, report date / timeframe. |
|
[employee_id,id] |
– |
merge |
Retrieves the absence balance for a specific employee |
Use these as --source-table parameter in the omniload ingest command.\
[!WARNING] Personio does not support incremental loading for many endpoints, which means omniload will load endpoints incrementally if they support it, and do a full-refresh if not.