Request time off
Request time off for yourself or, with the right permission, for another employee.
MCP tool personio_write → request_time_off
Creates a time off request of the given type and dates. Without employee_id the request is for your own profile. Personio then applies its approval rules: Propose permissions send the request to the approver, Edit permissions skip approval. Half days work only where the type allows them. Returns the new request and its status. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| time_off_type string required | string | Name from list_time_off_types. |
| start_date string required | string | First day, YYYY-MM-DD. |
| end_date string | string | Last day, YYYY-MM-DD. Leave out for open-ended time off. |
| employee_id string | string | Book for this employee. Default: you. |
| half_day_start boolean | boolean | First day is a half day. Only for types with half days. |
| half_day_end boolean | boolean | Last day is a half day. Only for types with half days. |
| comment string | string | Note for the approver. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "personio_write",
"arguments": {
"operation": "request_time_off",
"arguments": {
"employee_id": "emp_2041",
"time_off_type": "Vacation",
"start_date": "2026-12-24",
"end_date": "2026-12-26"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"time_off_id": "to_93a1",
"employee_id": "emp_2041",
"time_off_type": "Vacation",
"start_date": "2026-12-24",
"end_date": "2026-12-26",
"days": 3,
"status": "pending"
},
"isError": false
}