ATS · Beta
Personio Recruiting
API integration
Ship ATS features without building the integration. Full Personio Recruiting API access via Proxy and 9 MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Personio Recruiting
Common scenarios for SaaS companies building Personio Recruiting integrations for their customers.
Trigger assessments and interviews from pipeline stage changes
Assessment, coding test, and video interview platforms can offer their customers a native Personio Recruiting integration that automatically kicks off their workflow when a candidate moves into a specific stage, eliminating manual recruiter effort.
Automate hiring hand-off to EoR, payroll, and onboarding tools
Employer of Record, payroll, and IT provisioning SaaS can detect when an application reaches a 'Hired' stage and pull the candidate's details to draft contracts or provision accounts — the moment hiring is confirmed in Personio.
Sync requisitions to external job boards and sourcing tools
Job distribution and sourcing SaaS can mirror open Personio Recruiting jobs on niche European boards, giving their customers broader reach without duplicating requisitions by hand.
Power recruiting analytics and BI dashboards
Analytics platforms can continuously sync jobs, applications, and stage transitions to compute time-to-hire, time-in-stage, and funnel conversion for their customers' hiring data.
Enrich candidate records in CRM-style talent tools
Talent CRMs and recruiter productivity tools can pull candidate profiles with contact details and LinkedIn URLs to build a unified view of every applicant their customers are evaluating.
What You Can Build
Ship these features with Truto + Personio Recruiting
Concrete product features your team can ship faster by leveraging Truto’s Personio Recruiting integration instead of building from scratch.
Stage-based workflow triggers
Listen to application stage transitions and trigger your product's workflow the moment a candidate enters a mapped stage like Assessment, Interview, or Offer.
Custom stage mapping UI
Let your users map their Personio Recruiting pipeline stages — fetched per job category — to your product's trigger points during onboarding.
Hired-candidate hand-off automation
Automatically extract the candidate's name, email, location, and available_from date when an application reaches 'Hired' to kick off contracts, onboarding, or provisioning.
Open requisition sync
Mirror Personio Recruiting jobs — including name, department, and hiring team — into your sourcing or job board product and keep them in sync.
Historical and delta sync for analytics
Backfill and incrementally sync jobs, applications, and stage transitions using updated_at filters to feed reporting dashboards and data warehouses.
Candidate 360 profiles
Combine candidate, application, job, current stage, and hiring team data into a single enriched profile view inside your product.
SuperAI
Personio Recruiting 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_recruiting_candidates
List Personio recruiting candidates, sorted by last updated date, newest first. Returns: id, company, applications, first_name, last_name, email, gender, birthday, phone, location, available_from, linkedin_profile, created_at, updated_at, _meta. Max 200 per page, default 100. The updated_at.gt and updated_at.lt filters are mutually exclusive. Custom attributes and tags are not returned.
get_single_personio_recruiting_candidate_by_id
Get a single Personio recruiting candidate by id. Returns: id, company, applications, first_name, last_name, email, gender, birthday, phone, location, available_from, linkedin_profile, created_at, updated_at, _meta. Custom attributes and tags are not returned. Required: id.
list_all_personio_recruiting_applications
List Personio Recruiting applications, sorted by last updated date, newest first. Returns: id, company, candidate, job, current_stage, application_date, channel, is_anonymized, hiring_team, created_at, updated_at, _meta. Max 200 per page; updated_at.gt and updated_at.lt are mutually exclusive; custom attributes and tags are not returned.
get_single_personio_recruiting_application_by_id
Get a single recruiting application in Personio by id. Returns: id, company, candidate, job, current_stage, application_date, channel, is_anonymized, hiring_team, created_at, updated_at, _meta. Custom attributes and tags are not returned. Required: id.
list_all_personio_recruiting_jobs
List recruiting jobs for the authorized company in Personio, sorted by last updated date, newest first. Returns each job's id, name, category, company, department, hiring_team, created_at, and updated_at. updated_at.gt and updated_at.lt are mutually exclusive filters; up to 200 jobs returned per page.
get_single_personio_recruiting_job_by_id
Get a single recruiting job in Personio by id. Returns the job object including its id, name, company, department, category, hiring team, and created/updated timestamps. Required: id.
get_single_personio_recruiting_job_category_by_id
Get a single job category in Personio Recruiting by id. Returns the category's id, company, name, and its ordered list of recruiting pipeline stages, where each stage has a kind, type, and (for custom stages) a name and id. Required: id.
list_all_personio_recruiting_job_categories
List all job categories in Personio Recruiting. Returns each category's id, company, name, and ordered list of recruiting pipeline stages, where each stage has a kind, type, and (for custom stages) a name and id.
list_all_personio_recruiting_application_stage_transitions
List all stage transitions for an application in Personio Recruiting, ordered latest-first. Returns each transition's stage (kind, type, name, id) and entered_at (date-time, timezone). Required: application_id.
Why Truto
Why use Truto’s MCP server for Personio Recruiting
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.
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.
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.
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.
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.
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.
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.
For your product
Ship Personio Recruiting tools in your product
Give the AI in your product access to each customer’s own Personio Recruiting account, with one MCP server per connected account.
Rather talk it through? Book a demo
For your own team
Use Personio Recruiting in ChatGPT or Claude yourself
Connect your company’s Personio Recruiting once, then ask in the AI you already use, with exactly your own access.
From the team behind Truto · 14-day free trial
How It Works
From zero to integrated
Go live with Personio Recruiting in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Personio Recruiting account
Use Truto’s frontend SDK to connect your customer’s Personio Recruiting account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
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.
Call our API, we call Personio Recruiting
Truto’s Proxy API is a 1-to-1 mapping of the Personio Recruiting API. You call us, we call Personio Recruiting, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Personio Recruiting’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Personio Recruiting on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does Personio Recruiting use?
Personio uses API credentials (Client ID and Client Secret) issued per customer account. Truto handles the token exchange, refresh, and secure credential storage so you only deal with a connected account reference.
Can we access custom fields or tags on candidates?
No. The Personio Recruiting API only exposes standard fields on candidates (first_name, last_name, email, phone, location, linkedin_profile, available_from, etc.). Custom attributes and tags are not returned, so workflows must rely on these standard fields.
How do we detect when a candidate changes stages?
Use list_all_personio_recruiting_application_stage_transitions, which returns a chronological, latest-first list of stage changes with entered_at timestamps and stage details. Polling this endpoint with an updated_at filter is the recommended trigger engine.
How do we handle the fact that every company has different pipeline stages?
Call list_all_personio_recruiting_job_categories to retrieve the ordered list of recruiting stages (id, name, kind, type) per job category, then let your users map those stage IDs to your product's trigger points during setup.
How does Truto handle pagination for large data syncs?
Personio Recruiting supports up to 200 items per page. Truto normalizes pagination so you can stream through list endpoints like jobs, applications, candidates, and stage transitions without managing cursors or page tokens yourself.
How do we stay GDPR compliant given Personio's European user base?
Applications include an is_anonymized flag. Your integration should check this field before syncing or processing PII and skip or purge records where candidates have exercised their data rights.
What operations are supported today — read, write, or both?
The current Personio Recruiting toolset is read-only, covering candidates, applications, jobs, job categories, and application stage transitions. Additional endpoints can be built on request through Truto.
Personio Recruiting
Get Personio Recruiting integrated into your app
Our team understands what it takes to make a Personio Recruiting integration successful. A short, crisp 30 minute call with folks who understand the problem.