Creating Employees (v2)
Learn how to create employee records in connected HRIS via Kombo.
Overview
Kombo’s Create Employee feature streamlines onboarding by enabling ATS platforms to automatically create employee records in connected HRIS.
Rather than manually entering data, this integration dynamically identifies and retrieves each HRIS’s specific requirements for creating employee records (the data schema), letting your platform easily send correctly formatted employee data directly from the ATS to the HRIS–creating new employee records.
Benefits
- Consistent data structure across diverse/customized HR systems.
- Automated field mapping associates fields in ATS with fields in HRIS, reducing manual efforts and errors.
- Consistent and Validated Data: Ensures data is accurate, complete, and validated, reducing onboarding errors.
High-level Workflow
To create an employee:
- Connect HRIS – Ensure an HRIS connection is set up via Kombo Connect.
- Fetch Schema – Retrieve fields required by the connected HRIS to create an employee.
- Map Fields & Capture Data – Pre-populate fields from your ATS data and capture any missing data in your UI.
- Submit Employee Data – Push validated employee data to create employee record in connected HRIS.
Flowcharts of Workflow
Flowcharts of Workflow
Relevant API endpoints
Get employee form
Get the form definition that you can render on your frontend.
Create employee with form
Post the data that you collected from the form to create an employee.
Implementation Steps
Fetching the Form Schema
Endpoint:
GET
https://api.kombo.dev/v1/hris/employees/form
Response:
You’ll receive a JSON schema describing required fields, data types, labels, validation rules, and unified keys. Below is more information on how this schema is built.
Note:
The schema fields you receive are different for every HRIS and often even by instance. (e.g. firstName
, startDate
, workLocation
in the example response)
Example Response Snippet:
Auto-fill Standard Fields via Unified Keys
To create an employee record, all fields required by the HRIS must be populated appropriately and submitted. Most HRIS will require some similar standard fields such as first_name
and last_name
– which can automatically be pre-populated if the data already exists within your ATS; for that, the unified_key
property can be used, which is included on standard fields within the schema retrieved in the previous step.
Example:
-
If an HRIS wants a property with the following key:
-
Kombo automatically maps this property to the
unified_key
:
Supported Unified Keys include:
Unified Values for Gender Mapping:
After fetching the schema:
- Automatically populate fields with unified keys (e.g.
first_name
orstart_date
) if the data is already available in your ATS.
Add Field Mapping (highly recommended, but optional)
To create an employee record, all fields required by the HRIS must be populated appropriately and submitted. Most HRIS will require some similar basic fields such as first_name
and last_name
– which can automatically be pre-populated if the data already exists within your ATS; for that, we use the unified_key
.
However, an individual employer might also have less common or custom fields that are required to create an employee record in their specific HRIS instance. For example, a travel-related company might have a field for nationality
configured in their HRIS, which they require to create an employee record (this field would be included in the form schema retrieved in the previous step).
In this example, if you already have data for a person’s nationality stored within your ATS (e.g. because it was captured as part of a job application), then the ATS field with the nationality value can be mapped to the nationality
field returned in the HRIS form schema.
We recommend providing your users the option to manually map ATS fields to HRIS fields via an intuitive UI.
Guidance for UI Implementation
Guidance for UI Implementation
- Automatically populate fields such as
first_name
orstart_date
if already available in your ATS. - Field Mapping UI: For HRIS admins, provide an intermediate mapping step after the HRIS connection, that verifies and adjusts the correspondence between ATS data fields and the HRIS schema.
- Responsive Design: Ensure the form displays correctly on both desktop and mobile devices.
Example: Field Mapping UI
Capturing Any Missing Data (highly recommended, but optional)
There might be situations in which an employer’s HRIS might require specific fields to be populated, where you either:
- Do not have the specific data available within your ATS
- Require user input to decide on the correct value
Guidance for UI Implementation
Guidance for UI Implementation
- Dynamically generate fields to display: Parse the schema to render appropriate inputs (e.g., text boxes, date pickers, dropdowns, checkboxes).
- Auto-populate fields when possible: Pre-populate fields such as
first_name
orstart_date
if already available in your ATS. You can also consider not displaying pre-populated fields at all, for a simplified UI/UX.
More UX/UI Examples:
Example: Missing Data Capture
Example: Missing Data Capture
Submitting Employee Data
Endpoint:
POST
https://api.kombo.dev/v1/hris/employees/form
Request:
Submit data matching the retrieved schema format to create an employee record.
How it works:
- All required fields from the schema retrieved in the GET call must be included
- The POST payload mirrors the GET schema’s nested structure.
- Data is organized under the properties key.
- For nested fields (like
workLocation
in the example request snippet), include the corresponding sub-objects or arrays.
Example Request Snippet:
Field Types & Validation
Our API supports several field types, each with its own validation rules. Below are summarized examples:
Text
Text
Used for any textual input (e.g., first names, last names).
Schema
Post Example
Number
Number
Used for numeric values such as ages or IDs.
Schema
Post Example
Date
Date
Used for date entries (e.g., employee start dates). The expected format is YYYY-MM-DD
.
Schema
Post Example
Single Select
Single Select
Allows selection of a single option from a predefined list, if the type is options. Please submit the value of the Item.
A link is provided for type reference, from which you can query the specific options. For example, this link can be used to get all employees
or departments
. For this case, please submit the ID as the selected value.
Schema
Post Example
Multi Select
Multi Select
Allows selection of multiple options from a predefined list. Please submit the values of the items.
A link is provided for type reference, from which you can query the specific options. For example, this link can be used to get all employees
or departments
. For this case, please submit the IDs as the selected values.
It is possible to have a minimum and maximum amount of items.
Schema
Post Example
Checkbox
Checkbox
A simple checkbox used for binary choices
Schema
Post Example
Object
Object
Used for nested fields or grouped data. Each property within the object is defined using a field type.
Schema
Post Example
Array
Array
Used when multiple items of the same type are expected, such as a list of values. You can define the minimum and maximum number of items. Please note that the item_type can also be an object.
Schema
Post Example
File
File
Used for uploading files. Restrictions, such as accepted MIME types and the maximum allowed file size, can be specified. Please submit the data as a Base64 string.
Schema
Post Example
For each type, ensure client-side and server-side validation is in place (e.g., ensuring required fields are provided, input adheres to defined constraints, and clear error messages are surfaced).
Additional Information
- Fields marked
"required": true
must be provided. - Optional objects, if included, must have their required subfields completed.
Example Scenario:
If an optional object (workLocation
) is submitted, then its required properties (like site
) must be provided:
If workLocation
isn’t submitted, then the subfield requirement is bypassed.
- Fields marked
"required": true
must be provided. - Optional objects, if included, must have their required subfields completed.
Example Scenario:
If an optional object (workLocation
) is submitted, then its required properties (like site
) must be provided:
If workLocation
isn’t submitted, then the subfield requirement is bypassed.
Kombo uses a property called unified_key
to standardize common fields between ATS and HRIS systems, allowing automatic data mapping.
Example:
-
ATS provides first name data as:
Example -
Kombo automatically maps this into the HRIS’s expected field.
Supported Unified Keys include:
Unified Key Values for Gender Mapping:
Client Side:
Validate that all required fields are provided, validate formats (e.g., dates, numeric ranges), and provide inline validation messages.
Server Side:
Ensure the API returns clear error responses (400 for validation errors, 500 for server issues) and include guidance on resolving common errors.
Dashboard Form Preview
The Kombo Dashboard provides a convenient way to preview the employee form for connected HRIS systems:
- Developer Preview Tool – Allows you to see exactly what fields you’ll receive through the
GET /employees/form
endpoint. - Visual Reference – Shows how the form could look when rendered in a frontend application.
- Testing Environment – Helps you understand where created employees will appear in the HRIS and verify field mappings.
Important Notes
Important Notes
Testing Only – The Dashboard form is intended for development and testing purposes, not for production use.
Access Control – This feature is not enabled by default. Contact Kombo Support to have it activated on your instance.
Learning Resource – Use it to better understand the form structure before implementing your own UI.
Example: Dashboard Form Preview
Summary
By implementing Kombo’s Create Employee functionality, your ATS platform simplifies employee onboarding by dynamically adapting to any HRIS schema, automating data mapping, and ensuring reliable data submission.