Teamtailor logoKe

Recruitment to HR

Teamtailor to Keka integration: hired candidates as employees in Keka

With an integration between Teamtailor and Keka, a hired candidate from Teamtailor becomes an employee in Keka, with employee number, name, work email, mobile number, joining date, department, business unit, location, legal entity and job title. KoppelHet writes the Keka ID back to Teamtailor, so a second notice of the same hire does not create a duplicate employee.

What the integration does

Organisations that recruit worldwide in Teamtailor and have Keka as their HR system enter every hire in Keka by hand. Department, business unit and entity sometimes get a different spelling than in Keka, so reports in Keka no longer add up.

  1. The recruiter moves the candidate to the hired stage in Teamtailor.
  2. KoppelHet retrieves candidate, job, offer and onboarding and checks whether a Keka ID is already on the candidate.
  3. Department, division and location from Teamtailor are translated to the names that exist in Keka.
  4. KoppelHet creates the employee in Keka.
  5. The Keka ID goes back to a custom field on the candidate; the salary becomes a task for HR.
Teamtailor → KoppelHet → KekaSOURCETeamtailorTARGETKekaKekaKoppelHetmapping · logging · monitoringTeamtailor → KoppelHet → KekaSOURCETeamtailorTARGETKekaKekaKoppelHetmapping · logging · monitoring
Out: Employee with employee number and name · Work email and mobile number · Joining date · Department, business unit, location and legal entity · Keka ID back in Teamtailor

What to watch for with Teamtailor and Keka

  • Keka only accepts a fixed list of fields for a new employee and refuses the call on any other field. Custom fields from Teamtailor can therefore not come along at creation. KoppelHet only sends the fixed fields, and what else Teamtailor knows stays there or becomes a task for HR.
  • Department, business unit, location and legal entity are free text in the Keka API. Teamtailor has departments, divisions and locations with their own names. KoppelHet translates them through a table to exactly the names in Keka, so no second department with a different spelling is created.
  • A start date in a Teamtailor offer is a plain date, while Keka wants the joining date as a date with time. KoppelHet converts the date with the time zone of the office, so a starter in Amsterdam does not begin a day earlier in Keka.
  • Teamtailor does not ask candidates for gender, and Keka records gender as a number from zero to three without documented meaning. KoppelHet only sends the field once the meaning is established in Keka's test environment and gender is asked in the onboarding.
  • Keka returns the ID of a new employee. KoppelHet puts that ID in a custom field on the candidate in Teamtailor and checks there first, so a repeated notice or a second move to hired does not create a second employee.
  • Salary is not part of Keka's employee API, and in a Teamtailor offer the salary is free text. KoppelHet therefore puts the amount from the offer in a task for HR, who records it in Keka's payroll.

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 Indian and Dutch hires arrive the same way?

Yes, the legal entity and location determine where the employee lands in Keka. Local data such as a Dutch citizen service number is added by HR afterwards.

What about audit logging, GDPR and our integration platform?

You are the controller and KoppelHet is the processor, under a data processing agreement. Only hired candidates go to Keka, and every action is in the audit logging. An existing integration platform is left alone.

Technical details for IT

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

  • Teamtailor through the company webhook job_application.update (TT-Signature) and the Teamtailor API (job-applications, candidates, jobs with department, division and locations, job-offers with status accepted and details.start-date, onboardings with work-email; custom-field-values for the Keka ID with an Admin key with write access). Limit 50 requests per 10 seconds.
  • To Keka through POST https://{company}.keka.com/api/v1/hris/employees (test environment on kekademo.com) with a token from login.keka.com, scope kekaapi. Fields employeeNumber, displayName, firstName, middleName, lastName, email, mobileNumber, gender (0-3), dateOfBirth and dateJoined (date-time), department, businessUnit, jobTitle, secondaryJobTitle, location, legalEntity and nationality; additionalProperties false. Response with the ID in data. Limit 50 requests per minute.

Which fields are transferred

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

Field in TeamtailorField in KekaNotes
first-name en last-namefirstName, middleName en lastName
work-email (onboarding)email
phonemobileNumber
start-date uit het aanboddateJoinedDate becomes date-time
department van de vacaturedepartment
division van de vacaturebusinessUnit en legalEntity
location van de vacaturelocation
title van de vacaturejobTitle
Reeks van HRemployeeNumber

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.