Employees & Assignees
How TotalApp decides who can be assigned a task, a technician job, or an approval — and why that list is bigger than just your HR employee roster.
Getting Started
New here? Start by understanding the two people pools TotalApp draws from, then check how assignment pickers combine them:
- Read "Two Different Kinds of People" below — a Workspace Member is anyone with workspace login access; an HR Employee is someone on payroll. Every HR Employee is a Workspace Member, not the reverse.
- Check an assignment picker — open any screen with an assignee dropdown (Preventive Maintenance, Field Service, Project Management, etc.) and confirm it lists both contractors and payroll employees.
- Narrow by capability if needed — see "Capabilities — Narrowing the List by Role" to restrict a picker to people with a specific skill or role.
Two Different Kinds of People
TotalApp is used by companies whose workforce isn't always 100% payroll staff. A field-service technician might be an independent contractor. A project reviewer might be an outside consultant who only needs to log in, see their tasks, and approve things — never touch payroll, leave balances, or performance reviews. TotalApp models this reality with two distinct concepts instead of forcing everyone into one bucket.
| Concept | Who they are | Where they live in the system |
|---|---|---|
| Workspace / Tenant Member | Anyone invited to log into your TotalApp workspace — a full-time employee, a contractor, a freelancer, or an external consultant who only needs to pick up tasks and tickets. | Not part of payroll or the HR module. Granted workspace access through an invite and a role, nothing more. |
| HR Employee | Someone formally on the company's payroll. | Lives in the HR module — salary, leave balance, contract type, performance KPIs, and every other personnel record are tracked here. |
Every HR Employee Is a Workspace Member — Not the Reverse
Every payroll employee also needs to log into the workspace, so every HR Employee record corresponds to a Workspace Member. But the opposite is not true: plenty of Workspace Members — contractors, freelance technicians, outside auditors — never get an HR Employee record, because they were never meant to go through onboarding, payroll, or performance review.
Where This Shows Up: Assignment Pickers
Every screen across TotalApp that lets you assign a task, a technician job, an approval, or a course to "someone" — Preventive Maintenance, Work Order Kanban, Asset Registry, Field Service, Route Optimization, Non-Conformance actions, Project Management tasks, Course Builder, and more — pulls its list of people from the combined pool of Workspace Members and HR Employees, not from the HR roster alone.
This means a contractor who was invited to the workspace but never added to HR still shows up correctly in every assignment dropdown across the app. You never have to create a fake HR Employee record just so someone can be assigned a job.
When the same person exists in both places — a payroll technician, for example — the assignment list shows one merged entry: their name and email come from the workspace account, and any HR details (like Capabilities, covered below) are layered on top automatically. There's never a duplicate entry for the same person.
Where Assignment Fields Appear
The table below lists every screen in TotalApp with an assignment field, what role it assigns (technician, assignee, approver, etc.), and where that screen currently pulls its people from.
| Module / Screen | Assignment Field | Data Source |
|---|---|---|
| Asset & Equipment > Preventive Maintenance | Technician | Combined workspace + HR list |
| Asset & Equipment > Asset Registry | Technician | Free text entry |
| Maintenance > Preventive Schedule | Technician | Free text entry |
| Maintenance > Work Order Kanban | Technician | Fixed built-in list |
| Field Service > Dispatch Board | Technician | Field Service technician list |
| Field Service > Job Management | Technician | Field Service technician list |
| Field Service > Add Technician | New technician record | New technician form |
| Field Service > Van Inventory | Technician | Derived from inventory records |
| Field Service > Service Requests | Technician (free text) | Free text entry |
| Fleet & Logistics > Route Optimization | Technician | Free text entry |
| Project Management > All Tasks | Assignee | Tenant employee list |
| Project Management > Kanban Board | Assignee | Tenant employee list |
| Project Management > My Tasks | Assignee | Tenant employee list |
| Project Management > Task Detail | Assignee | Tenant employee list |
| Project Management > My Workflows | Assignee | Tenant employee list |
| Project Management > Diagrams | Assignee | Tenant employee list |
| Project Management > Timeline (Gantt) | Assignee (read-only) | Sample/seed data — display only |
| Manufacturing > Work Orders | Operator (multi-select) | Operator list |
| CRM > Sales Pipeline | Owner | Not yet wired up in the UI |
| HR > Performance KPI | Reviewer | Not yet wired up in the UI |
| HR > Manager Leave View | Approver | Auto-assigned to the active manager |
| Compliance > Approval Workflow | Assigned Role (not a person) | Free text entry |
| Compliance > Approval Workflow (history) | Approver | Read-only, from approval history |
| Course Builder / LMS | Instructor / Assignee (multi-select) | Course service data |
| Learning Path Author | Instructor / Assignee (multi-select) | Learning path service data |
| Quality Management > Non-Conformance | Assignee (CAPA) | Free text entry |
Free Text vs. Picker
Screens marked "Free text entry" don't yet draw from the combined Workspace + HR pool — you type a name directly, so there's no validation against real accounts. Screens marked with a data source pull live from that source, so anyone removed from the workspace or HR roster automatically disappears from the list.
Capabilities — Narrowing the List by Role
Some assignment pickers show every assignable person (any workspace member can be handed a generic task). Others need to be narrower — you don't want to see the entire company when picking a field technician for a repair job. That's what Capabilities are for.
Capabilities are a closed set of role tags — Technician, Dispatcher, Operator, Inspector, Picker, Driver, Owner, Account Manager, POS Cashier, Agent, Instructor, Approver, Reviewer, Auditor, AI Agent — set on an HR Employee record (see Employees for the full list and where each is used). A screen that needs a technician filters the combined assignee list down to only people who carry the Technician capability.
Capabilities Only Come From HR Records
Because Capabilities are stored on the HR Employee record, a workspace member with no HR record has no capabilities — they simply won't appear in a capability-filtered picker (like the Technician dropdown in Preventive Maintenance) even though they show up fine in an unfiltered picker (like a generic task assignee field). If a contractor needs to appear in a capability-filtered list, give them a minimal HR Employee record with just the relevant Capability set — no payroll or leave data required.
Field Service: Technicians Are the Same People, Everywhere
The Field Service module keeps its own technician profile per person — current status (Available / On Job / Off Duty), van inventory, and today's job count. Historically this profile was a fully separate identity with no connection to the rest of the app, which meant the same person could exist as one entity in Field Service and a completely different one everywhere else.
That's no longer the case. When you add a technician by picking an existing workspace member or HR employee, their Field Service profile is keyed to that same underlying identity. The same person assigned a Preventive Maintenance task and a Field Service job is recognized as one person, not two. Only fully external technicians — someone with no workspace account at all, added purely by typing a name, phone, and email — get a standalone Field Service-only profile, because there's no shared identity to key them to.
Why This Matters for Setup
Don't Over-Create HR Records
If someone only needs to receive tasks, log in, and mark things done — invite them as a workspace member and stop there. Creating an HR Employee record for them adds nothing except clutter in Payroll, Leave, and Performance screens where they don't belong.
Add HR Records When Capabilities Are Needed
If a workspace member needs to show up in a role-filtered picker — Technician, Driver, Inspector, and so on — they need a minimal HR Employee record with the matching Capability set, even if you never fill in salary or leave data for them.
One Person, One Identity
Whenever possible, add people to specialized modules (like Field Service) by picking their existing workspace or HR identity rather than typing their details fresh. This keeps every module's view of that person — their jobs, their tasks, their approvals — pointing at the same record.