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