HR Sync (HiBob)¶
ZAI can connect to your HR system and keep employee profiles and leave automatically up to date. When HR sync is enabled, ZAI treats your HR system as the source of truth for a defined set of fields — you maintain them in HiBob and ZAI reflects them, so there's no double entry.
HiBob is the first supported HR provider. The integration uses HiBob's People and Time Off APIs.
Overview¶
HR sync runs two background jobs once it's enabled — there's nothing to trigger manually:
| Job | What it does | Default schedule |
|---|---|---|
| Profile sync | Reads employees from HiBob and updates job title, office/site, and line manager in ZAI | Daily |
| Leave sync | Reads HiBob's Who's Out feed and writes approved time-off into ZAI's availability model | Hourly |
The result: when someone changes role, moves office, or books leave in HiBob, ZAI picks it up on the next sync — and that leave immediately counts towards availability for ticket assignment.
Getting started¶
Prerequisites¶
- A HiBob account with API access.
- A HiBob API Service User (created under Settings → Integrations → Service Users) with read access to People and Time Off data. You'll need its Service User ID and token.
- Each employee's work email in HiBob should match their email in ZAI for the first sync. After that, ZAI remembers the link by HiBob ID, so later email changes won't break it.
Configured by your administrator
HR sync is enabled in your ZAI environment's configuration. If you're on a Zenzero-hosted instance, ask Zenzero support to enable it and supply your HiBob credentials securely. Credentials are stored in the secure configuration store, never in plain files.
Steps (administrator)¶
- In HiBob, create a Service User with read access to People and Time Off, and copy its Service User ID and token.
- Provide those credentials to ZAI's secure configuration and enable HR sync.
- Restart the application. Sync begins automatically on startup, and the first run logs how many employees were read, matched, and updated.
Key concepts¶
Field ownership¶
When HR sync is on, the fields HiBob manages become read-only on the employee form in ZAI:
| Field | Owned by |
|---|---|
| Job title | HiBob |
| Office / site | HiBob |
| Line manager | HiBob |
Everything else — skills, PSA references, pod membership, and so on — stays fully editable in ZAI.
The lock is enforced on the server
Read-only HR fields can't be bypassed by re-enabling the form control in your browser. ZAI discards any change to an HR-owned field and keeps the HiBob value, protecting data integrity while your HR system is the source of truth.
How employees are matched¶
ZAI links each HiBob record to a ZAI employee in two ways:
- Stored HiBob ID (preferred) — after the first successful match, ZAI saves the HiBob employee ID, so the link survives work-email changes.
- Work email — used on the first run, or for any employee without a stored ID.
Employees who can't be matched are skipped and logged; they never interrupt the rest of the sync.
Leave and availability¶
Approved time-off from HiBob is written into ZAI's shared availability model. It composes with Microsoft Shifts rotas (if Shifts sync is also enabled) and the weekly schedule template when ZAI works out who's available. A current, approved leave block always marks an employee unavailable — even if they were scheduled to work.
When a leave request is cancelled in HiBob, ZAI removes it on the next leave sync.
New job roles and offices¶
If HiBob reports a job title or office that doesn't yet exist in ZAI, ZAI creates it automatically. Your job role and office lists will grow to match HiBob over time; you can review them on the configuration pages afterwards.
Troubleshooting¶
Employees aren't being matched. Check that the work email in HiBob matches the email in ZAI (case doesn't matter). The sync log lists any HiBob records it couldn't resolve.
HR-owned fields aren't updating. Confirm HR sync is enabled in the running configuration and the application has been restarted. The startup log shows whether the HR sync service is active.
A job role or office created by sync has the wrong name. HiBob is the source for these. Change the value in HiBob and it'll propagate on the next profile sync.
Leave isn't appearing for an employee. The employee has to be matched in a profile sync before leave is written for them. If they were just added to HiBob, wait for the next profile sync. Also confirm the request is approved in HiBob — pending requests aren't in the Who's Out feed.
Related pages¶
- Microsoft Shifts schedule sync — the other source that feeds availability
- Resource Scheduling dashboard — where availability is surfaced for pod managers