Skip to content

HRIS

Personio
API integration

Ship HRIS features without building the integration. Full Personio API access via Proxy, normalized data through Unified APIs, and 10+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
Personio

Use Cases

Why integrate with Personio

Common scenarios for SaaS companies building Personio integrations for their customers.

01

Automate employee provisioning and deprovisioning across your platform

SaaS companies offering identity, security, or IT management tools can sync Personio's employee lifecycle events to automatically create or disable user accounts. This eliminates manual onboarding steps and closes security gaps when employees leave.

02

Sync approved time-off data into scheduling and workforce tools

Workforce management and shift-scheduling SaaS products can pull approved absences from Personio to automatically block unavailable dates, preventing scheduling conflicts and reducing manual coordination between HR and operations teams.

03

Power leave management features with real-time PTO balances

HR chatbots, employee experience platforms, and leave management tools can read time-off balances and submit new time-off requests back to Personio, giving employees a seamless self-service experience without leaving your product.

04

Enrich expense and finance workflows with employee data

Expense management and corporate card platforms can use Personio employee records — including department, role, and employment status — to auto-issue cards, set spending policies, and instantly freeze access when an employee is terminated.

05

Trigger compliance and training workflows on employee hire

LMS and compliance SaaS products can detect new hires via the Employees endpoint, auto-enroll them in mandatory training programs, and assign courses based on department or role attributes pulled from Personio.

What You Can Build

Ship these features with Truto + Personio

Concrete product features your team can ship faster by leveraging Truto’s Personio integration instead of building from scratch.

01

Automatic user provisioning from Personio employee records

Detect new employees and terminated employees in Personio and automatically create, update, or deactivate corresponding user accounts in your platform.

02

Absence-aware scheduling calendar

Pull approved time-off requests from Personio and reflect them as blocked dates in your scheduling UI so managers never accidentally assign unavailable staff.

03

In-app PTO request submission with balance checks

Show employees their remaining leave balances from Personio and let them submit new time-off requests directly from your product, routed back to Personio for manager approval.

04

Department-based policy engine powered by HR data

Use employee attributes like department, role, and seniority from Personio to dynamically assign permissions, spending limits, or access tiers within your application.

05

Real-time employee directory sync

Keep an always-current employee directory inside your product by continuously syncing employee profiles — names, emails, departments, and employment status — from Personio.

06

Onboarding workflow trigger for new hires

Automatically kick off onboarding tasks in your platform — training assignments, equipment requests, or welcome flows — the moment a new employee record appears in Personio.

SuperAI

Personio AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_personio_employees

List Personio employees with optional filtering. Returns each employee record with type and attributes containing id, first_name, last_name, email, gender, status, position, hire_date, and more. Optional filters: email, attributes, updated_since. When updated_since is used, email, limit, and offset are ignored.

get_single_personio_employee_by_id

Get a single Personio employee by id. Returns the employee record with type and attributes containing id, first_name, last_name, email, gender, status, position, hire_date, and more. Required: id.

create_a_personio_employee

Create a new Personio employee. Returns: id, message. Required: employee (with email, first_name, and last_name). If status is omitted, it is derived from hire_date (active if past, onboarding if future).

update_a_personio_employee_by_id

Update an existing Personio employee by id. Returns: id, message. Email cannot be updated; only the listed fields are updatable and other attributes are ignored. Required: id.

create_a_personio_auth

Request an authentication token from Personio using API client credentials. Returns: token, expires_in, scope. The bearer token is stable for 24 hours.

list_all_personio_time_off_types

List time-off types in Personio, such as Paid vacation, Parental leave, or Home office. Returns each type's id, name, category, unit, and approval_required.

list_all_personio_time_offs

List day-based time-off absence periods in Personio, filterable by date range and employee. Returns each period with id, status, start_date, end_date, days_count, time_off_type, employee, certificate, created_at, and updated_at.

delete_a_personio_time_off_by_id

Delete a Personio time-off (day-based absence period) by id. Returns: success, data, id, person, starts_from, ends_at, timezone_id, comment, absence_type, approval, created_at, updated_at. Required: id.

get_single_personio_time_off_by_id

Get a Personio time-off (day-based absence period) by id. Returns the time-off period including its id, status, start and end dates, days_count, half-day indicators, time_off_type, employee details, certificate status, created_at, created_by, and updated_at. Required: id.

list_all_personio_absense_balance

Retrieve the absence balance for a specific employee in Personio. Returns the absence balance record including its type and attributes object with balance-specific fields. Required: employee_id.

Why Truto

Why use Truto’s MCP server for Personio

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 750+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Personio

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified HRIS API

Employees

Represents an employee in HRIS

View Docs

Timeoff Balances

Represent the time off balances for an Employee

View Docs

Timeoff Requests

Represent the time off requests for an Employee

View Docs

Timeoff Types

Represent the time off types in a company

View Docs

How It Works

From zero to integrated

Go live with Personio in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Personio account

Use Truto’s frontend SDK to connect your customer’s Personio account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Personio

Truto’s Proxy API is a 1-to-1 mapping of the Personio API. You call us, we call Personio, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Personio’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Personio on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication method does the Personio integration use?

Personio's API uses API key-based authentication. The Personio admin generates a client ID and client secret in their Personio settings, which are exchanged for a bearer token. Truto handles this token exchange and refresh automatically.

Why might some employee fields come back empty from Personio?

Personio requires the admin to explicitly whitelist which employee attributes (e.g., department, hire date, salary) the API key can access. If a field isn't whitelisted in Personio's settings wizard, it won't be returned by the API. Your end users need to be guided to enable the correct attribute permissions during setup.

What Unified API resources are available for Personio through Truto?

Personio is supported through Truto's Unified HRIS API, which covers Employees, Timeoff Balances, Timeoff Requests, and Timeoff Types. These map to Personio's employees and absences endpoints.

Does Personio support webhooks for real-time data syncing?

Yes. Personio supports webhooks for employee created, updated, and deleted events. This allows your integration to react to changes in real time rather than relying solely on polling.

Can I write data back to Personio, or is it read-only?

Personio's API supports both read and write operations. Employees can be created and updated, and time-off requests (absences) can be created and deleted. Through Truto's Unified HRIS API, you can submit new time-off requests that route to the manager for approval inside Personio.

What if I need Personio data beyond what the Unified HRIS API covers, like attendances or custom endpoints?

Truto can build additional tools and proxy endpoints for Personio on request. If you need access to attendances (timesheets), custom attributes, or other Personio-specific resources not yet in the Unified API, reach out to the Truto team to scope it.

Personio

Get Personio integrated into your app

Our team understands what it takes to make a Personio integration successful. A short, crisp 30 minute call with folks who understand the problem.