
Recruitment to HR
SmartRecruiters to Loket integration: hired candidate as a concept in Loket, onboarding status back
With an integration between SmartRecruiters and Loket, a candidate marked as hired in SmartRecruiters automatically becomes a concept employee in Loket, at the employer that belongs to the job's location. In SmartRecruiters the recruiter then sees from the onboarding status whether the concept in Loket succeeded.
What the integration does
Organisations that recruit in SmartRecruiters and run Dutch payroll through Loket email each hire to payroll, which copies the details into Loket. Recruiters then do not know whether the new colleague is ready for the first payroll run.
- The recruiter sets the application in SmartRecruiters to hired.
- KoppelHet acknowledges the notification straight away and fetches candidate, job and offer.
- In Loket a concept employee appears at the employer of the job location, with the new hire checklist started.
- KoppelHet sets the onboarding status in SmartRecruiters to successful, or to failed with the reason in the platform.
- Payroll adds citizen service number and payroll tax and converts the concept.
What to watch for with SmartRecruiters and Loket
- SmartRecruiters has an onboarding status per application for the system that takes over the new employee. KoppelHet sets it to successful once the concept is in Loket, and to failed if Loket rejects it, so recruiters see which hires still need attention.
- A notification from SmartRecruiters only contains an ID and must be acknowledged within five seconds. Creating a concept in Loket takes several steps. KoppelHet therefore acknowledges first and fetches the details afterwards, so SmartRecruiters does not resend the notification.
- SmartRecruiters repeats an unacknowledged notification up to ten times, until a day later. KoppelHet stores the candidate number on the concept in Loket and does not create a second concept on a repeat.
- Start date, hours and salary are held in SmartRecruiters in offer properties that each organisation sets up itself. For a concept Loket first asks for the payroll administration and then the scale. We record per offer property where it lands in Loket, and whether the salary is a monthly or hourly amount.
- Jobs in SmartRecruiters have a location with country and city, Loket works with employers. KoppelHet determines the employer from the location; jobs outside the Netherlands are skipped and not sent to Loket.
- SmartRecruiters allows ten requests per second, with at most eight at a time. After a recruitment round with many hires KoppelHet processes them one after another, so every hire reaches Loket without SmartRecruiters refusing requests.
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
Why does the status in SmartRecruiters go to failed?
Because Loket rejected the concept, for example due to a missing start date. The reason is in the platform; after correction in SmartRecruiters KoppelHet tries again.
Does this work with a payroll bureau?
Yes. The bureau gives the integration access to your employers in Loket; recruiters need no Loket account themselves.
Technical details for IT
For those who want to know how it works under the hood: APIs, fields and sources used.
- SmartRecruiters through a webhook subscription (notification with only the ID and a Link header, HMAC-SHA256 in smartrecruiters-signature, 202 within 5 seconds, up to 10 retries) and the Customer API with OAuth 2.0 client credentials (10 requests per second, 8 concurrent). Status back through PUT /candidates/{id}/jobs/{jobId}/onboardingStatus with ONBOARDING_SUCCESSFUL or ONBOARDING_FAILED.
- Loket through the REST API with OAuth 2.0 (authorization code). Metadata for the concept per employer (jobapplicant/metadata) and then per payroll administration; create the concept and start the new hire checklist. Testing on the acceptance environment api.loket-acc.nl.
Which fields are transferred
The key fields. The full mapping is agreed per customer.
| Field in SmartRecruiters | Field in Loket | Notes |
|---|---|---|
Candidate id | Vrij veld op het concept | Recognises a repeated notification |
firstName en lastName | Voornaam, voorvoegsel en achternaam | |
location van de vacature | Werkgever en loonadministratie | Through a translation table |
Offer property startdatum | Datum in dienst | |
Offer property uren per week | Arbeidsduur | |
Offer property salaris en periode | Loon per verloningsperiode | Month or hour, agreed in advance |
Uitkomst in Loket | onboardingStatus (terug) |
Related
SmartRecruiters → ADP Workforce Now
SmartRecruiters to ADP Workforce Now integration: ready to onboard becomes a hire in ADP
SmartRecruiters → AFAS Profit
SmartRecruiters to AFAS integration: hired candidate starts onboarding, status back to SmartRecruiters
SmartRecruiters → BambooHR
SmartRecruiters to BambooHR integration: hire with Dutch fields and feedback
SmartRecruiters → Dayforce
SmartRecruiters to Dayforce integration: validate first, then create the employee