Docebo Connect + HiBob integration: a setup guide for SMEs
For a European SME that runs people ops in HiBob and learning in Docebo, the integration is the difference between an HR system that feeds the LMS automatically and two systems that drift apart by week three. Docebo Connect for HiBob closes that gap with a scheduled sync of employee data — joiners, leavers, department changes, manager reassignments — driving Docebo user records from the single source of truth.
This guide walks through the setup shape we use for SME deployments, the field mapping that survives a real HR lifecycle, and the GDPR considerations that apply when employee data flows between systems.
Why HiBob-to-Docebo is worth automating
Manual employee sync between HiBob and Docebo tends to break in three predictable places. New hires get added to HiBob on day one, but get onboarded to Docebo three weeks later when someone remembers. Leavers get offboarded in HiBob, but their Docebo account stays active until the next ad-hoc cleanup. Department moves in HiBob do not flow through, so Docebo learning-path assignments follow an increasingly fictional org chart.
A scheduled Docebo Connect recipe — typically running every 15 minutes or hourly — reduces all three failure modes to observable events with an audit log. For SMEs operating under GDPR, that audit log is a direct input to the Article 30 Record of Processing: the data categories flowing between systems are named, the retention policy is enforceable, and the leaver case is handled deterministically.
Prerequisites worth getting right before you build
Five things we confirm in week 1 of an SME integration build:
- Docebo Connect is activated on the SME’s Docebo instance (not a default on every tier — check the entitlement).
- A HiBob service user exists with administrator-level API scopes, not a personal admin account borrowed from whoever was nearest.
- Docebo Connect admin access is scoped to the integration engineer, not the CEO.
- A HiBob sandbox is available for validation — HiBob supports this but not every SME has one provisioned.
- Someone has written down which HiBob fields are source-of-truth and which are nullable. This list matters more than the technical config.
The authoritative Docebo reference for the connector sits at help.docebo.com; the product overview is at docebo.com.
Field mapping that survives a real HR lifecycle
The field mapping is the artefact that takes the longest to get right and the shortest to write once you have it. A baseline mapping for a typical SME:
| HiBob field | HiBob API path | Docebo field | Docebo API path | Transform |
|---|---|---|---|---|
| Work Email | work.email | user.email | TRIM, LOWER | |
| First Name | firstName | firstname | user.firstname | TRIM |
| Last Name | surname | lastname | user.lastname | TRIM |
| Employee ID | internal.id | userid | user.userid | PREFIX(BOB-) |
| Department | work.department | branch_id | user.branch_id | LOOKUP(dept_to_branch) |
| Job Title | work.title | additional_field_1 | user.additional_fields[0] | TRIM |
| Start Date | work.startDate | additional_field_2 | user.additional_fields[1] | DATE_FORMAT |
| Manager Email | work.reportsTo.email | manager_id | user.manager | LOOKUP(email_to_userid) |
| Status | internal.status | status | user.status | MAP(Active=0, Inactive=1) |
Two rules we enforce on every deployment: department → branch is always a lookup table (never free-text matching), and manager → manager_id is always a two-step lookup via email → Docebo userid (never positional).
Sample API calls for sanity testing
Before switching on the scheduled recipe, we run two read-only calls against the HiBob sandbox to confirm the data shape we expect:
# List all active employees
curl "https://api.hibob.com/v1/people?showInactive=false" \
-H "Authorization: Basic BASE64(SERVICE_USER_ID:TOKEN)" \
-H "Accept: application/json"
# Fetch a single employee record
curl "https://api.hibob.com/v1/people/EMPLOYEE_ID" \
-H "Authorization: Basic BASE64(SERVICE_USER_ID:TOKEN)" \
-H "Accept: application/json"
If either call returns 401, the service user credentials are wrong. If they return 200 but the field shape does not match the HiBob API reference, someone on the HR side has probably renamed a custom field and not told engineering. Both are better to find in sandbox than in production.
GDPR considerations the integration must respect
Flowing employee data between HiBob and Docebo is a processing activity under GDPR. Three anchors that have to be in the SME’s Record of Processing:
- Purpose. The sync exists to assign, track, and report on mandatory and elective training. Any data field beyond what serves that purpose should not be mapped.
- Retention. Leaver records in Docebo should follow the SME’s documented retention policy — typically training-completion records for a period dictated by industry regulation, then deletion. Docebo supports this via scheduled anonymisation; confirm the default is aligned.
- Legal basis. For employees, legitimate interest usually covers the sync; for contractors and external trainees, check whether the basis shifts.
A clean integration ships with these answers documented in a short processing note attached to the recipe — which also doubles as the onboarding document when the next HR admin inherits the system.
A realistic go-live timeline
For an SME with one HiBob tenant and one Docebo instance, we plan the integration across two weeks: week 1 for prerequisites, field mapping sign-off, and sandbox validation; week 2 for production cutover, monitoring, and a first reconciliation pass. For eligible Spanish SMEs, the Kit Digital scheme covers up to €12,000 for digitalisation projects and this work fits comfortably inside the eligible scope when packaged as an LMS deployment.
Ready to get started?
Working on this yourself? J4SGON S.L. delivers Docebo Connect, HRIS, SSO and migration work for European organisations — see what a scoped engagement covers or describe your project and we will reply with a written scope.
Tell us what you are integrating or migrating
Send the platform, the systems involved and where you are stuck. You get a written scope back — phases, deliverables and what is out of scope — before anything is billed.