Integration sync
Pulls employees, employments, and org units from each integration that is turned on (Entra ID, SHR, Visma OM, Intega Løn, …).
How it works
The integration sync is a single job that handles every sync-capable integration:
- Loads active integrations — only integrations turned on for the workspace are processed; integrations that are turned off or not set up are skipped
- Fetches data — asks the external system for its data, passing the time of the last successful sync, so systems that support it only return what changed
- Updates mTime — creates new records, updates changed ones, and reports anything it skipped (e.g. invalid records in the external system)
- Updates the sync status — records the start time of this run as
last_sync_aton success, or the error message on failure. Recording the start time (not the completion time) means changes made in the external system during the fetch are picked up on the next run
When it runs
The job runs automatically and only triggers when at least one integration that can sync is turned on for the workspace.
Parameters
| Parameter | Description |
|---|---|
| Integration | Optional. The ID of a specific integration (e.g. entraid, shr, vom, integahr). Leave empty to sync all integrations that are turned on |
| Dry Run | When turned on, fetches data and reports counts without changing anything in mTime. Useful for verifying credentials or seeing what an integration would do |
Job results
When syncing a single integration, the results are flat:
| Metric | Description |
|---|---|
employees (with created, updated, skipped) | Per-bucket counts for employees |
employments (with created, updated, skipped) | Per-bucket counts for employments |
org_units (with created, updated) | Per-bucket counts for org units |
errors | Errors reported by the external system while fetching or updating |
When syncing all integrations, the results are nested under each integration ID.
Dry-run results expose the number of items fetched (employees, employments, org_units) and a dry_run: true flag.
When a run is skipped because the integration is turned off or not set up, you’ll see skipped: true with a reason.
Job status
A run that completes with skipped rows or per-item errors finishes with status warning rather than completed. The data that did sync is saved; the warnings draw attention to the rest.
Related
- Integrations overview — set up and configure each integration
- Integration status — view the latest sync timestamp and error for each integration