Appearance
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
FileUploadSourcewired into the page runtime. - Attendance / Leave / Payroll / Performance / Assets / Notes have no real backend. See above.
Related
- Build a page — if you're extending this page or building something like it.
- How does a page get its data?