[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Auto-approve Personio time off requests by your rule

> Approve Personio time off requests that pass your rule on length, balance and team overlap, and keep the rest in your Inbox. Runs daily.

Source: https://cotlet.dev/integrations/personio-api-mcp-server/auto-approve-time-off-requests

Every morning your Personio Inbox holds a handful of time off requests, and each one needs a look at the dates, the balance and who else is away before you click approve.

Cotlet does it in your own Personio account with list\_approval\_requests, get\_approval\_request and approve\_request, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=personio) [All Personio tools](https://cotlet.dev/integrations/personio-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Personio do this on its own?

Personio has no auto-approve switch tied to your own conditions (checked 16 Oct 2026). Admins set time off approval rules per time off type: a default rule and group rules by employee attribute, and a request with no applicable approval step is approved automatically. Those rules choose who approves, not whether a request fits the balance and the team calendar. The API index lists no approvals endpoint, and the beta MCP is mostly read-only.

## How you do it in Personio today

1. Approvers see approval tasks in the Inbox and in the Home widget; Personio delegates the task to a substitute when the approver is absent.
2. Open the Inbox and click a time off request to see the date range, a calendar preview of overlaps with the team, the remaining balance after approval and the approval chain when there is more than one step.
3. Approve or reject straight from the Inbox; a rejection takes an optional comment that the requester sees in their notification.
4. An open-ended request is marked as such, and you add the end date yourself once you know when the employee returns.
5. The same check repeats for every request, and requests sit unread until the approver opens the Inbox.

## How to auto-approve Personio time off requests by your rule

Prompt

```
Go through my pending Personio time off requests. Approve vacation of 5 working days or fewer when no other team member is off on those days, reject nothing, and leave everything else for me with a one-line reason.
```

1. 01  
### Read the queue first  
Your agent lists everything waiting for you with list\_approval\_requests, filtered to time off, and pages through the cursor, so the whole Inbox is judged as one batch.
2. 02  
### Open each request  
get\_approval\_request brings the dates, the balance after approval and the team overlap that Personio shows on the request page, so the rule runs on the same numbers you would read.
3. 03  
### Apply your rule  
A request passes only if it fits the rule in your prompt, for example 5 working days or fewer, the balance stays at zero or above, and nobody from the same team is off on those days. The agent names the reason for every request it keeps.
4. 04  
### Skip what is not a plain request  
Open-ended time off, hourly time off and requests with a certificate attached are never approved by rule; they stay in the Inbox for you.
5. 05  
### Approve the matches  
approve\_request runs for requests that pass, one call each. Right before the call the agent checks that the task is still pending, so a request a delegate already handled is logged and not touched twice.

### What you get back

Example data

```
Pending time off requests: 9
Approved 5:
- Maja Kowalska, 3 days, balance after approval 15, no team overlap
- Tom Becker, 2 days, balance after approval 11, no team overlap
Left for you 4:
- Lena Ortiz: 8 days, over the 5-day rule
- Sam Okafor: open-ended
- Ana Lopez: overlaps with Jonas Weber on 21 Oct
- Pia Novak: 4 days, balance after approval -1
```

### Other ways to ask

- Every morning at 8, approve sick-day requests of up to 2 days and list everything else.
- Approve vacation requests for the Marketing team only when at least three people stay in the office.
- Show me the pending queue sorted by start date and mark the ones that overlap, but do not approve anything yet.
- Also approve my team's employee data change requests that only touch the phone number.

## What Personio allows, and what to know first

- Personio sends a time off request to approval only when the requester has Propose permissions for that time off type; people with Edit permissions skip approval.
- To approve or reject in the Inbox, a supervisor needs the Time off permission for the relevant type with Edit set to Reporting line, and an approver needs View permission for each relevant time off type.
- When approval is delegated, the task shows in the inbox of both the original approver and the delegate until one of them reviews it, then it disappears from the other.
- Time off approval rules are set per time off type and only an Administrator can create, edit or monitor them.
- A rejection takes an optional comment, and the requester reads it in the Inbox notification about the rejection.

approve\_request asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Personio Help: Approve an employee request](https://support.personio.de/hc/en-us/articles/21479538813085-Approve-an-employee-request) · [Personio Help: Overview of the Personio Inbox](https://support.personio.de/hc/en-us/articles/21983843629981-Overview-of-the-Personio-Inbox) · [Personio Help: Set up time off approval rules](https://support.personio.de/hc/en-us/articles/26385271786653-Set-up-time-off-approval-rules) · [Personio Help: Frequently Asked Questions, Time off and attendance](https://support.personio.de/hc/en-us/articles/6619817395485-Frequently-Asked-Questions-Time-off-and-attendance)

## Call approve\_request from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/personio/requests/apr_41c7e2/approve \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"comment":"Approved, enjoy the break."}'
```

Example response

```
{
"request_id": "apr_41c7e2",
"status": "approved",
"next_step": null,
"approved_at": "2026-10-16T07:45:00Z"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is personio\_write → approve\_request. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/personio-api-mcp-server.md#automations)

## Personio tools this automation uses

__Cotlet Personio tools used to auto-approve Personio time off requests by your rule__
| Tool | Parameters |
| ------------------------ | -------------------- |
| list\_approval\_requests | kind, cursor |
| get\_approval\_request | request\_id |
| approve\_request | request\_id, comment |

[All 13 Personio tools with descriptions](https://cotlet.dev/integrations/personio-api-mcp-server.md#tools)

## Frequently asked questions

### Do I need to be an Administrator to run this?

No. The account needs to be an approver for the requests, with the permissions Personio lists for approving a time off request. Administrator rights are only needed to change approval rules.

### Is it safe to connect Personio to Cotlet?

Yes. You sign in to Personio yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Personio once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Personio automations

- [Book Personio time off for a whole team](https://cotlet.dev/integrations/personio-api-mcp-server/book-time-off-for-a-team.md)
- [Personio API and MCP server: every tool](https://cotlet.dev/integrations/personio-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Personio.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Personio.

[Sign up free](https://cotlet.dev/app/signup?app=personio)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
