HRIS Directory Sync: How to Keep Your Employee Directory Accurate Without Manual Updates
Manual employee management is error-prone and time-consuming. HRIS directory sync keeps your onboarding platform automatically up-to-date with your source of truth — here's how it works and what to watch out for.
Most HR teams maintain employee data in at least two places: their HRIS (the system of record — SeamlessHR, BambooHR, Workday, or similar) and the tools built on top of it — onboarding platforms, directory tools, payroll systems, access management. Keeping these in sync manually is a full-time job that nobody actually has time for.
The result: the onboarding platform has a department structure from six months ago. A new hire's manager is wrong because someone was promoted but the update never propagated. A leaver is still listed as active because offboarding is done in the HRIS but not in the downstream tools.
Directory sync solves this by treating your HRIS as the authoritative source and propagating changes automatically to every connected system.
What Directory Sync Does
A directory sync integration connects your HRIS to your onboarding platform and reconciles four types of changes on a schedule (typically every 6 hours) and on demand:
- New employees — anyone added to the HRIS since the last sync is created in the onboarding platform and, if a matching workflow trigger exists, their onboarding workflow starts automatically.
- Updated records — name changes, department transfers, job title promotions, manager changes. The onboarding platform reflects the HRIS within one sync cycle without any manual intervention.
- Leavers — employees terminated in the HRIS are flagged for deactivation in the onboarding platform. They are not automatically deleted — deactivation is reviewed before actioning, to protect against accidental termination records.
- Org graph changes — if a manager is promoted or a team is restructured, the reporting hierarchy updates. This matters for workflow routing, approval chains, and escalation logic — all of which use the org graph to determine who to notify.
The Reconciliation Model: How Conflicts Are Handled
Sync conflicts — where the HRIS record and the onboarding platform record differ — need a deterministic resolution strategy. The standard approach is HRIS wins for any field that the HRIS is authoritative on (name, department, manager, job title), and local wins for fields that are onboarding-platform specific (custom workflow assignments, training notes, onboarding buddy).
A well-implemented sync produces a detailed log for every record: what changed, what source it came from, and whether the change was applied or skipped (and why, if skipped). This log is essential for debugging issues and for auditing when a compliance question arises about who was in what role on what date.
Common sync failure mode: Employee matching by email fails when the HRIS stores a work email and the onboarding platform stored a personal email (from pre-boarding). Always normalise on work email as the match key, and explicitly handle the pre-boarding-to-post-boarding email transition.
SeamlessHR Integration: What to Know
SeamlessHR is one of the most widely used HRIS platforms in West Africa, with strong adoption in Nigeria and Ghana. Its API provides read access to employee records, org hierarchy, and employment status — the core data needed for directory sync.
Key points for SeamlessHR integration:
- API authentication uses API keys (not OAuth), which should be stored in secrets management, not in environment variables or source code.
- The employee endpoint returns a paginated list with employment status, so terminated employees are identifiable without a separate leavers endpoint.
- Manager relationships are expressed as manager IDs, requiring a lookup pass to resolve names and emails — important for workflow routing that uses manager names rather than IDs.
- SeamlessHR does not push webhooks on record changes; sync must be pull-based on a schedule.
WorkOS Integration: What to Know
WorkOS provides directory sync as a standalone product (WorkOS Directory Sync), supporting SCIM-based provisioning from multiple identity providers — Okta, Azure AD, Google Workspace, and others. This makes it particularly useful for companies that use SSO and want to drive user lifecycle from their identity provider rather than their HRIS directly.
Key points for WorkOS integration:
- WorkOS pushes events via webhook (user.created, user.updated, user.deleted) — sync is push-based, meaning changes propagate in near real-time rather than waiting for a polling cycle.
- Group membership from the identity provider maps to department and role in the onboarding platform — this requires explicit mapping configuration on first setup.
- WorkOS is a middleware layer, not a source of employment truth — it reflects what's in the identity provider. If your IdP is not the same as your HRIS, you may need both integrations.
Running a Manual Sync
Scheduled syncs handle the steady state. You'll also want the ability to trigger a manual sync for specific situations:
- A new hire starts today but was only added to the HRIS this morning — don't wait 6 hours for the schedule.
- A reorganisation happened and you need the org chart updated before a workflow runs this afternoon.
- Debugging a sync discrepancy — running a manual sync with verbose logging shows exactly what the integration saw and what it decided.
The Directory Sync page in the onboarding dashboard provides a one-click manual sync trigger, a sync status indicator, and a run log with per-record results.
What to Verify After Setting Up Sync
After connecting your HRIS, run through this verification checklist:
- Trigger a manual sync and check the run log — confirm that existing employees are being matched correctly and no duplicates are created.
- Add a test employee in the HRIS and confirm they appear in the onboarding platform within one sync cycle.
- Update a test employee's department in the HRIS and confirm the change propagates.
- Check that manager relationships are resolving correctly — pick three employees and confirm their manager field matches the HRIS.
- Deactivate a test employee in the HRIS and confirm they are flagged (not deleted) in the onboarding platform.
Run this verification again after any major HRIS upgrade or reorganisation to confirm the integration is still functioning correctly.
When Directory Sync Is Not Enough
Directory sync handles the employee record layer. It does not handle:
- Access provisioning — creating accounts in Google Workspace, GitHub, or other tools. This requires an identity provider integration or IT ticketing workflow on top of directory sync.
- Benefits enrolment — syncing that the employee exists does not enrol them in benefits. This is a separate workflow step.
- Payroll — employee records in an onboarding platform are not payroll records. Payroll integration is a different (and more sensitive) integration.
Think of directory sync as the foundation layer — it ensures the right people exist in the system with the right attributes. Everything else — onboarding workflows, training assignments, access provisioning — builds on top of that foundation.
HR Onboarding · Automate your onboarding process
Ready to try it yourself?
Set up your AI-powered onboarding bot in under 15 minutes. No credit card required.
Start free 14-day trial