
Recruitment to HR
Lever to Personio integration: a signed offer becomes an employee in onboarding
With an integration between Lever and Personio, a candidate hired in Lever appears in Personio as an employee with the onboarding status, with start date, department, office, legal entity and salary from the offer. KoppelHet connects Lever's webhook to Personio's API for this.
What the integration does
Organisations that recruit with Lever and use Personio as their HR system retype every hire in Personio. Lever holds the offer with start date and salary, Personio also wants office, entity and hours, and those have to be looked up per candidate.
- The opportunity is marked as hired in Lever.
- KoppelHet fetches opportunity, offer and posting and checks that everyone has signed.
- From the posting's tags KoppelHet determines department, office and legal entity in Personio.
- KoppelHet creates the person with employment in Personio, with the onboarding status.
- The salary then follows as a separate compensation from the start date.
What to watch for with Lever and Personio
- Personio refuses a second employee with the same email address. If a former employee returns through Lever, KoppelHet does not create a new person but reports it to HR, which handles the rehire in Personio.
- Department, office and legal entity are references to existing IDs in Personio. In Lever they are tags on the posting. KoppelHet translates each tag through a table and stops with a notice on a tag that is not in it yet.
- Lever has no contract hours; the type of work is a tag, such as full-time or part-time. Personio works with weekly hours against the full-time week. Per tag we record fixed hours, or we add an hours field to the offer template in Lever.
- For recurring compensation Personio only knows the intervals month, quarter, half-year and year. An hourly wage from Lever therefore goes in as a compensation of the hourly type, not as a fixed salary with an hourly interval.
- A bonus from the Lever offer cannot go through Personio's compensation API. KoppelHet only carries the base salary and states in the notice to HR that the offer contains a bonus.
- A Lever offer already shows as signed as soon as one party signs. KoppelHet only puts the employee into Personio once candidate and company have both signed, so onboarding does not start on an offer that can still change.
- You decide which fields come along. KoppelHet monitors every hire and reports an error in the platform.
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 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.
Frequently asked questions
Do CV and offer letter come along?
Not in the first version. The signed offer as a document in Personio can be added later as an extension.
What if the start date moves after the hire?
Then HR changes the date in Personio. The integration only sends the hire itself.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- Lever through the candidateHired webhook (data.opportunityId, data.contactId; HMAC-SHA256 over token and triggeredAt) and the Lever API with an API key through basic authentication. GET /opportunities/:opportunity, /opportunities/:opportunity/offers (fields by identifier, signatures per signer) and /postings/:posting (categories, country). Lever retries a failed webhook five times.
- Personio through POST /v2/persons (scope personio:persons:write) with first_name, last_name, email and an employment with employment_start_date, status ONBOARDING, position.title, org_units, office, legal_entity and weekly_working_hours. Salary through POST /v2/compensations (scopes personio:compensations:read and write; value, currency, interval MONTHLY to YEARLY, effective_from; no bonuses).
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in Lever | Field in Personio | Notes |
|---|---|---|
name | first_name en last_name | Lever has one name field; KoppelHet splits it |
emails[0] | email | Must be unique in Personio |
Offer field anticipated_start_date | employment_start_date | |
Offer field job_title | position.title | |
categories.department en team | org_units (id en type) | Through a lookup table |
categories.location en country | office.id en legal_entity.id | Through a lookup table |
categories.commitment | weekly_working_hours | Fixed hours per tag, or a custom offer field |
salary_amount, compensation_currency, salary_interval | Compensation met value, currency, interval en effective_from |
Related
Lever → BambooHR
Lever to BambooHR integration: hired candidate as a new employee profile in BambooHR
Lever → Dayforce
Lever to Dayforce integration: signed offer as a validated new employee in Dayforce
Lever → Deel
Lever to Deel integration: hired candidate as own employee or EOR contract in Deel
Lever → HiBob
Lever to HiBob integration: hired candidate with offer as an employee in Bob