Carerix logoPersonio logo

Recruitment to HR

Carerix to Personio integration: successful placement as a new employee in Personio

With an integration between Carerix and Personio, a candidate with a successful match in Carerix becomes a person with employment in Personio, in onboarding status, with start date, hours per week, legal entity and job title. Carerix does not report a status change by itself, so KoppelHet checks every quarter of an hour which matches have changed.

What the integration does

Organisations that recruit for their own workforce in Carerix and use Personio as their HR system copy every successful placement into Personio by hand. Hours and legal entity sit on the vacancy in Carerix, the start date on the match, and HR gathers them for every new colleague.

  1. The recruiter sets the match in Carerix to a status for a successful placement.
  2. Every quarter of an hour KoppelHet retrieves the changed matches and keeps only the successful ones.
  3. KoppelHet reads candidate and vacancy and checks whether the email address already exists in Personio.
  4. Person and employment are created in Personio, in onboarding status.
  5. The agreed salary goes to HR as a task, and HR records it in Personio.
Carerix → KoppelHet → PersonioSOURCECarerixTARGETPersonioKoppelHetmapping · logging · monitoringCarerix → KoppelHet → PersonioSOURCECarerixTARGETPersonioKoppelHetmapping · logging · monitoring
Out: Match with status and start date · Candidate with name, name prefix and contact details · Vacancy with hours, function and legal entity · Person and employment in Personio (onboarding) · Note with the agreed salary for HR

What to watch for with Carerix and Personio

  • In Carerix the status configuration decides what a successful placement is, with a flag per status. KoppelHet uses that flag and not the status name, so a proposal or second interview never creates an employee in Personio.
  • According to the public documentation, Carerix sends no notification on a status change, but records per match when the status changed. KoppelHet requests only those changed matches every quarter of an hour; a new colleague is therefore in Personio within a quarter of an hour.
  • Carerix stores the Dutch name prefix separately, while Personio only asks for first name and last name on creation. KoppelHet puts the prefix at the front of the last name, so the name in Personio reads as in the passport.
  • The agreed salary is stored as text on the match in Carerix, and Personio's compensation API wants an amount with an interval. KoppelHet does not try to read that text as an amount; the salary goes to HR as a task.
  • A Carerix vacancy has a fixed field for hours per week. KoppelHet sets it as contract hours in Personio and adds the full-time hours per entity, so the part-time factor in Personio is right.
  • A vacancy in Carerix can belong to a legal entity. Per entity we record the legal entity in Personio, so a placement for one company does not end up with another in Personio.
  • A candidate can have matches on several vacancies in Carerix, and Personio accepts an email address for one person only. KoppelHet remembers which match created a person and passes a second placement of the same person to HR.

How we build and run it

  • The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
  • Every sync and every error is visible in the functional log; on an error your administrator is notified.
  • A change that cannot go through is not half-applied but queued for another attempt.
  • KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
  • After go-live we manage the integration and adjust it when your process changes.
  • The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.

Implementation, architecture and compliance

Implementation and price

This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.

A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Do all placements go to Personio?

Only matches on statuses configured as successful, and only for vacancies of your own organisation.

Why every quarter of an hour and not immediately?

Carerix does not report a status change. A quarter of an hour is well in time, because a start is usually weeks later.

Does Personio run Dutch payroll?

No. Personio supplies data to a Dutch payroll; that is a separate integration.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Carerix through the GraphQL API (https://api.carerix.io/graphql/v1/graphql), confidential client with client credentials, scope urn:cx/cx5Wrapper:data/crmatch:read. crMatchPage with a qualifier on statusInfoModificationDate; statusInfo.isSuccessfullyFilled; CRMatch jobStartDate and agreedSalary (String); CREmployee firstName, lastNamePrefix, lastName and emailAddress; CRVacancy hoursPerWeek (Float), toLegalEntity, toFunctionLevel1 and toWorkUnitNode.
  • Personio through POST /v2/persons (scope personio:persons:write; first_name and last_name required; email unique; employment with status ONBOARDING, employment_start_date, weekly_working_hours, full_time_weekly_working_hours, legal_entity, org_units and position.title).

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in CarerixField in PersonioNotes
CREmployee firstNamefirst_name
CREmployee lastNamePrefix en lastNamelast_nameName prefix at the front of the last name
CREmployee emailAddressemailUnique in Personio
CRMatch jobStartDateemployment_start_date
CRVacancy hoursPerWeekweekly_working_hoursWith full-time hours per entity
CRVacancy toLegalEntitylegal_entityThrough a lookup table
CRVacancy toFunctionLevel1position.title
CRVacancy toWorkUnitNodeorg_units (department)Through a lookup table

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.