Personio
HR Client id and secretRead employees, absences, attendances and recruiting data from Personio in any Windmill script, flow or app.
Set up in 3 steps
Generate API credentials
In Personio, open Settings then Integrations then API credentials. Generate a pair, and tick only the employee attributes the scripts should be able to read.
Add the resource in Windmill
Open Resources, add a resource of type personio, and fill clientId and clientSecret.
Run your first script
Fork any script below and read before writing anything. There are dozens here, so search by the verb you need.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Upload documents to be attached to applications
Upload Document
Updates an absence period by ID.
Update document metadata.
Update an attendance period.
Update an Employment.
Update a Person.
Update Project by ID
Update Employee by ID
Update Attendance by ID
Retrieves daily absence period breakdowns for a given absence period.
Retrieves an absence type by ID.
Retrieves an absence period by ID.
Retrieves an Org Unit.
Retrieve open positions
Retrieve an employment.
Retrieve a person.
Passing applications to Personio
List persons.
List employments of a given Person.
List document metadata.
List compensations.
List attendance periods.
List absence types.
List absence periods.
List Time-Offs
List Time-Off Types
List Projects
List Employees
List Document Categories
Resource type
personio — the shape of the credential every script on this page expects.
| Field | Type | Required | What it is |
|---|---|---|---|
| clientId | string | Yes | Client ID taken from the Personio dashboard. |
| clientSecret | string | Yes | Client Secret taken from the Personio dashboard. |
Questions
An employee field comes back empty
Personio grants readable attributes per credential pair. If a field is not ticked in the API credential's settings, it is absent rather than refused.
Why a pair and not a token?
The scripts exchange these two for a short-lived token on each run, so nothing expires in the resource.
Are my credentials stored on the hub?
Never. They live only in your own Windmill workspace, encrypted at rest.