Last updated 2026-04-29

Desktop client

The desktop client is the Windows app that sits in your system tray and captures foreground window activity. Windows only (Mac support is on the roadmap).

Installing

Three paths — pick whichever applies.

Magic-link install (easiest, v1.6.3+)

The OtiumWork install email contains a link starting with otiumwork://install?token=...&email=.... After you've run the .exe once, clicking that link in any browser pre-fills your credentials and launches the client — no typing the company code at all.

Direct download (most users)

  1. You received an email from OtiumWork with a download link. Click it to save otiumwork-client.exe.
  2. Double-click to run. If Windows says "Windows protected your PC", click More infoRun anyway. (Code-signing cert landing soon will eliminate this warning.)
  3. A small dialog opens asking for your email and company code — both were in the email you received. Paste them in, click Start. - Important: paste, don't retype — the company code is a 22-character random string and typos fail silently. The dialog now verifies your credentials with the server before saving (v1.6.3+); if anything's wrong it stays open with an inline error.
  4. A tray icon appears in the bottom-right of the taskbar. If you don't see it, click the ^ arrow — Windows sometimes hides new tray icons in the overflow.

Microsoft Intune (IT-managed deployments)

If your company uses Intune, the client is pushed to you automatically — you don't download anything. Once installed, log off and back on and the tray icon appears.

Using the tray menu

Right-click the tray icon for options:

  • Tracking / ⚠ Authentication failed — top-line status. When auth is failing (mistyped token, etc.), this turns into a clickable item that opens Reconfigure credentials directly, and the icon flips to a red "!" badge.
  • Review recent events — opens a small window with your last 15 events; edit categories / work types / projects / notes inline.
  • Open OtiumWork (web) — jumps to your My events page in the browser.
  • Pause 30 min / 1 hour / 4 hours — stops tracking for that window. Tracking auto-resumes after the timer expires.
  • Resume tracking (appears when paused).
  • Flush pending events now — immediately sends buffered events instead of waiting for the 5-minute flush cycle.
  • Reconfigure credentials… (v1.6.2+) — reopens the setup dialog with your current values pre-filled. Use this if you typed the wrong email or company code. New values are verified against the server before saving.
  • ★ Install update v<N> (appears when a new version is available) — downloads + swaps the running client without needing a reboot.
  • Quit OtiumWork — shuts down the tracker until you launch it again. Tracking does not auto-restart until next Windows login.

How tracking decides "active vs idle vs walked-away" (v1.6.5+)

The client samples the foreground app + window title every 10 seconds. It then categorizes each sample using a layered idle-detection model:

Signal Category
Workstation locked Dropped — user is genuinely away
Recent keyboard / mouse input (< 2 min) Active
Foreground app is Teams / Zoom / Webex / Meet / Skype / Slack / Discord / etc. (the meeting whitelist) Active even with no input — user is in a call
Microphone in use anywhere on the machine Active — user is on a call or dictating
Camera in use Active — user is in a video meeting
No input for 2-10 min, foreground app stable Passive — captured + tagged so reports can distinguish "actively typing" from "window focused but reading"
No input for 10+ min, no audio/video signals Dropped

Privacy: only the boolean state of mic/camera is read (same data Windows uses for its tray privacy indicator). No audio or video content is captured or transmitted.

Every 5 minutes the client batches its samples and POSTs to /api/events. Events are tagged with passive_minutes separate from total minutes so the soft-idle time is auditable.

Auto-update + cleanup (v1.6.4+)

The client checks for a newer version at every Windows login and every 24 hours while running. If found, it downloads in the background, verifies a SHA-256 hash, kills any stale otiumwork-client.exe processes, deletes orphan .exe copies in Downloads / Desktop / OneDrive folders, and relaunches itself. The same cleanup runs on every fresh launch, so a freshly-downloaded .exe always sweeps stale versions before starting.

Troubleshooting

Tray icon is RED with a "!" badge: - Your credentials are being rejected. Right-click → top item ("⚠ Authentication failed — Reconfigure") → enter the correct email + 22-character company code (paste, don't retype).

Tray icon doesn't appear at all: - Click the ^ arrow near the clock; it might be hidden there. Drag it out onto the taskbar if so. - Check Task Manager → Details tab for otiumwork-client.exe. If it's not running, log off/on.

Events aren't flowing: - Open the log file: paste %APPDATA%\OtiumWork\client.log into File Explorer and press Enter. Scroll to the bottom. Any WARN / ERROR lines explain what's wrong. - A 401 in the log = wrong credentials → Reconfigure. - Check your internet connection.

I paused and forgot to resume: - Right-click the icon → Resume tracking. It won't catch up on missed time — tracking only starts from the moment you resume.

Uninstall

  1. Run otiumwork-client.exe --uninstall from a Windows command prompt, or
  2. Delete %LOCALAPPDATA%\OtiumWork\ manually.

Your captured events remain on the OtiumWork server — uninstalling just stops future capture.


See something wrong or outdated in this article? Report it →