> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Personio

> Read Personio employees, absence periods, and attendance data, and create absence periods in the DACH-focused HR platform

## At a glance

* **Availability**: Experimental ([how to enable](/cloud/integrations)).
* **Auth**: OAuth 2.0 (client credentials).
* **Connection**: Veryfront mints machine-to-machine tokens from the client ID and secret in the project's environment variables.
* **Docs**: [https://developer.personio.de/reference/authentication](https://developer.personio.de/reference/authentication)

## Credentials

Set these per environment. See [Connect an integration](/cloud/integrations).

| Variable                 | Required | Description                                                                                                                                                                                                         |
| ------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PERSONIO_CLIENT_ID`     | Yes      | Personio API credentials Client ID (generated in Personio under Settings > Integrations > API credentials) [Docs](https://support.personio.de/hc/en-us/articles/4404623630993-Generate-and-manage-API-credentials). |
| `PERSONIO_CLIENT_SECRET` | Yes      | Personio API credentials Client Secret [Docs](https://support.personio.de/hc/en-us/articles/4404623630993-Generate-and-manage-API-credentials).                                                                     |

## Setup

1. **Generate API credentials**: In Personio, go to Settings > Integrations > API credentials and click 'Generate new credentials'. Grant the credential read access to Persons, Absences, and Attendances (and write access to Absences if you want to create absence periods). Copy the Client ID and Client Secret. If you do not have a Personio account, request a trial/demo account at [https://www.personio.com](https://www.personio.com).
2. **Set environment variables**: Add PERSONIO\_CLIENT\_ID and PERSONIO\_CLIENT\_SECRET to your .env.
3. **Verify access**: Run List Persons. Access tokens are minted automatically from [https://api.personio.de/v2/auth/token](https://api.personio.de/v2/auth/token) via the OAuth2 client\_credentials grant (form-encoded client\_id and client\_secret) - no user login is involved.

* This connector uses the Personio v2 API. The legacy v1 token endpoint ([https://api.personio.de/v1/auth](https://api.personio.de/v1/auth)) is a different flow and is not used here.
* Access tokens are valid for 24 hours.
* API credentials are scoped: a 403 from a tool usually means the credential is missing the corresponding permission (e.g. personio:persons:read, personio:absences:read).

Provider API reference: [https://developer.personio.de](https://developer.personio.de)

## Tools

| Tool                    | Access | Description                                                                                                          |
| ----------------------- | ------ | -------------------------------------------------------------------------------------------------------------------- |
| List Persons            | Read   | List employees (persons) in the Personio account with optional email filtering                                       |
| Get Person              | Read   | Retrieve a single employee (person) by ID                                                                            |
| List Employments        | Read   | List a person's employment records (position, department, supervisor, status), most recent first                     |
| List Absence Types      | Read   | List the account's absence types (vacation, sick leave, ...) to find the absence\_type IDs needed to create absences |
| List Absence Periods    | Read   | List absence periods (vacation, sick leave, etc.) with person and date-range filters                                 |
| List Attendance Periods | Read   | List attendance periods (work and break times) with person and update-date filters                                   |
| Create Absence Period   | Write  | Create an absence period (e.g. vacation or sick leave) for an employee                                               |

## Example prompts

* List the absence periods in Personio that overlap with this week and tell me who is out and why.
* Find an employee in Personio by email and show their profile details.
