Recruitment to HR
iCIMS to Personio integration: accepted offer as an employee in onboarding
With an integration between iCIMS and Personio, a candidate with an accepted offer in iCIMS arrives in Personio as an employee with the onboarding status, with start date, department, office, legal entity and salary. If that fails, the recruiter sees why in iCIMS, for example because the email address already belongs to an employee in Personio.
What the integration does
Organisations that recruit in iCIMS and use Personio for their European employees put every hire into Personio by hand. Codes for department, office and entity are looked up per candidate.
- The recruiter moves the candidate in iCIMS to the status for an accepted offer.
- KoppelHet fetches person, application and job.
- Department, location and position type are translated to the IDs and hours in Personio.
- KoppelHet creates the person with employment, with the onboarding status, and then the salary.
- The recruiter sees a confirmation in iCIMS or the reason for an error.
What to watch for with iCIMS and Personio
- Personio does not allow two employees with the same email address. If a former employee applies again through iCIMS, KoppelHet returns that as a message in iCIMS, so the recruiter brings in HR for a rehire.
- In iCIMS the department of a job is a choice from a list, in Personio an organisational unit with its own ID. KoppelHet translates the iCIMS list one to one to those IDs; if a department is added in iCIMS, the integration reports it instead of guessing.
- An iCIMS job has no hours field, but it has a type such as regular full-time or contract. Personio wants weekly hours next to the full-time week. Per type we record the hours; part-time with other hours HR completes in Personio.
- For recurring compensation Personio only knows month, quarter, half-year and year. KoppelHet puts the iCIMS offer amount as a fixed salary with the interval that fits the entity; a bonus from iCIMS cannot go through the API and stays with HR.
- Personio has a separate onboarding status for an employment that has not started yet. KoppelHet creates the iCIMS candidate with that status, so the onboarding steps in Personio start without the person already counting as active.
- iCIMS keeps one profile per person, even with several applications. KoppelHet stores the iCIMS person number with the employee in Personio, so a second status change for the same person does not try to create a second employee.
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 US hires also go to Personio?
Only if you manage them in Personio. A location without an entity in the table gives a message in iCIMS.
What if the start date changes after the hire?
HR changes the date in Personio. Passing it on from iCIMS can be added later as an extension.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- iCIMS through the Workflow Status Update event (WorkFlowStatusChangeEvent with personId, jobId, systemId and links) on a trigger status. Respond 200 with userMessage or 400 with a message for the recruiter. Then GET on applicantworkflows (proposedstartdate, offeramount), people (firstname, lastname, email) and jobs (jobtitle, department, joblocation, positiontype).
- Personio through POST /v2/persons (scope personio:persons:write; email unique) with an employment with employment_start_date, status ONBOARDING, position.title, org_units, office, legal_entity, weekly_working_hours and full_time_weekly_working_hours, and custom_attributes for the iCIMS person number. Salary through POST /v2/compensations (interval MONTHLY to YEARLY; no bonuses).
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in iCIMS | Field in Personio | Notes |
|---|---|---|
firstname en lastname | first_name en last_name | |
email | email | Unique in Personio |
proposedstartdate | employment_start_date | |
jobtitle (vacature) | position.title | |
department (vacature) | org_units (id en type) | Through a lookup table |
joblocation (vacature) | office.id en legal_entity.id | Through a lookup table |
positiontype (vacature) | weekly_working_hours | Fixed hours per type |
offeramount | Compensation (value, currency, interval, effective_from) |
Related
iCIMS → HiBob
iCIMS to HiBob integration: hire in Bob, errors visible in iCIMS
iCIMS → SAP SuccessFactors
iCIMS to SAP SuccessFactors integration: accepted offer as a new employee in Employee Central
iCIMS → Workday
iCIMS to Workday integration: accepted offer becomes pre-hire and hire
Ashby → Personio
Ashby to Personio integration: hires with hours and entity as new employees in Personio