The DSK integration connects an external DSK badge-reader and time-attendance system to your PBX so employee presence flows automatically into Tempus.
Overview
DSK is a third-party time and attendance platform built around badge readers. Once configured as an integration of type DSK, the PBX reads the live presence feed from DSK on a schedule, matches each entry to a Cockpit user, translates the DSK status into a Tempus status, and records it as a time point. The integration is read-only towards DSK and never writes back to it.
What it does
You configure the connection with a base URL, an API user, and an API password. On save, Cockpit authenticates against DSK and stores the bearer token it receives, shown read-only and masked because DSK issues it, and refreshed automatically as it nears expiry. If the credentials are wrong or DSK cannot be reached, the save fails and the connection status shows the reason.
Once the integration is active and connected, two background jobs run every minute: one keeps the bearer token fresh, the other pulls the current presence feed and processes every entry. A daily job trims the activity log.
For each person in the DSK feed, the integration tries to find the matching Cockpit user in this order:
- An explicit per-user mapping you set, which always wins.
- An exact email-address match.
- An exact first name and last name match. If two users in the same PBX share that name, the entry is left unmatched rather than guessed, so it is never written to the wrong person.
When a user is found, the raw DSK status code is translated into a Tempus status using the mappings you define on your Tempus statuses. A code with no matching Tempus status is skipped, so you control which DSK states become attendance and which are ignored.
A new time point is written only when a person's status changes. Repeated pulls of an unchanged status do not create duplicates, and the previous open time point is closed when the next one opens.
A DSK activity log on the integration edit page covers the last 24 hours. The edit page also shows a per-user table with each person's current Cockpit status, their raw and mapped DSK status, the badge, the last sync time, and a freshness indicator. Rows are flagged when a person cannot be matched, has no usable booking, has an unmapped status, has not synced recently, or is out of step between DSK and Cockpit.
If the integration starts failing, Cockpit emails the PBX IT admin notification address, at most once in any 24 hour window. The connection recovers on its own as soon as a later sync succeeds.
See also
- Integrations - the integration entity and its full field reference.
- Tempus time points - where DSK status maps to attendance.