Skip to main content

Personio integration - Setup guide with Planday

Use the integration with Personio to import employee and absence data into Planday.

Written by Kyle

🔓 Access level in Planday: Administrator or HR Manager with access to all departments in Planday.

🌐Subscription plan: Plus, Pro.

⏱️ Reading time: 3 min.

⏱️ Setup time: 10 min


Key functionalities of the Personio integration:

  • Syncs new employees

  • Updates employee profiles

  • Creates employee Groups

  • Creates or maps departments

  • Deactivates terminated employees

  • Imports approved leave


Setting up the integration in Personio

  1. Navigate:

    1. In Personio, navigate to Marketplace.

    2. Click on the Connected integrations tab.

    3. Click on the Create custom integration button.

  2. Set-up:

    1. Enter Planday or another appropriate integration name.

    2. Click next.

    3. Configure access - ensure that the following access is given:

Check Access Rights

Attribute

Read

Write

Employees

Enabled

Attendance

Enabled

Time Off

Enabled

Documents

Custom Reports

Recruiting

Webhooks

Enabled

Enabled

Org Units

Enabled

Legal Entities

Cost Centres

Workplaces

Note: Employee Attributes and Legal Entities are set to Select All.

3. Done: Copy ClientID and API secret.

You’re now ready to go and set-up the integration in Planday.

Head over to your Planday workspace and log in as an Administrator with access to all departments.


Complete the setup in Planday

  1. Set-up:

    You can connect an HR integration from any of these pages in Planday:

    1. Planday-Web > Settings > Integrations > Overview > Personio > Set up

    2. Planday-Web > People Employees > Create employees > Connect with HR system

  2. Authenticate: Enter your Personio API credentials. Paste the Client ID and API Secret you generated from your Personio account into the respective fields.

  3. Configure Filter: Choose which filters to apply.

  4. Review and Confirm: Review the data to be synced and click connect.

Required Fields: If your Planday workspace contains mandatory fields, the import cannot proceed. The system will display a message prompting you to mark these fields as "Optional/Non required" in Planday.

Note that the Gender field is an exception and will be archived instead. If you do not update the required fields, the import will fail.

See the following articles for more information:

5. Done: You can now close the integration modal and wait for the data to be synced into your portal.


Data mapping between Personio and Planday

Everything is mapped automatically, that means there’s no manual mapping flow for you to set-up.

Personio fields that Planday map

Personio Field

Personio Attribute ID

Planday

First name (legal)

first_name

First Name

Last name (legal)

last_name

Surname

Email

email

Email (username)

Date of birth

date_of_birth

Birthday

Hire date

hire_date

Hire date

Termination Date

contract_end_date

Profile Picture

avatar

Profile Picture

Department

department_id

Department

Team

team_id

Employee Group

Position

position

Employee Group

Address

Address

City

City

Postcode

Postcode

Employee ID (internal)

company_employee_ID

Salary ID

Note: The mapping of any other fields, including custom fields is currently not supported in this integration.

1) Mapping Logic - Department mapping

Planday maps Departments from the Personio directly to Planday. Teams are now mapped to employee groups as a default.

Note: Planday Departments are only created for groups that contain employees currently being imported.

Standard Matching

  • If a Department in Planday has the exact same name as the group in Personio, they are mapped together in Planday. If there is no match, a new Department is created in Planday.


Resolving Duplicate Names

  • If Personio contains multiple groups with the same name (e.g. a "Service" team in two different locations), the following strategy is used to ensure unique names in Planday:

    • Add Parent Context: The group name is prefixed with its parent folder or department name to distinguish them (e.g., "Location X - Service" vs. "Location Y - Service").

    • Clean Redundancy: When combining names, repetitive words are removed to keep the name readable. For example, "Location X Operations - Operations Manager" is automatically shortened to "Location X Operations - Manager".


2) Mapping Logic - Employment data mapping

When the integration syncs 'Employment' data from Personio, it maps this data to create Employee Groups in Planday.

Please note these two key behaviours during the sync process:

