Personio Integration Light

Description

Import and display your positions from Personio directly on your website. Get full control over how they are displayed.

Show application forms on your positions and transfer applications from your website to Personio with Personio Integration Pro.

Features

✅ manual or automatic import of open positions in German and English (other languages only in Personio Integration Pro)
✅ positions are indexable by search engines (SEO)
✅ each open position (incl. job description) under its own URL on your website
✅ data protection-friendly, as no applicant data is collected and stored
✅ multiple Blocks for Block Editor, 2 classic widgets and shortcodes
✅ support for classic as well as block themes
✅ optionally group the lists by categories, departments, offices etc.
✅ some WP CLI commands for simplified handling of data
✅ compatible with WCAG
✅ compatible with Content Security Policy settings
✅ Use AI to generate the presentation of your open positions in frontend

Requirements

🔌 Personio account with enabled XML interface
🔌 PHP module SimpleXML

Hint

The output of the positions as a list is limited to a maximum of 10. Only in Personio Integration Pro there is no limitation.

the Pro license includes:

➕ Native support for following PageBuilders: Avada, Beaver Builder, Bold Page Builder, Breakdance, Bricks, Brizy, Divi 4 & 5, Elementor, Elements in GeneratePress Premium, Fusion, LiveComposer, Oxygen, PageLayer, SiteOrigin (SiteOrigin Widgets Bundle necessary), Themify, WPBakery und ZionBuilder
➕ Also compatible with Avia (from Enfold), Colibri, Kubio, Nimble Builder, SeedProd Pro, Visual Composer
➕ Multiple and customizable application forms incl. export of them via Personio API
➕ Support for multiple form handler like Avada Forms, Contact Form 7, Elementor Forms, Everest Forms, Fluent Forms, Forminator, Ninja Forms and WPForms
➕ Customization of slugs (URLs) for list and detailed views of positions
➕ Supports all languages Personio offers: German, English, French, Spanish, Dutch, Italian, Portuguese, Swedish, Finnish, Polish, Czech
➕ Support for multilingual plugins Bogo, Polylang, WPML, Weglot and TranslatePress
➕ Support for legal entities and other workplaces on positions
➕ Support for salaries for open positions
➕ Use GoogleMaps or OpenStreetMap for show you locations with open positions
➕ Use custom feature image on each position
➕ Assign unlimited custom files for download or videos on each single position
➕ Support for tracking of events with Matomo and Google Analytics 4
➕ Support for Open Graph (Facebook, LinkedIn, WhatsApp …), Twitter Cards and Dublin Core (optionally configurable for all or single positions)
➕ Support full text search for positions in frontend
➕ Use multiple Personio-accounts in one website
➕ Additional import settings, e.g. intervals and partial import for very large lists of open positions and removing of inline styles from position descriptions
➕ RichSnippets for optimal findability via search engines like Google Jobs
➕ Support to embed positions from your website in other website via oEmbed (optionally configurable for all or single positions)
➕ Shortcode generator for individual views of lists and details
➕ ISO 27001/27002 compliant encryption all sensitive data (e.g., applicant data and API credentials).
➕ … and much more

🆙 Get the Pro-Version

ClassicPress

This plugin is compatible with ClassicPress.

Repository, documentation and reliability

The development repository is on GitHub.

We also provide several hooks as help for developers.

The Personio logo as part of all distributed icons is a trademark of Personio SE & Co. KG.

Each release of this plugin will only be published if it fulfills the following conditions:

✅ Compliance with WordPress Coding Standards
✅ PHPStan check for possible bugs
✅ PHP Unit tests

Screenshots

Blocks

This plugin provides 7 blocks.

  • Personio Select Filter Provides a Gutenberg block to show filter as dropdown-list for Personio Positions.
  • Personio List Filter Provides a Gutenberg block to show filter as link-based dropdown-list for Personio Positions.
  • Personio Position Provides a Gutenberg Block to show a position managed by Personio.
  • Details Provides a Gutenberg Block for details of a single position managed by Personio.
  • Description Provides a Gutenberg Block for the description of a single position managed by Personio.
  • Personio option to apply Provides a Gutenberg Block to show the option to apply for single position.
  • Personio Positions Provides a Gutenberg block to show a list of positions provided by Personio.

Installation

  1. Upload “personio-integration-light” to the “/wp-content/plugins/” directory.
  2. Activate the plugin through the “Plugins” menu in WordPress.
  3. Enter your Personio URL in the settings.
  4. Include one of the different output options for open positions in your company in your website.

FAQ

Can I use the plugin without a Personio account?

The plugin can be installed even without a Personio account. However, it is unusable without Personio data.

Does this plugin use iframes?

No, no iframe of any kind is used to embed data.

How can I use a form as an application form and submit the applications to Personio?

This is supported by the Pro version of the plugin since version 2.0.0. You can find instructions on how to do this here.

Does this plugin set any cookies or load data from external?

No, this plugin does not set cookies, nor does it load data externally within the front end of the website. The exception is when images and videos are embedded in the job descriptions coming from Personio. In this case, please check to what extent this affects the privacy of your own website.

Is this plugin GPRD-compatible?

Yes, it is without any further settings.

Reviews

