Important
This repository contains the connector and configuration code only. The implementer is responsible to acquire the connection details such as username, password, certificate, etc. You might even need to sign a contract or agreement with the supplier before implementing this connector. Please contact the client's application manager to coordinate the connector requirements.
- HelloID-Conn-Prov-Target-Sibi
HelloID-Conn-Prov-Target-Sibi is a target connector. Sibi provides a set of REST API's that allow you to programmatically interact with its data. The HelloID connector uses the API endpoints listed in the table below.
- A valid API key to authenticate with the Sibi API.
- A custom field called
originalHireDatein the HelloID person model, mapped to the employee’s original hire date from the source system (e.g. an HR system).
This field is required, as the connector expects it in the fieldMapping. It’s used to populate theemployment_startfield in Sibi, which determines tenure and work anniversaries. - A custom field called
originalDischargeDatein the HelloID person model, mapped to the employee’s latest end date from the source system.
This field is required, as the connector expects it in the fieldMapping. It’s used to populate theemployment_endfield in Sibi, which controls account deactivation.
The following settings are required to connect to the API.
| Setting | Description | Mandatory |
|---|---|---|
| Token | The authentication token to connect to the API | Yes |
| BaseUrl | The URL to the API | Yes |
The correlation configuration is used to specify which properties will be used to match an existing account within Sibi to a person in HelloID.
| Setting | Value |
|---|---|
| Enable correlation | True |
| Person correlation field | ExternalId |
| Account correlation field | employee_number |
Tip
For more information on correlation, please refer to our correlation documentation pages.
The following lifecycle actions are available:
| Action | Description |
|---|---|
| create.ps1 | Creates a new account. |
| disable.ps1 | Updates an existing account, specifically the employment_start and employment_start fields, as Sibi uses those to activate or disable accounts itself. |
| enable.ps1 | Updates an existing account, specifically the employment_start and employment_start fields, as Sibi uses those to activate or disable accounts itself. |
| update.ps1 | Updates the attributes of an account. |
| configuration.json | Contains the connection settings and general configuration for the connector. |
| fieldMapping.json | Defines mappings between person fields and target system person account fields. |
The field mapping can be imported by using the fieldMapping.json file.
-
The Sibi API enforces Rate Limiting with a maximum of 200 requests per minute. To ensure compliance, each action is delayed by 301 milliseconds.
This rate limiting mechanism will only function correctly if
concurrent actionsare set to 1. -
The
Activefield is currently not supported by the API.Enabling or disabling users cannot be done via the API. Sibi manages this based on the
employment_startandemployment_endfields.
- This connector can only manage users created via the API. It cannot manage accounts created manually. For manually created users, Sibi must first take an action (such as activating or updating the user) before they can be managed via the API. Until Sibi performs this action, the connector cannot handle those accounts.
- The employment_start field is best set using a custom field that maps to the
originalHireDatefrom the source system (HR). This is important because it is used for tenure tracking, work anniversaries, and internal Sibi onboarding processes. - The employment_end field is equally critical, as it is used for internal Sibi offboarding processes.
- Ensuring these fields are correctly mapped prevents issues with employment history, recognition programs, and automated onboarding/offboarding workflows within Sibi.
- Setting both values via custom fields mapped from the source system (typically HR) ensures reliable onboarding and offboarding flows within Sibi.
The departments and job_positions fields in the Sibi API are represented as arrays of objects, which HelloID’s field mapping doesn’t currently support. Therefore, these fields are populated through PowerShell scripts.
- The script determines which contracts are "in scope".
- By default, only active contracts are used. If there are no active contracts, and the employee has either already left or is yet to join, the following rules apply:
- For employees who are yet to join: Contracts are used that fall within the Business Rule, where the end date has not been reached yet.
- For employees who have already left: Contracts are used that fall within the Business Rule, with a start date in the past.
- If the list is empty, nothing will be updated.
- In dry-run mode, all contracts are considered “in conditions”, allowing for previewing of the data without actual changes.
- The script automatically filters out any field mappings that are set to
$null. If a value in the HelloID person model is$null, it will also be excluded. If you wish to preserve these values, change the field mapping to complex and return an empty string or a space for$nullvalues. This ensures that the script handles the data correctly.
The following endpoints are used by the connector:
| Endpoint | Description |
|---|---|
| /api/employees/get/by-en/{employeeNumber} | Retrieve user information by employee number |
| /api/employees/create | Create user |
| /api/employees/get/{id} | Retrieve user information by id |
| /api/employees/update/by-en/{employeeNumber} | Update user |
The API documentation can be found on: Documentation
Tip
For more information on how to configure a HelloID PowerShell connector, please refer to our documentation pages.
Tip
If you need help, feel free to ask questions on our forum.
The official HelloID documentation can be found at: https://docs.helloid.com/
