Skip to content

Connect Personio

Where to create API credentials, which API version to pick, and how to map Personio fields to attributes.

On the Team plan and above, an admin connects Personio so Contacts and groups stay in step with it, hourly or daily. This article covers the Personio side. What a sync does is in Sync contacts from your HR system: it adds starters, keeps mapped details current and takes leavers out of the synced groups, and it never deletes contacts or responses.

What you need from Personio

  • API credentials: a client id and secret. In Personio, open Settings, then Integrations, then API credentials, and choose Generate new credentials.
  • Read access to the employee attributes you sync: email, status, department, office, position, hire date and supervisor.

wrkflow only reads from Personio and never writes. It uses the credentials read-only, encrypts them before storing them, and never shows them again.

Set up

  1. Open Integrations, then Personio, and choose Connect Personio. Enter the client id and secret, choose API v1 or v2, then Test connection.
  2. Map Personio fields to your attributes: department, office, position, supervisor email, and the hire date as a tenure band.
  3. Choose how often to sync, hourly or daily, then Connect and Sync now.
  4. Check the people added in Sync history.
API v1 reads everything in one listing. v2 needs one request per person for employment details and doesn’t return office names yet, so choose v1 if you map the office.

If something goes wrong

  • Personio didn’t issue a token: generate new credentials in Personio and Edit the connection.
  • Personio refused the credentials (403): give the credentials read access to the attributes you map.
  • HR sync isn’t set up on this server: whoever runs wrkflow sets HR_SYNC_ENCRYPTION_KEY.

See Integrations for the statuses and how to ask support.

Still stuck? Talk to us and we’ll help you sort it out.