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 API

  • client_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_img

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

employees

id

last_modified_at

merge

Retrieves company employees details.

absence_types

id

replace

Retrieves list of various types of employee absences Retrieves absence periods for absences tracked in days.

absences

id

updated_at

merge

Fetches absence periods for absences with time unit set to days.

attendances

id

updated_at

merge

Retrieves attendance records for each employee

projects

id

replace

Retrieves a list of all company projects

document_categories

id

replace

Retrieves all document categories of the company

custom_reports_list

id

replace

Retrieves metadata about existing custom reports in your Personio account, such as report name, report type, report date / timeframe.

employees_absences_balance

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