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

# Personio

> Connect Personio to your Atako agents — 9 read and 3 write actions.

Let your agents read employees, departments, positions and absence types in Personio, list and log absences and attendances, and update employee records.

## Connection

* **Authentication**: API key (client\_id:client\_secret).

<Note>
  In Personio: Settings → Integrations → API credentials → Generate new credential. Name it "Atako" and grant read access to Persons (employees), Absences, Attendances, Org units and Jobs — plus write access to Absences, Attendances and Persons if agents should create or update them. Copy the Client ID and the Client secret and paste them joined by a colon: client\_id:client\_secret.

  See [Personio's documentation](https://support.personio.de/hc/en-us/articles/4404623630993-Generate-and-manage-API-credentials).
</Note>

## Read actions (9)

| Action | Description |
| - | - |
| `get_absence` | Get one absence period by id. |
| `get_employee` | Get one employee (person) by id, with their custom attributes. |
| `list_absences` | List absence periods overlapping start\_date..end\_date, optionally for some employees or absence types, or updated since a date. |
| `list_attendances` | List attendance periods (work and break) attributed to start\_date..end\_date, optionally for some employees or a status. |
| `list_departments` | List departments (or teams with type=team) — takes no required argument, so it also checks that the credential works. |
| `list_employees` | List employees (persons), 1-50 per page (default 10); filter by email, first/last name, status or last update; follow \_meta.links.next with cursor. |
| `list_employments` | List the employments of an employee (most recent first): status, position, department, supervisor, dates, weekly hours. |
| `list_positions` | List positions (jobs) defined in Personio; filter by name. |
| `list_time_off_types` | List absence (time-off) types with their id, name, unit (day or hour) and category. |

## Write actions (3)

| Action | Description |
| - | - |
| `create_absence` | Create an absence for an employee. Dates are local (YYYY-MM-DD, or YYYY-MM-DDTHH:MM for hourly types); half\_day\_start = starts in the afternoon, half\_day\_end = ends at midday. |
| `create_attendance` | Log an attendance period for an employee on a date (local times HH:MM). A break is its own period (type BREAK); set end\_date when it runs past midnight. |
| `update_employee` | Update simple fields of an employee: email, first/last/preferred name, gender, language, and custom attributes by id. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.