Everything that surrounds day-to-day training records: the automated alert engine and each user's notification feed, the read-only employee portal, subscription and plan management, the REST API / webhook / HRIS integrations, and productivity tools such as the command palette and the built-in user guide. Use this area when you are deciding who gets told what (and when), giving employees self-service access to their own records, or wiring TrainGrid into the rest of your stack. A quick-reference section at the end collects the training status vocabulary, the competency colour legend and the roles at a glance.
In this section: Configure automated alerts & notifications · Send an alert immediately (Send now) · Read and manage your notifications · Schedule the compliance report for leadership · Invite an employee to the portal · Activate portal access (the employee's steps) · Use the employee portal · Manage your plan & billing · Create and manage API keys · Add webhook endpoints · Sync your roster from BambooHR · Search & jump anywhere with the command palette (⌘K) · Open the in-app user guide & get help · Quick reference: statuses, colours & roles
Configure automated alerts & notifications
Choose which of the seven automated alerts your organization sends, how often each goes out, and which roles receive it. Alerts are generated once per day and delivered both in-app and by email.
Where: Sidebar → Administration → Alerts pill → the "Alerts & notifications" page · Before you start: Administrator or Manager (the manage-organization capability). Other roles can view the page but every control is disabled.
| Option | What it does |
|---|---|
| Due-soon reminders | Daily digest of assignments coming due within the organization's due-soon window, sent when new items enter it. Default: on, daily, to all four base roles. |
| Overdue reminders | Alerts the day after training becomes overdue, then a weekly follow-up until resolved. Default: on, daily, to all four base roles. |
| Certificate expiry reminders | Heads-up at 30, 14, 7 and 1 day before a certification expires. Default: on, daily, to all four base roles. |
| Expired certificate alerts | Alerts the day after a certification lapses, then a weekly follow-up while no renewal is scheduled. Default: on, daily, to all four base roles. |
| Weekly supervisor summary | Monday-morning overview to Supervisors and Training Coordinators of their team's overdue and upcoming training. Default: on, weekly. |
| Roster status digest | Lists WHICH employees are overdue, due soon, or holding an expired certificate — names, not just counts. Default: OFF (the only alert off by default), weekly, to Administrators, Managers and Supervisors. |
| Competency reassessment reminders | Heads-up 90, 30 and 7 days before a competency assessment falls due (its expiry or a scheduled reassessment, whichever is first), plus the day after it lapses. Default: on, daily, to all four base roles. |
| Schedule | Per-alert cadence: Daily, Weekly or Monthly. |
| Send to | Per-alert audience checkboxes — the four base roles plus every custom role. Custom-role targeting is additive to base roles. |
- In the sidebar, click Administration, then click the Alerts pill. The page "Alerts & notifications" opens with one card per alert.
- Find the alert you want to change. The seven cards are: "Due-soon reminders", "Overdue reminders", "Certificate expiry reminders", "Expired certificate alerts", "Weekly supervisor summary", "Roster status digest" and "Competency reassessment reminders". Each card's description states exactly what it sends and when.
- Use the switch at the top right of a card to turn that alert on or off.
- With the alert on, open the "Schedule" dropdown and pick Daily, Weekly or Monthly.
- Under "Send to", tick the roles that should receive it: Administrators, Managers, Training Coordinators, Supervisors — plus any custom roles your organization has created, which appear as extra checkboxes. Selecting a custom role targets its members in addition to any base roles ticked.
- Click "Save alert settings" at the bottom. An enabled alert with no recipients is refused with an error — pick at least one role or switch it off.
- Success: the toast "Alert settings saved." appears and the page reflects your configuration; while edits are pending you see "You have unsaved changes."
Good to know:
- Recipients scoped to specific locations only ever receive alerts about their own sites (stated on every card).
- Every alert is delivered in-app and by email; individual users can turn their own alert email off from their Notifications page, but in-app alerts always remain.
- An organization that never opens this screen keeps the built-in defaults — nothing changes until an Administrator opts in.
- In Administration → Settings, the alerts card also offers "Preview your digest" with a "Send me a preview" button, which sends you a sample of your own digest (or reports "Nothing to preview" when no training falls in any reminder category).
- The card layout is: title + description on the left, then "Send now" and the on/off switch on the right; Schedule and Send to only appear while the alert is enabled.
Send an alert immediately (Send now)
Deliver any alert on demand — in-app and by email — to its saved audience, using live data, without waiting for the daily schedule. Useful for testing an alert's content or pushing an urgent reminder.
Where: Sidebar → Administration → Alerts → "Send now" button on any alert card · Before you start: Administrator or Manager. The alert's saved audience must contain at least one active user for anything to be delivered.
- Open Administration → Alerts and find the alert card you want to send.
- Click "Send now" on that card. A confirmation dialog opens titled "Send “<alert title>” now?".
- Read the dialog: it names the saved recipients, warns that each press sends a fresh copy even if the alert already went out today, notes when the alert is switched off for the regular schedule ("Send now delivers it once anyway"), and warns if you have unsaved changes ("Send now uses the last saved settings").
- Click "Send now" in the dialog (or "Cancel" to back out). The button shows "Sending…" while in flight.
- Success: a toast such as "Sent to N recipients. N emails on their way; the rest are in-app only." — or "Delivered in-app (no email addresses on file for these recipients)."
Good to know:
- Honest empty results: "Nothing to send — no items currently match “<title>”." when no data falls in the alert's category, and "Nobody to send to — “<title>” has no active users in its saved audience." when the audience is empty. If delivery genuinely reached nobody, an error toast says so instead of reassuring you.
- Send now always sends to the SAVED audience — unsaved edits on the screen are ignored.
- Send now is unconditional: every recipient in the audience is reached even if they already received today's scheduled copy.
Read and manage your notifications
Every user's personal feed of alerts — reminders about overdue training, upcoming due dates and expiring certificates, plus confirmations of training you assign. Clicking a notification deep-links to the relevant filtered list or report.
Where: Bell icon in the top header (badge shows the unread count) → "View all notifications" → the Notifications page · Before you start: Any signed-in user. The feed shows only your own notifications.
| Option | What it does |
|---|---|
| Email me training reminders | Per-user switch controlling whether your alerts also arrive by email. Default: on. Turning it off never affects other users or in-app notifications. |
- Click the bell icon in the header (labelled "Notifications", with a red unread-count badge when anything is unread). A dropdown shows your most recent notifications.
- Click "View all notifications" at the bottom of the dropdown to open the full Notifications page (paginated, 25 per page, timestamps in your organization's timezone).
- Click any notification to jump to what it is about — for example a certificate-expiry alert opens the expiring-certificates report, and a competency reassessment reminder opens the Competency Status report's reassessment view.
- Use the "Mark as read" control on a row to clear one item, or "Mark all read" to clear everything unread at once.
- To stop receiving these alerts by email, switch off "Email me training reminders" at the top of the page. The note under it confirms: "In-app notifications always appear here. Turn this off to stop the matching reminder emails — this affects only you."
- Success: unread items lose their highlight, the bell badge count drops, and the email toggle confirms with "Email reminders turned off. You’ll still see them here." (or "turned on").
Good to know:
- Notification types you may see (each with its own icon and label): Due soon, Overdue, Certificate expiring, Certificate expired, Weekly summary, Roster status, Competency reassessment, Training assigned, System.
- A notification whose email delivery failed still shows as an unread in-app item, so you never silently miss an alert.
- This is a per-user preference; the organization-wide on/off for each alert lives in Administration → Alerts.
Schedule the compliance report for leadership
Email a recurring compliance summary for your organization — overall rate, overdue, due-soon and expiring certificates — to named people (a QA lead or CFO, for example) who may not even have TrainGrid logins.
Where: Sidebar → Administration → Settings → "Scheduled compliance report" card · Before you start: Administrator or Manager. Email must be configured for your deployment (the card says so).
| Option | What it does |
|---|---|
| Frequency | Off (default — no scheduled report is sent), Weekly (Monday mornings, org timezone) or Monthly (the 1st of each month, org timezone). |
| Recipients | Free email addresses (they need not be TrainGrid users). Invalid addresses are rejected; at most 10 recipients. |
- Open Administration → Settings and scroll to the card "Scheduled compliance report".
- Open the "Frequency" dropdown and choose Weekly ("Emailed every Monday morning in your organization's timezone.") or Monthly ("Emailed on the 1st of each month in your organization's timezone."). The default is Off.
- In "Recipients", type an email address into the name@company.com field and click "Add" (or press Enter). Repeat for each recipient — up to 10. Remove one with the × on its chip.
- Click "Save schedule".
- Success: the toast "Report schedule saved." appears, and the summary is emailed on the chosen cadence from then on.
Good to know:
- This is the recommended weekly/monthly roll-up for Administrators and Managers; the "Weekly supervisor summary" alert covers Supervisors and Training Coordinators (its own description points here).
- The same Settings card also holds the email-log retention setting (how long the organization's email delivery log is kept) directly below the report schedule.
Invite an employee to the portal
Give an employee read-only self-service access to their own training record — their compliance, due dates and printable transcript — without a staff seat. The invitation produces an emailed link plus a copyable activation link.
Where: Sidebar → Employees → open the employee → "Invite to portal" button (top of the profile) · Before you start: Administrator, Manager or Training Coordinator (manage-employees). The employee must be active, have an email address on their profile, and not already be linked to the portal — the button only renders when all three hold.
- In the sidebar, click Employees and open the employee's profile.
- Check the employee has an Email on file (the "Email" field in the detail grid) — without one the button does not appear.
- Click "Invite to portal". If an invitation is already outstanding the button reads "Resend portal invite" instead.
- A dialog titled "Portal invitation sent" opens: if email is configured the employee has been emailed, and the dialog also shows the activation link with a copy button — share it directly if a spam filter might eat the email. Click "Done".
- Success: the profile's "Portal access" field changes from "None" to "Invited" (and later to "Active" once the employee activates). The toast reads "Portal invitation ready — share the link below."
Good to know:
- Portal invitations are valid for 14 days; expired ones can simply be re-sent.
- Administration → Users ends with an "Employee portal access" section — a roster of every employee invited to or registered on the portal, with columns Employee, Employee #, Email, Status and Invited, and status badges Active (with activation date), Invited (with expiry) and Expired.
- No password is ever assigned or stored in a viewable form: employees set their own password when they activate (the Users page states this in so many words).
- The activation link must be used with the exact email on the employee's profile — if that email is later changed, the old invitation becomes unusable and says so; send a fresh one.
Activate portal access (the employee's steps)
What the invited employee does with their activation link: create an account (choosing their own password) or sign in, then activate read-only access to their own training records.
Where: The emailed/shared activation link (a /portal-accept/… address) → the "Portal access" activation page · Before you start: A valid, unexpired portal invitation. The employee must use the exact email address the invitation was issued for.
- Open the activation link. The page "View your training" explains that your organization invited you to view your own training records and names the email to use.
- Click "Create account" if you are new (you choose your own password there — nothing is assigned to you), or "Sign in" if you already have a TrainGrid account with that email.
- You return to the activation page, now titled "Activate your access". Click "Activate my access".
- Success: you land in the portal at "My training" showing your own records. If you were signed in with a different email, the page instead says "Signed in with a different email" and offers "Sign out and continue".
Good to know:
- The link expires after 14 days ("This link has expired" — ask your training coordinator for a new one).
- A used link shows "Already activated" with a Sign in button; an invalid or superseded link shows "This link isn't valid".
- Activation enforces a three-way email match (your account email, the employee record's email, and the invitation's email). If the employee record's email changed after the invite went out, the page says "This invitation is out of date" — a fresh invitation is required.
Use the employee portal
The employee's own read-only view: a "My training" page with compliance summary and full assignment list, plus a printable transcript. Nothing here can be edited — it is a window, not a workstation.
Where: Portal users land at "My training" after signing in; "View printable transcript" (top right) opens the transcript · Before you start: An activated portal account (see the two invitation functions).
- Sign in with your portal account. The "My training" page opens with your name, position and department.
- Read the four summary cards: "My compliance" (a percentage that matches the organization's own dashboard math), "Completed", "Upcoming" and "Overdue".
- Scroll the table below — columns Course, Status, Due date, Completed on, Certificate expires — covering every record with a colour-coded status badge.
- Click "View printable transcript" to open your "Employee Training Transcript" (columns: Course, Category, Status, Due date, Completed on, Grade, Instructor, Cert. expires, with a Generated timestamp).
- Click "Print transcript" to print or save it as PDF.
- Success: you have a complete, current, printable record of your own training. The footer reminds you: "This is a read-only view of your training record. Contact your training coordinator to update anything."
Good to know:
- Failed parity: a completion recorded below the course's passing grade shows the same red "Failed" badge as staff surfaces, counts inside the "Overdue" summary card (together with overdue and expired items), and is excluded from the compliant side of "My compliance" — the portal never overstates an employee's standing.
- "My compliance" uses the exact same definition as the organization dashboard (one current-standing row per course; not-yet-due items excluded), so the two numbers can never disagree; when nothing is in scope yet it shows an em-dash.
- The portal shows only the signed-in employee's own records — no organization dashboards, no other employees, nothing writable. Its chrome is deliberately minimal: "My training" and "Sign out".
Manage your plan & billing
See your current plan and trial status, start a subscription, switch tiers or billing intervals, and reach the secure Stripe billing portal for payment methods, invoices and cancellation.
Where: Sidebar → Administration → Billing pill → the "Billing & plan" page · Before you start: Administrator only (the manage-billing capability — even Managers are redirected away).
| Option | What it does |
|---|---|
| Billing period | Monthly or annual pricing toggle; annual equals ten monthly payments (two months free). Defaults to your actual current interval when subscribed, otherwise annual. |
| Starter | 1 location, 3 staff logins, unlimited employees, all reports, 5 GB attachment storage. |
| Professional | 1 location, 10 staff logins, everything in Starter, 25 GB attachment storage, priority support. |
| Enterprise | Multiple locations & divisions, unlimited staff logins, location-scoped roles & reporting, unlimited attachment storage, guided onboarding & import. |
- Open Administration → Billing. The "Current plan" card shows your Plan with a status badge (Trial, Active, Cancellation scheduled or Cancelled), the relevant date ("Trial ends", "Renews on", or "Access until" once a cancellation is scheduled), and "Days remaining" on trial or "Status" when subscribed.
- Use the "Billing period" toggle to switch the displayed prices between monthly and annual (annual is marked "2 mo free").
- Compare the three plan cards — Starter, Professional and Enterprise (marked "Most popular") — each listing its limits and features; an "Attachment storage" bar above shows your current usage against your plan's allowance.
- Click the button on the plan you want. Its label tells you exactly what happens: "Choose plan" opens Stripe checkout (a first purchase), "Switch to this plan" or "Switch to annual/monthly billing" opens the billing portal for a prorated change, "Current plan" is disabled, and "Contact sales" appears when self-serve billing is not enabled on your deployment.
- Complete the flow in Stripe and you are returned to the page — success shows the toast "Subscription active — thank you! It may take a moment to reflect."; backing out shows "Checkout cancelled — no charge was made."
- For everything else — updating the payment method, downloading invoices, cancelling — click "Manage billing" to open the secure Stripe billing portal.
Good to know:
- The trial has no seat, location or storage caps — limits only apply once you are on a paid plan. Plans differ ONLY in those enforced quantities (locations, staff logins, storage); no product feature is gated by plan.
- The staff-login count shown (and enforced) includes outstanding pending invitations, since each reserves a seat; deactivated members do not consume one.
- Checkout bills immediately for the first period — there is no additional trial at checkout — and the page says so in plain words, with applicable sales tax added in Stripe. Prices are in USD.
- Plan and interval changes for an active subscriber always go through the billing portal, where Stripe prorates automatically — crediting unused time and charging only the difference.
- If a payment fails, a warning banner appears ("Your last payment didn't go through…") and the workspace keeps working; if the subscription lapses entirely into unpaid, the workspace becomes READ-ONLY — you can still view everything, run reports and export CSVs, but writes are blocked until billing is resolved.
- Cancelling takes effect at the period end: the badge flips to "Cancellation scheduled" and the date label to "Access until" — you keep full access until then.
Create and manage API keys
Issue bearer keys for TrainGrid's read-only REST API so other systems can pull employees, courses, assignments and compliance data. Keys are shown once and can be revoked at any time.
Where: Sidebar → Administration → Integrations pill → "API keys" card · Before you start: Administrator or Manager (manage-organization; others are redirected to the dashboard).
| Option | What it does |
|---|---|
| Name | A label identifying what uses the key; shown in the key list. |
- Open Administration → Integrations. The first card is "API keys" ("Authenticate requests to the REST API. A key is shown once at creation — store it somewhere safe.").
- Under "Create a key", type a "Name" describing the consumer (e.g. "Power BI") and click "Create key".
- The panel "Copy your API key now" appears exactly once — click the copy button and store the key in your password manager. It cannot be shown again.
- Use it as a bearer token against the base URL shown in the "Developer reference" card at the bottom of the page (endpoints GET /employees, /courses, /assignments, /compliance; paginated with ?limit= up to 100 and ?offset=).
- To retire a key, click "Revoke" on its row and confirm with "Revoke key" in the dialog. Revoked keys show a "Revoked" badge and immediately return 401.
- Success: the key row lists as "Active" with its prefix and last-used timestamp, and your API calls return your organization's data.
Good to know:
- The API is strictly read-only, and every key is scoped to your organization — it can only ever return your own data.
- On /assignments, status=pending|completed|waived filters the stored record status, while status=overdue|due_soon|expired|failed uses the app's derived current-standing vocabulary; "failed" is a completion below the course's passing grade, which the app does not count as compliant.
- A missing, unknown or revoked key returns HTTP 401.
Add webhook endpoints
Receive a signed HTTP POST — or a Slack message — the moment a key event happens in your workspace, so downstream systems and channels react in real time instead of polling.
Where: Sidebar → Administration → Integrations pill → "Webhooks" card · Before you start: Administrator or Manager. For Slack, an incoming-webhook URL from your Slack workspace.
| Option | What it does |
|---|---|
| Endpoint URL | Where deliveries are POSTed. Required. |
| Type | "Generic (JSON POST)" sends {"event": …, "data": …}; "Slack (incoming webhook)" sends a Slack {"text": …} message. Default: Generic. |
| Events | "Training completed" (assignment.completed) and "Employee added" (employee.created). At least one required; both preselected. |
- Open Administration → Integrations and scroll to the "Webhooks" card.
- Under "Add a webhook", paste the destination into "Endpoint URL".
- Set "Type": "Generic (JSON POST)" for your own systems, or "Slack (incoming webhook)" for a Slack channel.
- Under "Events", tick what to subscribe to: "Training completed" and/or "Employee added" (both on by default).
- Click "Add webhook".
- On the new row, click "Test" to fire a sample delivery — success toasts "Test delivered (HTTP 200)." — and note the "Signing secret", which you reveal/copy from the row to verify deliveries.
- Success: the row shows the endpoint with a Generic or Slack badge, its subscribed events, and last-delivery status; the toggle on the row activates/deactivates it, and the delete button (confirmed by "Delete this webhook?") removes it.
Good to know:
- Every delivery carries an X-TrainGrid-Signature header: sha256 HMAC of the raw body using the webhook's signing secret — verify it before trusting a delivery (the Developer reference card shows the exact formula).
- At most 5 webhook endpoints per organization.
- The assignment.completed payload includes grade, passing_grade and passed, so subscribers can distinguish passed from failed completions exactly as the app does.
Sync your roster from BambooHR
Keep the employee list current by pulling it from BambooHR on demand. Sync reuses the same de-duplication as CSV import, so it never creates duplicate people.
Where: Sidebar → Administration → Integrations pill → "HRIS sync" card · Before you start: Administrator or Manager, plus a BambooHR API key and your BambooHR company subdomain.
| Option | What it does |
|---|---|
| Company subdomain | Your BambooHR tenant subdomain. Required. |
| API key | Your BambooHR API key; stored server-side and never redisplayed (the field shows dots once connected — enter to replace). |
- Open Administration → Integrations and scroll to the "HRIS sync" card.
- Under "Connect BambooHR", enter your "Company subdomain" and paste your BambooHR "API key", then click "Connect BambooHR".
- Success toast: "BambooHR connected." The card now shows the connection with its last-sync status (initially "Not synced yet").
- Click "Sync now" whenever you want to pull the roster; the row then shows the last sync time (in your organization's timezone) and its outcome summary.
- To rotate credentials, use "Update BambooHR credentials" → "Update connection"; to stop syncing, click the disconnect (trash) button — confirmed before it takes effect, toasting "BambooHR disconnected."
Good to know:
- The stored BambooHR key is never sent back to the browser.
- Sync applies the CSV importer's de-duplication rules, so re-running it is safe.
Search & jump anywhere with the command palette (⌘K)
One keyboard-driven box that searches employees and courses and jumps to any page or common action — the fastest way around TrainGrid once you know it exists.
Where: The "Search or jump to…" button in the top header (shows the ⌘K hint), or press ⌘K (Mac) / Ctrl+K (Windows) anywhere in the app · Before you start: Any signed-in staff user. Entries are filtered to what YOUR role may actually open — a Viewer never sees admin destinations.
- Press ⌘K / Ctrl+K, or click "Search or jump to…" in the header. A dialog opens with the placeholder "Search employees, courses, pages…".
- Start typing. Results group under: "Actions" (e.g. "Assign training…", "Import employees from CSV…", "New course…", "Print class roll (sign-in sheet)…", "Invite a user…", "Organization settings"), "Go to" (main pages), "Reports", "Administration", "Employees" (live name search), "Courses" (searches code and title) and "Workspace".
- Use the arrow keys and press Enter (or click) to open the highlighted entry.
- Success: you land on the chosen page or record; the palette closes and clears its query so the next ⌘K opens clean.
Good to know:
- Role-gated and fail-closed: every action and destination is included only when your role holds the matching capability, so the palette never offers a page that would refuse you.
- Employee search covers active employees only; course results render as code + title.
- Pressing ⌘K again while open closes it.
Open the in-app user guide & get help
Reach the full hosted user guide, keyboard shortcuts, support email and the legal/security pages — all from the avatar menu in the header.
Where: Avatar (your initials) at the top right of the header → the account dropdown menu · Before you start: Any signed-in staff user.
- Click your avatar at the top right. The menu header shows your name, email and role.
- Click "Help — user guide" to open the hosted user guide in a new tab — a multi-part, sectioned reference for every feature, including a step-by-step How To part with diagrams.
- Click "Keyboard shortcuts" to see the shortcut overlay, or "Contact Support" to start a pre-addressed support email.
- Under the "Settings" group in the same menu, "About", "Terms of Service", "Security" and the data-protection page open in new tabs; a reset-password entry is also available.
- Success: the guide (or chosen page) opens in a new browser tab; the app keeps your place.
Good to know:
- The user guide is also linked publicly (site footer "User guide"), so auditors or evaluators can read it without a login.
- The menu's second line (email) only renders when it differs from the display name.
Quick reference: statuses, colours & roles
The three vocabularies you will meet everywhere in TrainGrid on one page: the training status list, the competency outcome colour legend, and the built-in roles at a glance.
Where: Statuses: the button row on Record Completion and every badge/matrix cell. Competency legend: Reports → Competency Status (below the summary) and "What do these mean?" in the assessment form. Roles: Administration → Permissions grid. · Before you start: None — this is reference material.
- Training statuses (the Record Completion status button row reads: Incomplete · Overdue · Due soon · Pending · Completed · Expired · Failed · All · N/A (waived)): Completed = current, compliant training (green). Pending = assigned, not yet inside the due-soon window (slate). Due soon = due within the organization's due-soon window (amber). Overdue = past its due date and not completed (red). Expired = completed but its certificate has lapsed (dark red). Failed = a completion recorded below the course's passing grade — stored, visible, and counted as NON-compliant everywhere; no certificate is issued (darkest red, X glyph). N/A (waived) = formally waived, excluded from compliance (grey). "Incomplete" and "All" are list views (combinations), not statuses. All of these are derived live from dates — never stored — so they update as the calendar moves.
- Competency outcome colours (identical on the matrix Competency lens, reports and record badges): Competent = green ("demonstrated the required skill to the expected standard"). Competent with conditions = yellow ("can perform the task but requires restrictions or additional supervision"). Needs improvement = orange ("did not fully meet the standard" — assign remedial training and reassess). Not competent = red ("did not demonstrate the required competency" — do not authorize independent work). Not assessed = light neutral ("not yet evaluated"). Exempt = blue ("the requirement does not apply"). On the Qualification lens, an amber cell means the previous qualification is CARRIED while a reassessment is outstanding — still qualified, visibly pending.
- Roles at a glance (Administration → Permissions shows the full capability grid): Administrator — full control, including billing and organization ownership; the ONLY role that can permanently delete courses, employees or records. Manager — manages the whole workspace, everything except billing. Training Coordinator — manages employees, courses, assignments, completions and reports. Supervisor — views and records training completions for their assigned location(s). Viewer (auditor) — read-only access for audits and inspections. The Permissions grid lets an Administrator toggle individual capabilities for Manager, Training Coordinator, Supervisor and Viewer; the Administrator row itself is always full and never editable. Custom roles can also be created and targeted by alerts.
- Success: you can decode any badge, cell colour or permission question without leaving the page you are on — and the same legends are rendered in-app exactly where readers need them (matrix legend, Competency Status report, permissions grid).
Good to know:
- Statuses are computed, never stored (a design rule) — correcting a date recomputes the status instantly.
- Training, competency and qualification are three separate states: an employee can be green under the Training lens and red under Competency (trained but not assessed or not competent).
- Location-scoped members see and receive only their own sites, across lists, reports and alerts alike.