New Employee Groups are always created

  • The integration is designed to never modify or update existing Employee Groups. It will always create a new, separate entry for each 'Employment' record it syncs.


Duplicate names are handled with a suffix

  • If the integration needs to create a group named "Bartenders" but a group with that name already exists, it will create a new group and add a suffix (e.g., "Bartenders-Personio") to distinguish it.

Important: This suffix rule is applied only once to prevent creating endless duplicates. If a group named "Bartenders-Personio" also already exists, the integration will not create a new group (e.g., "Bartenders-Personio-Personio").

This approach is crucial because records are effectively-dated. Creating a new Employee Group preserves the complete employment history and ensures data integrity.


Key Functionality & Data Sync

How to import employees from Personio to Planday

The Personio integration is designed to be a "single source of truth" system, where Personio manages all employee data, which is then synced to Planday.

Prevents Data Duplication

  • The integration uses persistent external IDs to link profiles between the Personio and Planday, which prevents the creation of duplicate employees if data is changed in Planday - but not in Personio. An employee is mapped on the email when the sync happens - but even if the email is changed following the original link being created - the ID will persist and the email will be overwritten in Planday to match that of Personio.


One-Way Data Sync

  • Data flows one-way from Personio to Planday. Any manual changes made to synced employee fields within Planday will be overwritten during the next sync to maintain data integrity.

Note: There’s one exception to this which is the email (username) in Planday.


Sync Frequency

  • The integration automatically syncs data every three hours. A manual "Sync now" button is also available in the integration settings.

Note: The manual sync is a partial sync (only syncs changes), whereas the “sync now” option is a full sync.


Filtering

  • You can select specific departments, locations, employment types etc. from Personio to sync. The filtering is done when the integration is set-up.

  • To change filters, you need to disable the integration and re-enable it. You can also reach out to Support, who can share a link with you that will re-open the filter page. In this way, this will avoid potentially creating duplicates (data link loss).


Reconnecting the Integration (Data Link Loss)

  • If you deactivate and then reactivate the integration, all prior user links between Personio and Planday are permanently removed. The system treats the reconnection as a new integration setup.

Why does this cause duplicates?

This loss of links becomes critical when the primary identifier (e.g. Email/Username) has been changed in Personio but has not yet been updated in Planday.

Since the Email in Planday is an exception to the One-Way Data Sync rule, the email change in Personio will not automatically update the corresponding Planday profile. If the integration is deactivated and reactivated in this state, the system will not recognize the profiles as the same user and will re-create the user as a duplicate in Planday.


How to import leave data from Personio to Planday

When Absence Sync is enabled for your Personio integration, approved leave recorded in Personio is automatically imported into Planday. Personio remains the single source of truth for all absence data; Planday simply reflects what has been approved in Personio.

How leave is displayed in the schedule

  • Visual leave indicators: Approved absences from Personio are shown on the schedule as a leave bar (blue bar) so managers can quickly see when an employee is unavailable.

  • Existing shifts are left as is: If an employee already has a shift in Planday on a day where Personio reports approved leave, that shift is not automatically converted to an Open Shift but left as is by default. In the future this may be added as a setting but until that time the least intrusive option is to not make any automatic updates to a shift.

  • Approved leave only: Only approved absences from Personio are synced into Planday; pending absenses are ignored.


Handling of partial leave days

  • A note will be added to the leave in Planday clarifying that the employee is off for only part of the day.


Personio leave configuration

  • Direction of sync: Leave sync is one-way (Personio to Planday). All accruals, approvals and policy checks happen in Personio.

  • Enable/disable: Leave Sync is controlled via a toggle in the integration settings, and each imported absence event is logged in the Integration Sync Log for traceability. Leave sync is on by default.



ℹ️ Need more help?

🔍 Search the Help Center | See videos at Tutorials.Planday.com | Watch a webinar

💬 For personalised support

Login and contact our support team via the blue icon at the bottom if you have more questions or book a one-to-one professional training session with an expert.

Did this answer your question?