Ashby logoPersonio logo

Recruitment to HR

Ashby to Personio integration: hires with hours and entity as new employees in Personio

With an integration between Ashby and Personio, a candidate with an accepted offer in Ashby becomes a new employee in Personio, with name, email, position, hire date, department and office. KoppelHet also sets the weekly hours and the legal entity, including when there are several entities in Personio.

What the integration does

Organisations that recruit in Ashby and have Personio as their HR system often enter a hire in Personio by hand. Anyone with several companies in Personio adds weekly hours and the legal entity by hand after every hire.

  1. The recruiter sets the offer in Ashby to accepted and the candidate to hired.
  2. Ashby sends a notification of the hire to KoppelHet.
  3. KoppelHet uses a lookup table to determine entity, department and office in Personio and checks whether the email address already exists.
  4. Person and employment are created in Personio in onboarding status, with start date and weekly hours.
  5. If creation fails, the reason is shown in the KoppelHet platform and HR gets a notice.
Ashby → KoppelHet → PersonioSOURCEAshbyTARGETPersonioKoppelHetmapping · logging · monitoringAshby → KoppelHet → PersonioSOURCEAshbyTARGETPersonioKoppelHetmapping · logging · monitoring
Out: Application with candidate and job · Accepted offer with start date · Department and location of the job · Person with employment in Personio (onboarding)

What to watch for with Ashby and Personio

  • A department or office spelled slightly differently in Ashby and Personio cannot be found by name and thus blocks a hire. KoppelHet therefore works with a lookup table from the Ashby IDs to the departments and offices in Personio.
  • If the employee count in the Personio subscription has been reached, creation fails. KoppelHet shows such an error as a notice in the platform, so a hire does not sit still unnoticed.
  • In Ashby's hire notification the candidate's name is a single field, while Personio requires first name and last name separately. For a name with a Dutch prefix, KoppelHet does not guess the split but asks HR to confirm the last name.
  • Personio accepts an email address for one person only. If a former employee returns through Ashby with the same private address, KoppelHet does not create a second person but passes the rehire to HR.
  • Personio only knows the type INTERNAL or EXTERNAL per employment. Ashby distinguishes five kinds on the opening: FullTime, PartTime, Intern, Contract and Temporary. KoppelHet records during setup which kinds are external in Personio.
  • For a temporary contract Personio has the field contract_end_date. The Ashby offer has no fixed field for it, so KoppelHet reads the end date from a custom offer field, just like the hours per week.
  • When a webhook is created, Ashby first sends a ping. If that returns an error, the webhook exists but is disabled, and no hire reaches Personio. KoppelHet checks during setup that the webhook is enabled.

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

Does the salary go to Personio?

Not in the first version. HR records the salary in Personio; carrying it over automatically can be added 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.

  • KoppelHet reads Ashby through the candidateHire webhook (data.application with id, candidate.name, primaryEmailAddress, job.title, locationId and departmentId; data.offer with latestVersion). To 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, office, org_units and position.title; custom_attributes with id and value).

Which fields are transferred

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

Field in AshbyField in PersonioNotes
application.idEigen attribuut in PersonioTo process a hire only once
candidate.namefirst_name en last_nameAshby provides one name field; split only when it is unambiguous
candidate.primaryEmailAddressemailUnique in Personio
offer.latestVersion.startDateemployment_start_date
job.titleposition.title
job.departmentIdorg_units (department)Through a lookup table
job.locationIdoffice en legal_entityOffice and entity per Ashby location in a table
Eigen aanbodveld met uren per weekweekly_working_hours en full_time_weekly_working_hours

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.