Skip to content

Employee Profile (HCM) ​

This page documents the shipped Employee Profile screen in the HCM Employee module (hcm-employee), for the people who use it day to day — HR admins and anyone with access to an employee record — not for plugin developers. If you're building or extending this screen yourself, it's an ordinary JSON-first page (spk-assembly/metadata/page/employee-profile.json) like any other; see Build a page for that.

Getting there ​

Open it from the Employees list (or Active Employees / Consultants / Contract Employees / Interns / Probation Employees / Remote Employees / Ex Employees — the other roster views in the same module): click any row. The URL is /hcm-employee/employee-profile/<employeeId> — it always shows one employee's record, never a list.

What the header shows ​

  • An icon avatar (initials/icon only — there's no photo field on the Employee entity, so no photo ever renders here).
  • The employee's full name, plus a status chip: Active (green), Inactive (default), or Terminated (red) — whichever one matches the record's employmentStatus.
  • Their current position/designation.
  • Employee code, email, and phone, each with an icon.
  • Three info chips: Department, Reports To (manager name), and Employment Type.
  • An Edit Profile button, top right (see below).

Editing the record ​

Edit Profile opens a dialog pre-filled from the current record. It covers: Full Name, Email, Phone, Employment Status, Employment Type, Department, Position, Reporting Manager, Date of Birth, Gender, Marital Status, Nationality, Languages, and Blood Group — plus an optional Apply Change On date, for scheduling when an edit should take effect rather than applying it immediately. Full Name and Email are required; Save is blocked until both are filled in.

The tabs ​

The profile is organized into tabs across the top. What's real and backed by live data, and what's disclosed as not yet built, differs by tab — this section says which is which plainly, because the page itself does too (see the on-page disclosure notes quoted below).

Overview ​

The landing tab. A grid of cards:

  • About — date of birth, gender, marital status, with a "View more" that expands to also show nationality, languages, and blood group.
  • Job Information — employee ID, joining date, department, designation, reports-to, grade. (Work Location is deliberately not shown here — see Known gaps.)
  • Quick Info — tenant-defined custom fields for the employee, via the platform's generic Custom Field Engine (entityType: "employee"). This is how country- or tenant-specific identifiers (e.g. statutory IDs) show up without being hardcoded into this module — an admin adds them as custom field definitions, not code changes.
  • Reporting Structure — the employee's direct reports, pulled live from the org chart.
  • Recent Activities — a real, employee-scoped feed from the platform's audit trail.
  • Skills & Expertise — a real list of skills, each with a proficiency level (Beginner / Intermediate / Advanced / Expert). An Add Skill control lets you add a new skill name + level to the record.

Employment / Personal ​

Read-oriented detail tabs breaking the same employment and personal-info fields (employment type/status, department, grade, work location, hire date, reports-to, designation / date of birth, gender, marital status, nationality, languages, blood group) into their own focused views, separate from the Overview summary cards.

Documents ​

Real: lists documents actually attached to the employee record via the platform's File Management module, plus their verification status. There's no upload control on this page yet — the page's own description flags that as a known follow-up (needs a file-upload source wired into the page runtime). A Request Document Verification action opens a dialog (document ID + category: Identity Proof, Address Proof, Education Certificate, Employment Contract, Work Authorization, or Other) that routes into the platform's approval workflow.

Compensation ​

Real: shows the employee's current compensation (base salary, currency, pay frequency, effective date, status) and their compensation history. A Request Compensation Change action opens a dialog (base salary, currency, pay frequency, effective-from date) that also routes into an approval workflow rather than writing the change directly.

Attendance, Leave, Payroll, Performance, Assets, Notes ​

These six tabs are shown with representative sample content, not live data — there is no Attendance, Leave, Payroll, Performance, or Assets module installed for this platform yet, and Notes has no backend of its own. This is a disclosed, deliberate choice the page makes explicit on-screen (small disclosure text), not a silent fabrication. For example, the page's own copy says: "Attendance is not yet tracked for this tenant — no Attendance module is installed. Not fabricated." and "Leave tracking is not yet available for this tenant — no Leave module is installed. Balances shown at 0, not fabricated." Treat anything on these six tabs as a preview of the intended shape, not real employee data.

Requests ​

A small summary tab: how many change requests are on file for this employee record (i.e. pending/past edits routed through workflow, such as the compensation and document-verification requests above), with a link to view them.

Known gaps ​

  • No photo support. The header always shows an icon, never an uploaded photo — there is no photo field on the Employee entity.
  • Work Location isn't shown, even though it's a real field elsewhere in HCM. Every read on this page goes through a Data Service (a platform-wide rule — no page action calls a raw REST endpoint directly), and Work Location would need a bespoke recursive-ancestor lookup that isn't expressible as a flat Data View today. Rather than fetch it with a raw call and break that rule, the field is left off this page entirely — a disclosed gap, not a silent downgrade.
  • Document upload isn't wired into this page yet — Documents is read-only (list + verification status + a verification request), not a place to attach a new file. That needs a FileUploadSource wired into the page runtime.
  • Attendance / Leave / Payroll / Performance / Assets / Notes have no real backend. See above.