سپتامبر 8, 2026
It's a very mature solution with a wide range of features. Support is exceptional: we ran into an issue with our hosting provider that we couldn't resolve on our own. The dev team responded within minutes, and within one working day they provided a new version of the plugin specifically for our case. Worth every penny.
ژون 13, 2024 6 replies
Ran into a few issues when setting up the Pro version, which we bought straight from the dev. I installed it without installing the Light version first, then got prompted to do that. Turns out if you install them in that order, a bunch of stuff goes belly-up, so I needed to contact support end ended up uninstalling, then reinstalling in the right order. Apart from that, this is a solid, reliable plugin that works quite well. I love that when using shortcodes (I use Bricks Builder for which there is no integration), the plugin produces clean HTML output with no CSS that I have to battle against. Would have liked a few more classes, but I can still target any element I want with :nth-child and the like so it's all good.
دسامبر 20, 2023
This plugin is absolutely spot on; it solves the problem and offers fantastic technical support. I used it to implement global recruitment on a client's website, which has locations in 10 countries with distinct recruitment processes and languages. When I encountered an issue, I reached out to their support team and received absolutely great assistance."
نوامبر 21, 2023
Das Plugin tut genau das, was es soll und wartet dabei noch mit einer Vielzahl wählbarer Optionen auf (In der Premium-Version natürlich mehr). Der Support ist hervorragend: Ich habe um Rat bei der Entfernung der bei Personio verwendeten Inline-Styles gebeten. Das Feature wurde sofort in das Plugin eingebaut, das Update ging zwei Tage später raus.
آپریل 5, 2023
Ein klasse Plugin, um schnell, unkompliziert und DSGVO-konform Personio-Stellenanzeigen auf seiner Website einzublenden. Dadurch, dass die Anzeigen über die Schnittstelle von Personio nach WordPress importiert werden, werden auf der Seite keine externen Verbindungen für den Besucher der Seite aufgebaut, wie es zum Beispiel bei der Einbindung per iFrame der Fall wäre. Zudem bietet das Plugin viele Individualisierungs- und Stylemöglichkeiten durch die Integration von Pagebuildern, wie bspw. Elementor. Wir sind sehr happy darüber, dass wir dieses Plugin gefunden haben!
آقوست 16, 2022
Plugin in der Light-Version erstmals bei einer Kundenseite verwendet und es macht genau, was es soll. Import wird per Log dokumentiert, die Stellenliste kann man per Gutenberg-Block in einer Page anzeigen. Getestet mit WP 6 und PHP 8.1.
Read all 6 reviews

Contributors & Developers

“Personio Integration Light” is open source software. The following people have contributed to this plugin.

Contributors

“Personio Integration Light” has been translated into 3 locales. Thank you to the translators for their contributions.

Translate “Personio Integration Light” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

6.0.0

  • Personio API v2 is now available; however, since Personio’s position data via their API v2 is still incomplete,
    we continue to recommend using the tried-and-true XML interface.
  • Added compatibility check for Enfold
  • Added more abilities to manage your position templates with AI
  • Added abilities to run and cancel the import of positions, to delete all positions and to read the log with AI, and extended the import state ability with the progress
  • Added a link to edit a single position in your Personio account in the list of all positions in backend
  • Added setting to chose, which API to use for import of positions
  • Added Playwright for automated visual tests before each release
  • Added new hooks
  • Now requires WordPress 6.6 or newer
  • Optimized some visibility conditions for settings on our blocks
  • Optimized check for Elementor Pro and PRO Elements
  • Optimized support for Personio API v2 (still no position import possible)
  • Optimized the position count handling
  • Optimized resetting this plugin in a network
  • Modernize usage of global functions to speed up loading times
  • Optimized schedule handling of they could not be added
  • Switches from introJS to driver.js as technical base for the intro
  • Show warning in backend if crypt key has been changed (additional to the log entry)
  • Force to reload the WordPress-own permalink cache on uninstallation
  • Secure handling of styles in Blocks
  • Import and deletion of positions use atomic locks, orphaned locks are released after one hour
  • Credentials and tokens are anonymized in the debug log of API requests
  • Template parts and template names from shortcodes and blocks are checked against allowlists
  • Templates saved via abilities may not contain blocks with arbitrary HTML, shortcodes or remote content
  • The license key is not part of URLs anymore and is not loaded on every request
  • Log cleanup runs at most once per hour, the log table is paginated in the database
  • Release ZIP from GitHub does not contain development files anymore
  • Settings default view is now DataView for all new installations (old stay unchanged)
  • Updated the settings library
  • Updated the setup library
  • Updated dependencies
  • Fixed a potential SQL injection during search in backend (only usable by logged in users)
  • Fixed potential XSS through shortcodes (only usable by logged in users)
  • Fixed the intro handling
  • Fixed some typos
  • Fixed missing logging of errors if debug mode is enabled with restriction for one or more categories
  • Fixed XML errors of a faulty Personio feed blocking the following imports in the same process
  • Fixed a deletion of all positions, which was aborted by an error, blocking every further deletion
  • Fixed encryption key being sent to the license server
  • Fixed possible XSS in the log, in the manual import dialog and in emails through data from Personio
  • Fixed allowed HTML for form fields being extended for all content of the website
  • Fixed missing capability checks on dismissing hints, installing Pro and switching the settings view
  • Fixed validation of Personio URL and login URL being skipped in REST requests
  • Fixed only one position per group being shown if positions are grouped
  • Fixed single position widgets showing nothing on paginated pages
  • Fixed email about deleted positions being sent after every import with all positions ever deleted
  • Fixed email about new positions being sent without new positions
  • Fixed all block templates being removed for classic themes
  • Fixed API import skipping every position and reporting an error on the last page
  • Fixed endless polling in backend if an import or deletion broke up
  • Fixed some possible PHP errors with unexpected setting values
  • Fixed actions in dialogs (e.g. template import, log download) failing with “The link you followed has expired” in the DataView settings
  • Fixed empty error messages of failed requests to the Personio API

older changes