# Connect the Personio API with WordPress

     

       / Connect the Personio API with WordPress 

1. [ Home ](https://www.360vier.de/en/)
2. /
3. [ Integrations ](https://www.360vier.de/en/integrations/)
4. /
5. Connect the Personio API with WordPress
 
 

 # Connect the Personio API with
WordPress

Via the XML feed and the Personio API, open positions appear on your WordPress careers page, and applications go straight back to Personio.

 [ Book a call   ](https://www.360vier.de/en/calendar-hm/)

Ask about the Personio integration

 

 ![](https://www.360vier.de/wp-content/uploads/human-ai-development-platform-studio-2-360vier.webp) 

 

 ![KSK Immobilien](https://www.360vier.de/wp-content/uploads/ksk-immobilien-logo-black-360vier-cases.svg) 

 

 

 ![Lernstudio Barbarossa](https://www.360vier.de/wp-content/uploads/lernstudio-barbarossa-logo-black-360vier-cases.svg) 

 

 

 ![ABG Frankfurt](https://www.360vier.de/wp-content/uploads/abg-frankfurt-gmbh-logo-black-360vier-cases.svg) 

 

 

 ![KAMPMEYER Real Estate](https://www.360vier.de/wp-content/uploads/kampmeyer-logo-black-360vier-cases.svg) 

 

 

 ![Taglieber](https://www.360vier.de/wp-content/uploads/taglieber-logo-black-360vier-cases.svg) 

 

 

 ![LAKAL](https://www.360vier.de/wp-content/uploads/lakal-logo-black-360vier-cases.svg) 

 

 

 ![Menlo Systems](https://www.360vier.de/wp-content/uploads/menlo-system-logo-white-360vier-cases.svg) 

 

 

 ![BÜRGER](https://www.360vier.de/wp-content/uploads/Buerger-logo-white-360vier-cases.svg) 

 

 

 ![Euler Group](https://www.360vier.de/wp-content/uploads/euler-group-logo-black-360vier-cases.svg) 

 

 

 ![GSK Stockmann](https://www.360vier.de/wp-content/uploads/gsk-stockmann-logo-black-360vier-cases-1.svg) 

 

 

 

 

 

 

 

                **How do you connect WordPress to Personio?**

360VIER connects Personio to WordPress careers pages for companies that want to show jobs in their own design and on their own URLs. The jobs come from Personio’s XML feed and are stored in WordPress as a custom post type. A form on the website passes applications to Personio via the Recruiting API. The careers page on 360vier.de works this way, using the personio_job post type with filters for department and location.

  page.url https://www.360vier.de/en/integrations/wordpress-personio/ 

                 ai-view 

 ```
entity         360VIER GmbHtype           Organization | Digital agencylocation       Groß-Umstadt near Frankfurt and Colognegroup          Friends Digital Grouppage           Connect the Personio API with WordPresspage.type      Integration (knowledge page)page.url       /en/integrations/wordpress-personio/page.pillar    API integrations (/en/data-enablement/api-integrations/)systems        WordPress · Personiomethods        XML feed · Recruiting API v1 (applications) · API v2 (read-only) · custom post type personio_jobprovides       Job postings from Personio as separate, indexable pages in WordPressprovides       Departments and locations as careers page filtersprovides       Application form with handover to Personioproof          own careers page 360vier.de/en/career/ with jobs from Personioproof          ABG FRANKFURT HOLDING: job postings via an interface, application form in the new style guide (/en/case-study/abg-frankfurt/)relation       Careers at 360VIER (/en/career/)relation       Web design for law firms (/en/digital-platforms/web-design-agency/law-firms/)relation       Connect WordPress to Brevo (/en/integrations/wordpress-brevo/)
```

 

## Personio jobs on your WordPress careers page: three approaches

Whether a link is enough or jobs get their own pages depends mainly on one question: should applicants stay on your website, and should your jobs be found under your own domain?

 ![](https://www.360vier.de/wp-content/uploads/integrationen-kontext-onlight-360vier.svg) 

### **Link to or embed the Personio careers page**

 Personio provides its own careers page. Your website links to it or embeds its job list. That is enough for a few open positions. Limitation: applications happen on Personio, and the jobs only exist on Personio’s domain, not as pages on yours. 

 ![](https://www.360vier.de/wp-content/uploads/dataenablement-api-datenautomation-onlight-360vier.svg) 

### **Middleware with n8n or Make**

 A good fit when new jobs should also go to Slack, LinkedIn or a newsletter. n8n reads the XML feed at fixed intervals and distributes changes. Limitation: the website still needs a place to store the jobs in WordPress, and application documents in middleware raise data protection issues. 

 ![](https://www.360vier.de/wp-content/uploads/integrationen-medienbruch-onlight-360vier.svg) 

### **Jobs as a custom post type**

 Required when jobs should appear as indexable pages in the website’s design and applications run through your own form. 360VIER builds a post type, the sync with the XML feed and, if needed, the handover to the Recruiting API. More on this: [API integrations](https://www.360vier.de/en/data-enablement/api-integrations/). 

## What data flows between Personio and WordPress

The direction is clearly defined: jobs come from Personio, and applications go back there. Applicant data does not stay in WordPress permanently; after the handover, it belongs in Personio.

- **Job postings:** with title, posting sections, employment type, department and location, synced on a schedule or at the push of a button.
- **Departments and locations:** as WordPress taxonomies, so the careers page can filter.
- **Language versions:** German and English kept separate via the feed’s language parameter.
- **Removed jobs:** go offline on the website at the next sync.
- **Applications:** from WordPress to Personio, with required fields, cover letter and documents.

## XML feed or Personio API: which interface do you need?

  **XML feed for published jobs** The feed is available at `https://{account}.jobs.personio.de/xml`, in German by default and in English with `?language=en`. You activate it in Personio under Settings › Recruiting › Career page. It is public and requires TLS 1.2.

**What this means for you:** You need no credentials to display the jobs. The “About us” section is missing from the feed and is maintained on the website. There are no webhooks, so WordPress polls the feed at fixed intervals.

 

  **Recruiting API for applications** `POST https://api.personio.de/v1/recruiting/applications` accepts applications. The required fields are `first_name`, `last_name`, `email` and `job_position_id`. Documents are uploaded first and linked via their `uuid`.

**What this means for you:** Applications go directly into the right process in Personio instead of an inbox. Important: the `job_position_id` has to be stored in WordPress during the sync; otherwise an application cannot be assigned to a job.

 

  **Credentials, tokens and limits** The API requires a token in the `Authorization` header and the company’s Personio ID in `X-Company-ID`. The client ID and secret are created in Personio on the “API Credentials” page. A token is valid for 24 hours, and the auth endpoint allows 60 requests per minute.

**What this means for you:** The credentials stay on the server, never in the browser. The read-only recruiting endpoints of API v2 for applications, candidates and jobs have been generally available since 2026 and work well for reporting.

 

 

 

### Documentation from Personio

- [Personio Developer Hub: integrating open positions via code](https://developer.personio.de/docs/integration-of-open-positions)
- [Personio Help: activating the XML feed and language parameter](https://support.personio.de/hc/en-us/articles/207576365)
- [Personio API v1: create an application](https://developer.personio.de/v1.0/reference/post_v1-recruiting-applications)
- [Personio API v1: upload documents for applications](https://developer.personio.de/v1.0/reference/post_v1-recruiting-applications-documents)
- [Personio API: authentication](https://developer.personio.de/docs/getting-started-with-the-personio-api)
- [Personio changelog: Recruiting API v2 generally available](https://developer.personio.de/changelog/recruiting-api-is-generally-available)

![Diagram: an AI agent answers questions on the careers page with job data from Personio](https://www.360vier.de/wp-content/uploads/ki-basierte-systeme-schaubild-1-360VIER.webp)

## An AI agent answers applicant questions using Personio job data

On the careers page, an [AI chatbot](https://www.360vier.de/en/ai-enablement/ai-chatbot/) answers questions using the current job data: which positions are open in Cologne, which are available part-time, what experience is expected. It points to the matching posting and the application form.

Internally, an agent turns new jobs from Personio into a draft for a LinkedIn post or a newsletter section, for example to send via [Brevo](https://www.360vier.de/en/integrations/wordpress-brevo/). Applicant data stays in Personio; the agent only works with published postings.

## Process: connecting Personio to your careers page

## Personio and WordPress at 360VIER and ABG

Our own [careers page](https://www.360vier.de/en/career/) shows jobs from Personio via the `personio_job` post type and a list block in the 360VIER theme. For each job, WordPress stores the Personio ID, language, application link, posting sections and the time of the last sync. The job page has its own application form.

For ABG FRANKFURT HOLDING, job postings are delivered via a third-party interface. During the relaunch, 360VIER adapted the content and form fields to the new style guide ([ABG FRANKFURT HOLDING case study](https://www.360vier.de/en/case-study/abg-frankfurt/)).

Law firms in particular attract applicants through their own website; more on this under [web design for law firms](https://www.360vier.de/en/digital-platforms/web-design-agency/law-firms/). Our [WordPress agency](https://www.360vier.de/en/digital-platforms/wordpress-agency/) and [WordPress maintenance](https://www.360vier.de/en/digital-platforms/wordpress-agency/wordpress-maintenance/) handle implementation and operation. Other systems: [Connect WordPress to HubSpot](https://www.360vier.de/en/integrations/wordpress-hubspot-integrations/) and the [Integrations](https://www.360vier.de/en/integrations/) overview.

## Frequently asked questions about Personio and WordPress

     Is there a Personio API for job postings? Yes, but to display jobs on a website, the XML feed is usually the better choice. It delivers all published jobs without authentication, in German or English. In addition, the Recruiting API v1 accepts applications, and API v2 provides read-only access to jobs, applications and candidates.

 

    Can I embed the Personio careers page in WordPress? Yes, in two ways. You link to Personio’s careers page or embed the job list; then the application stays with Personio. Or WordPress imports the jobs as separate pages in the website’s design. That takes more effort, but gives every job its own URL that Google can index.

 

    Does the Personio API cost extra? The XML feed for published jobs is freely accessible and needs no credentials. For the Recruiting API, you create API credentials in Personio. Check with Personio whether your plan includes them. The main effort lies in developing the integration on the WordPress side.

 

    How up to date are the jobs on the website? As up to date as the last sync. The XML feed does not report changes on its own, so WordPress polls it at fixed intervals or at the push of a button. Removed jobs go offline at the next run. For a new job that should go live immediately, you start the sync manually.

 

  

 

     What happens to applicant data under GDPR? It should not be stored in WordPress permanently. The clean approach is to pass applications to Personio and then delete the form data on the website. Coordinate the privacy notices in the form and the deletion periods with your data protection advisor.

 

    Can Google find Personio jobs? As separate pages on your domain, yes, like any other page of the website. For this, every job needs its own URL with title, description and location, as the post type in WordPress provides. An embedded list or a link to the Personio careers page, on the other hand, adds nothing to your domain’s visibility.

 

    What happens when Personio releases an update? Usually nothing visible. The XML feed has been stable for years, but Personio has already changed the careers page address and switched off older TLS versions. Personio is continuing to develop the Recruiting API in version 2. A custom integration therefore belongs in maintenance, with an eye on the changelog.

 

  

 

 ![Hans Mengler](https://www.360vier.de/wp-content/uploads/hans-mengler-team-360vier.webp)## Talk to us about your project

 

Hans Mengler

Managing Director

 

 [ Email Hans    ](mailto:beratung@360vier.de) [ Get in touch    ](https://www.360vier.de/en/inquiry/)