Personio integration
Personio is the leading European HR platform for SMBs. Manage employees, attendances, absences, recruiting applications, and HR documents. The Personio v1 REST API authenticates via a two-step flow: clients hold a stable client_id + client_secret pair (generated under Settings -> API credentials) which they exchange against POST /auth for a short-lived JSON Web Token (JWT). That JWT is the actual Bearer credential sent on every subsequent request as 'Authorization: Bearer <jwt>'. Personio ROTATES the JWT on every API response (the response always returns a fresh token in the Authorization header that supersedes the previous one), so production integrations must capture and re-use the latest token rather than re-calling /auth on every request. LiveContext stores the client_id + client_secret as a 'custom' credential; the workflow author is responsible for invoking the auth_token endpoint first and forwarding the resulting jwt into a downstream Bearer-style call (the platform's standard header injectionType cannot perform the token-exchange handshake natively, and the JWT-rotation contract requires response-aware credential rewriting outside the current execution engine's scope). Two extra headers identify the partner integration: X-Personio-Partner-ID and X-Personio-App-ID, both supplied as workflow-time params (not credentials) since they are public partner identifiers, not secrets. Base URL is https://api.personio.de/v1 for all v1 company endpoints.
Say what should happen.
The workflow builds itself.
Common Personio use cases
- remove erroneous entry
- payroll prep
- promotion update
- populate upload UI
- automated onboarding
- display leave detail
- schema introspection
- cancel approved leave
- correct mistyped hours
- sync employee directory
What you can do with Personio
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Absence, 4 operations
create_absenceCreate absencePOSTCreates an absence period for a single employee with half-day support and optional approval bypass.delete_absenceDelete absenceDELETEDeletes a day-based absence period by numeric ID.get_absenceGet absenceGETRetrieves a single absence period by numeric ID.list_absencesList absencesGETLists absence periods (day-based time-offs) with date range, incremental, and employee filters.
Attendance, 4 operations
create_attendancesCreate attendancesPOSTCreates one or many attendance periods in a single batch call.delete_attendanceDelete attendanceDELETEDeletes an attendance period by numeric ID.list_attendancesList attendancesGETLists attendance periods within a date range with optional employee and status filters.update_attendanceUpdate attendancePATCHUpdates an existing attendance period (any subset of mutable fields).
Employee, 4 operations
create_employeeCreate employeePOSTCreates a new employee record from a structured employee object.get_employeeGet employeeGETRetrieves a single employee record by numeric ID.list_employeesList employeesGETLists employees with pagination, attribute filtering, and updated_since incremental sync.update_employeeUpdate employeePATCHUpdates mutable attributes on an existing employee record.
Absence type, 1 operation
list_absence_typesList absence typesGETLists absence types configured for the company (vacation, sick leave, parental leave, etc.).
Application, 1 operation
create_recruiting_applicationCreate recruiting applicationPOSTSubmits a new recruiting application against a Personio job position.
Document category, 1 operation
list_document_categoriesList document categoriesGETLists document categories configured for the company.
Employee attribute, 1 operation
list_employee_attributesList employee attributesGETLists all employee attributes (standard and custom) visible to the API credentials.
Profile picture, 1 operation
get_employee_profile_pictureGet employee profile pictureGETDownloads an employee's profile picture as a binary PNG.
Token, 1 operation
auth_tokenAuth tokenPOSTExchanges client_id and client_secret for a short-lived rotating JWT.
Use Personio from Claude Code, Cursor or Codex
Connect Personio in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Personio operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Personio
- Create your workspace
Sign up free. Nothing to install.
- Connect Personio once
Add your Personio connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Personio integration FAQ
What can you do with the Personio integration?
LiveContext exposes 18 operations on Personio, covering absence, attendance, employee and absence type. Common uses include remove erroneous entry, payroll prep and promotion update.
