Sync Worker Details Across Your Workspace
Every system should know what your HRIS knows.
The Problem
Worker details are spread across many systems: your HRIS, Entra, Slack, Salesforce, and more. When someone marries, when they are promoted and given a new title, or when they move departments, each individual system needs to be updated or it falls out of line. Handling that manually is slow, expensive, and error-prone.
Some teams write scripts to handle it. Those scripts are hard to audit, spread across teams, and require maintenance.
3.7% of manually keyed entries disagreed with the same result carried across automatically.

Sync Driven by Policy
In Klef, your policies describe what each account should look like at each stage of a worker's lifecycle. Klef keeps every downstream account in sync in accordance to your instructions. You know exactly where your Entra user's title comes from.
policy "Directory profile" { category = "Company-wide" applies = everyone stage active { target microsoft_entra.user { userPrincipalName = worker.business_email displayName = worker.display_name givenName = worker.legal_name.given surname = worker.legal_name.family jobTitle = worker.job.name department = worker.department.name officeLocation = lookup(table.sites, worker.location.code) manager = worker.manager } target google_workspace.user { primaryEmail = worker.business_email givenName = worker.legal_name.given familyName = worker.legal_name.family jobTitle = worker.job.name department = script.title_case(worker.department.name) orgUnitPath = lookup(table.org_units, worker.department.code) manager = worker.manager } target slack.user { userName = worker.business_email displayName = worker.display_name givenName = worker.legal_name.given familyName = worker.legal_name.family title = worker.job.name } }}A Plan for Every Change
Every sync produces a plan: a list of each change Klef will make downstream. The plan can apply automatically or be set aside for review and approval.
Erin WalshAdded
Hana ColeUpdated
Nia BennettRemoved