Dunkin HR Website
Dashboard
Access areas
Super Admin
Access areas
MUL
Access areas
SM
Access areas
SMiT
Access areas
Shift Manager
HR Documents Center
Documents
Employee form
Employee Write-Up
Complete digitally, then send the notification email and print for employee signature.Onboarding form
Crew Member Training Schedule
Build the new crew member's first two weeks, send the notification email, then print for the store.Training form
Shift Manager Training Schedule
Schedule the trainee’s 4-week certification program. The kickoff & end-of-Week-3 emails and the certification all run off these dates. Print the reference for the store’s paper checklist.Training schedule preview
Hiring form
Store Manager in Training — Offer Letter
Pick a store to auto-fill the legal entity, address and city, complete the offer details, then Print / Save PDF and open a Gmail draft to the candidate. Nothing is stored — this generates the letter, like the paper template (HR-TPL-003-A4).People
Write-Ups
Report
Write-Up Report
| Date | Employee | Position | Store | MUL | Issue Type | Action | Submitted By |
|---|
Training
Shift Manager Training
Report
Shift Manager Training Report
| Created | Trainee | Store | MUL | Coach | Start | Observation | Status | Cert | Actions |
|---|
Manage training —
Observation (operators)
Approval — e-learning (HR/Admin)
Certifying needs a passed observation and e-learning at 100%. If e-learning is partial, save the % and a complete-by date and the trainee/MUL are notified — it stays pending.
Onboarding
New Hires
New hires from Workstream — this tab tracks the Workstream onboarding lifecycle only (in process → complete). A hire graduates off this list the moment Workstream marks their onboarding complete; departures drop off automatically. Food safety + orientation and crew-training completion are the Training tab's job (not an exit here) — the two are tracked separately on purpose. Store comes from the webhook / weekly report; assign it with Edit if missing. Graduated hires live on Training Compliance — see the Graduated filter.
| Name | Store | Start date | Status | Sources |
|---|
Actual completion % from The Center (LMS). Food safety / orientation is due day 1 — before the floor; crew training is paced over the 2 weeks from start. Refreshed weekly from the Center "Completion by Course and Learning Path" export. Flagged needs a look regardless of timing; Week 1 / Week 2 are checkpoint reviews. Anyone past their 2-week mark who still hasn't finished lives on the Overdue tab. Completing crew training graduates them out.
Nobody's at a checkpoint or flagged right now.
The standing accountability list: new hires past their 2-week mark whose crew training still isn't complete. Unlike the Week 1 / Week 2 checks — which people rotate out of as the clock moves — a hire only leaves this list by finishing crew training (or leaving the company). It's the chase list to work top-down: most overdue first. Same LMS data as the Training tab; scope and Pull report cover the current scope selection.
Nobody is past their 2-week mark with crew training still open — great news.
Onboarding outcomes for crew who started in the selected timeframe and scope: food safety and crew-training completion, whether the 2-week trainees finished, and whether they stuck. Completion is credited as-is; 2-week success is graded only for hires past their 2-week mark (for backfill, a finished hire is assumed on-time — once weekly pulls are running we tighten to dated timing). Early attrition uses when a departure was detected. History builds from when tracking began (Aug 2026).
No hires have started in this scope yet — outcomes populate once crew begin onboarding.
Training
Training Compliance
Roster-wide training completion from The Center (LMS) — the whole store roster (tenured crew, shift managers, and current new hires), not just people onboarding. New hires flow through onboarding on the New Hires page for their first two weeks, then roll into ongoing compliance here. Refreshed from the same weekly "Completion by Course and Learning Path" export you upload on the New Hires → Training tab.
No training data yet — upload the weekly Center report from the New Hires → Training tab.
Training
Crew Training
Report
Training Schedule Report
Pending Your Approval
| Crew Member | Store | MUL | Completion Date | SM Confirmed |
|---|
| Date Created | Crew Member | Store | MUL | Weeks | Created By | Completion | Timestamp |
|---|
| SM | Store | Band | Month | Labor % | Sales % | DT % | Disqualifier | Disqualifier Note | Discretionary | Payout |
|---|
Quarterly kickers
Manager inputs & results
Store managers
Quarter summary
Multi unit leaders
MUL bonus estimate
Multi unit leaders
MUL calculator
| MUL | Stores | SM Earned | SM Max Available | Percent of Max | MUL Base | Discretionary | Total MUL Payout |
|---|
SM bonus history
Quarter payouts
Monthly accruals
Bonus records
| Month | Store | Band | Labor | Sales | DT | Total |
|---|
Manager performance
My bonus achievement trends
Reports
Most missed bonus areas
Reports
Low hanging fruit
Reports
Bonus left on table
MUL bonus history
Quarter accruals
Assigned stores
SM bonus visibility
Manager performance
Bonus achievement trends
Reports
Most missed bonus areas
Reports
Low hanging fruit
Reports
Bonus left on table
Mapping
Needs attention
An approved promotion/demotion needs a decision on the person currently holding this slot.Mapping
Store managers
| MUL | Store Manager | Short Name | Phone | Status | Remove |
|---|
MUL mapping
Multi unit leaders
| MUL | Phone | Status | Remove |
|---|
Leadership mapping
Leadership contacts
| Role | Name | Phone |
|---|
People
MUL
| Name | Phone |
|---|
People
Store managers
| Store | Name | Phone |
|---|
People
Store managers in training
| Store | Name | Phone |
|---|
People
Leadership contacts
| Role | Name | Phone |
|---|
People
Needs attention
| Submitted | Employee | Store | MUL | Current Role | New Role | Type | Submitted By | First Day | Decision |
|---|
People
Submit a promotion or demotion
People
Promotions / demotions log
| Date | Employee | Store | MUL | Current Role | New Role | Type | Submitted By | First Day | Status | Decided |
|---|
Reference
Readiness code key
Retention Risk is a separate checkbox next to each readiness code, not a code itself — someone can be Ready Now and still be a retention risk at the same time.Promotable
- Rnow — Ready Now
- R<6mo — Ready within 6 Months
- R<1yr — Ready in less than 1 Year
- R<2yrs — Ready in less than 2 Years
Not Currently Promotable
- TN — New in Position
- NP-Other — Other, Needs Training or Specific Growth
Performance Improvement
- NF-IR — Not Functioning in Role
- WW-F — On a Final Written Warning
- NR-S — Needs Replacement Soon
- NR-U — Needs Replacement Urgent
People planning
Districts & stores
MUL district → store → SM / SMiT / Shift Manager, each with a readiness code. Changes save automatically.Pipeline planning
Crew → Shift Manager candidates
Future planning, kept separate from current people planning. Grouped the same way, by district and store.Training
Training library
Videos are linked, not uploaded — paste a YouTube, Vimeo, or Loom link. File uploads will come once the site has real storage.Bonus rules
Editable payout rules
Bonus Area
Bonus areas
| Bonus Area | Enabled | Save |
|---|
SM monthly
Labor payouts
| Sales Band | Enabled | Goal % | Min Labor | Max Labor | Payout |
|---|
SM monthly
Sales and DT payouts
| Area | Enabled | Threshold | Payout |
|---|
SM monthly
Monthly disqualifiers
| Disqualifier | Enabled | Description | Applies |
|---|
Kickers
Quarterly kickers
| Kicker | Enabled | Requirement | Payout |
|---|
Caps
Quarter and MUL max
| Rule | Quarter Max |
|---|
Bonus rules
Change history
| Effective | Changed | Changed by | Note |
|---|
Super Admin
Bonus reports
Store managers
SM payout summary
| SM | MUL | Store | Records | Payout |
|---|
Multi unit leaders
MUL payout summary
| MUL | Stores | SM Earned | SM Max | MUL Base | Discretionary | Payout |
|---|
Category Performance
Bonus hit/miss report
Review month-to-month bonus categories by network, MUL district, or store manager. Blank historical metrics count as did not meet.
| Month | Labor | Sales | DT | Disqualifiers | Result |
|---|---|---|---|---|---|
| Select filters to review bonus category performance. | |||||
MUL
Bonus reports
Pull SM payout summary and category performance for your district.
Store managers
SM payout summary
| SM | Store | Records | Payout |
|---|
Multi unit leader
MUL payout summary
| MUL | Stores | SM Earned | SM Max | MUL Base | Discretionary | Payout |
|---|
Category Performance
Bonus hit/miss report
Review month-to-month bonus categories for your district. Blank historical metrics count as did not meet.
| Month | Labor | Sales | DT | Disqualifiers | Result |
|---|---|---|---|---|---|
| Select filters to review bonus category performance. | |||||
Historical bonuses
Bonus history
SM history
Store manager bonuses
MUL history
Multi unit leader bonuses
| Timestamp | MUL | SM | Store | Band | Quarter | Month | Labor | Sales | DT | Disqualifier | Disqualifier Note | Discretionary | Total | Save |
|---|
Audit trail
Change log
Store manager weekly reporting
Weekly report input
History
My weekly reports
Reports
Needs attention
Reports
Recent performance
MUL weekly reporting
Submitted store review
Reports
Needs attention
Reports
Doing well
Network visibility
Other MUL store reports
Director of Ops / Super Admin weekly review
Network weekly review
Verify or edit store results submitted by MULs. Sending to History locks all rows and emails results to leadership.Weekly reporting trends
Store performance
Reports
Areas of focus
Reports
Positive momentum
Latest report
Current snapshot
Weekly district reporting trends
District performance
Reports
Areas of focus
Reports
Positive momentum
Latest report
Current snapshot
Weekly network reporting trends
Network performance
Reports
Areas of focus
Reports
Positive momentum
Latest report
Current snapshot
Historical weekly reporting
Locked weekly reports
Labor Targets are pulled from Bonus Rules for the locked sales band. Forecast % is the weekly labor forecast submitted on the report.Weekly reporting rules
Editable report metrics
| Order | Group | Metric Label | Good If | Good Value | Concern If | Concern Value | Enabled | Remove |
|---|
Data safety
Backup & Recovery
Downloads a complete JSON snapshot of every record (bonuses, weekly, promotions, write-ups, roster, rules, and more) to your computer. Keep it somewhere safe off the server — it's a full off-site backup you can restore from. The server also keeps automatic pre-deploy database backups. Do this regularly, and always before any big change.
Integrations
Payroll Webhook (Workstream)
Paste this URL into Workstream as the "new employee" webhook. It's a secret — treat it like a password. This is the capture phase: it records whatever Workstream sends so we can see the real data before building the rest. Fire one test hire, then check the captured events below.
Workstream API — employee pull
The webhook gives the "hired" signal in real time; this API pull is the scheduled synthesizer that brings in each employee's start date and work location. Test the connection below — it reads only, writes nothing. Requires WORKSTREAM_CLIENT_ID / WORKSTREAM_CLIENT_SECRET in the backend env.
App configuration
Role Permissions Matrix
This table shows what each role can read and write for every resource in the system. Permissions are role based.
| Resource | Super Admin | MUL | SM | SMiT | Shift Mgr |
|---|
App configuration
Automated Reports
Automatically email a Write-Up, Training Schedule, or Bonus Hit/Miss report on the 1st of each new period, covering whichever month/quarter/half-year/year just ended. Turn on any combination of cadences per report, and set who receives each one below.
App configuration
Automated Emails
Recurring, personalized reminder emails sent individually to every active person in a role. Edit who receives each one, what it says, when it sends, and (if it has a deadline) when things are due.
System
Audit Log
Every tracked edit across the system — who changed what, when, and the before/after values.
System reference
Workflows & Emails
Every automatic email the system sends, and the step-to-step logic behind each workflow — who acts, what status a record moves through, and what fires along the way. Use this to trace a flow that isn't behaving, or to review how a process works. Kept in sync with the code.
Automatic emails
These send on their own — no one clicks "send." on action fires when a user does something; scheduled fires on a timer. Recipients are pulled live from Leadership / MUL / store records, so they follow reassignments. All send via Resend from hr+notice@app.shilallc.com.
| Trigger | To | CC | When | Kind |
|---|---|---|---|---|
| Promotion submitted — by an SM | MUL | Dir. of Ops · Dir. of HR | On submit | on action |
| Promotion submitted — by a MUL (needs approval) | Director of Ops | Dir. of HR | On submit | on action |
| Promotion submitted — by a MUL (notify only) | Store Manager | Dir. of Ops · Dir. of HR | On submit | on action |
| Promotion decided — approve / deny | Original submitter | Whoever was CC'd on the request | On decision | on action |
| Weekly results finalized | CEO | Dir. of HR · Dir. of Ops | Once, when the last store is locked | on action |
| Bonus emails — monthly / quarterly SM & MUL | Manager / MUL | Per configured rules | Review queue → "Send all" (per-row Send too); skips anyone already sent this period | on action |
| Employee write-up submitted | Dir. Ops · Dir. HR · SM · MUL (+ CEO on Termination) | — | On submit (flagged "pending approval" for Final Written / Termination) | on action |
| Write-up Director-approved | Dir. Ops · Dir. HR · SM · MUL (+ CEO on Termination) | — | When a Super Admin approves a Final Written / Termination | on action |
| Write-up signed-copy reminder | SM & MUL | Dir. of HR | ~24 h after the write-up | scheduled |
| Crew training assigned — completion check | Store Manager | MUL | On assignment (secure link) | on action |
| Training follow-up (extension due) | Store Manager | MUL | On the new completion date | scheduled |
| SM Training started (kickoff) | Dir. Ops · Dir. HR · MUL · Store SM | — | On Save & Print | on action |
| SM Training — end of Week 3 (check e-learning) | Dir. of HR | — | Friday of Week 3, ~7 AM ET | scheduled |
| SM Training — end of Week 3 (progress) | MUL | — | Friday of Week 3, ~7 AM ET | scheduled |
| SM Training — observation scheduled | Dir. HR · MUL | — | When the coach confirms the observation day | on action |
| SM Training — certified (Pass / Retrain) | Dir. HR · MUL · Store SM | — | When HR records the certification | on action |
| Weekly report reminder — Store Managers | SMs with an unsubmitted store | MUL | Tue 2:00 PM ET | scheduled |
| Weekly report reminder — MULs | MULs with outstanding stores | Director of Ops | Wed 12:00 PM ET | scheduled |
| Weekly completion watchdog — stuck week | Director of Ops · Brian | — | Daily 10 AM ET, only if a recent week is still unlocked | scheduled |
| Scheduled reports (e.g. Bonus Hit/Miss) | Configured recipients | Per report | Per report frequency | scheduled |
| Pull Report → email | — | — | You save the PDF & email it yourself | manual |
| SMiT Offer Letter → Gmail draft | Candidate | — | Documents → Digital → open the offer letter, fill it, "Generate Gmail draft"; you attach the saved PDF, review & send from your own Gmail | manual |
| Consolidated report → manager email | Store Manager | — | Weekly Reporting → Reports (MUL or Network) → "Consolidated report" → per SM, "Open Gmail draft"; the numbers are written into the email body, you add your week notes, review & send from your own Gmail | manual |
Promotion & demotion lifecycle
Submitted, routed to the right approver by who sent it, decided in-app, and — if it maps to a tracked role — applied to Admin Data automatically. Persisted end-to-end to the Promotion table.
- Submit a promotion / demotion. Status Pending approval or Notified. The notification email is routed by who submitted:
- SM submits → email to MUL, cc DO + HR email
- MUL submits (needs approval) → email to Director of Ops, cc HR email
- MUL submits (notify only) → email to Store Manager, cc DO + HR email
- Approver acts in-app on the Promotions "Needs attention" queue → Approve or Deny (tied to the real logged-in user).
- Decision email → the original submitter, cc'ing whoever was on the request. email Status becomes Approved / Denied.
- If approved and it maps to a tracked role (Store Manager or SMiT) → applied to Admin Data automatically: fill the new slot, vacate the old one. Otherwise it's just logged.
- If the destination slot is already filled → a conflict appears in the Admin Data "Needs attention" box. Super Admin resolves by vacating the incumbent or reassigning them to a vacant slot.
Weekly reporting lifecycle
Numbers climb a ladder of statuses from the store to the Director of Ops. A row only advances when every metric is filled — a partial row is saved but held back.
- SM enters weekly numbers and clicks Save → Saved by SM.
- SM clicks "Send to MUL." Rows with all metrics filled → Submitted to MUL. Partial rows stay Saved by SM and a toast names what's missing.
- MUL reviews / verifies and clicks "Send to DO" → Submitted to DO (same all-metrics rule).
- DO reviews and clicks "Lock" → Locked into history. Locking can happen in batches as numbers come in; the weekly results email waits and goes to leadership once, on the lock that completes the last active store — one sheet with the whole week, never a partial one. Editing and re-locking a store afterwards does not re-send; use Send results email in Weekly History for that. email
POST /weekly-records/results-email).Crew training & completion check
Assigning a new crew member's training sends a secure completion-check email; an extension re-arms a follow-up for the new date.
- MUL builds a crew training schedule → completion-check email to the Store Manager, cc MUL, with a secure one-time link. email ("Resend" re-fires it on demand.)
- Manager opens the link (no login needed) → Mark complete (done, logged) or set a new completion date (extension).
- On the new date → a follow-up check email to the Store Manager, cc MUL. scheduled email
New-hire onboarding & training
New hires flow in from Workstream (payroll) and are reconciled from three streams into the New Hires page (sub-tabs: Onboarding, Training, Outcomes). Onboarding is stage one — a new hire's first two weeks. After that they roll into the separate Training Compliance page, which reports LMS completion for the whole store roster (tenured crew + shift managers + current new hires), not just the onboarding cohort. There are no automatic emails here — it's a synced tracker plus a Monday review.
- Workstream signals a hire. The payroll webhook posts each new hire (name, store, department, email) in real time; a scheduled API pull fills in each person's start date and onboarding status. The two streams reconcile by name into one record — where the store is missing, assign it with Edit on the Onboarding sub-tab. daily sync
- Deadlines derive from the start date. Food safety + orientation are due day 1 (before the first floor shift); crew training is projected to complete start + 2 weeks. A hire that's hired but not onboarding within 10 days is flagged Hire — No Start.
- Since-last-week strip (Onboarding). Each sync lazily freezes a Monday snapshot of every tracked record (never overwritten once captured, so it's a stable baseline all week). The sub-tab diffs the live roster against last week's frozen snapshot — new hires, started onboarding, left, attention resolved/new — so changes are visible without re-deriving them by eye. Null until a second tracked week exists.
- Weekly training import (Training sub-tab). A Super Admin uploads The Center → "Completion by Course and Learning Path — Learner Detail" CSV via Upload training report. It splits the food-safety/orientation courses from the full crew path, matches each learner to a tracked hire by store + name (with a unique-name cross-store fallback), and stores a dated snapshot for week-over-week trend. The same upload also upserts every learner in the file (the whole roster, not just tracked new hires) into the Training Compliance dataset, and auto-fills the locked Orientation/Food Safety % + Total Profiles columns of the weekly report's "The Center — Training" category for every store (see the Weekly reporting lifecycle above). weekly upload
- Checkpoint sections (Training sub-tab). Not one flat table — stacked reviews by days since start. Flagged: no LMS profile / food safety incomplete / crew training behind pace, regardless of timing. Week 1 Check: 4–10 days. Week 2 Check: 11–14 days (the deadline week). Past 2 weeks — still finishing: past 14 days with crew training not complete — continued accountability until they finish; completing crew training graduates them out. A hire can appear in Flagged and a timing section at once — Flagged is a highlight, not a partition. Pull report renders this person-level view (scoped) as a printable/save-as-PDF to send to a MUL/store manager. Departed and did-not-onboard crew are excluded from all of it. pull & send
- Scope (all sub-tabs). A Network / MUL / Single-store selector sits above the sub-tabs (Super Admin gets all three; a MUL narrows within their own district; an SM's data is already one store). It filters every sub-tab — it's one report, not three.
- Outcomes sub-tab — the report you pull & send. A cohort = crew who started in the selected timeframe (month / quarter / period / year) + scope. Scorecard: food-safety-before-floor %, 2-week training success %, eventual completion %, early attrition (quit/term ≤14 days) %, retention through 2 weeks, still-incomplete %, no-LMS-profile %, median days to complete. Plus a trend over time, a By MUL summary, and a By store grouped under each MUL table (both carry a Did not onboard count, so hired-but-never-started is traceable Network → MUL → Store). Pull report renders a printable / save-as-PDF summary to email out yourself (the app can't auto-attach a generated PDF yet). pull & send
- Transfers & offboarding. Edit records a transfer (keeps the old store so a lagging LMS profile still matches) and a Status: Active / Did not onboard (hired, never started) / Left after starting. Offboarding does not come by webhook — Workstream only emits hiring events (tested and confirmed), so departures are reconciled from the daily "[Workstream] Daily offboarding summary" email during the Monday review: "offboarded via the applicants page" → Did not onboard, an active termination → Left. A wrongly-captured record (e.g. a manager) can be removed (hidden, and the sync won't re-add it). Mon review
- Training Compliance page — roster-wide. A separate top-level page under Training. It reads the roster-wide dataset the weekly upload fills, grouped MUL → store → person, each learner tagged New hire (still in the onboarding window) or Crew (tenured). MUL and store header rows carry a compliance rollup (e.g. "12/15 food safety · 9/15 crew"); filters cover new-hire-only, tenured-only, and food-safety/crew incomplete; Pull report renders a printable / save-as-PDF. Same Network / MUL / Store scope, gated to the same roles as New Hires. pull & send
- Monday review. A Monday 9 AM ET reminder runs the new-hire sync, prompts for that week's Center CSV, imports it, and summarizes departures, Hire-No-Starts, and anyone flagged or at a checkpoint. Mon 9 AM ET
People Planning — saves & history
The readiness board saves itself as you edit, and keeps its own history so you can see where the org stood at any point and how any one person's readiness has moved. No emails — this is all in-app.
- Every field auto-saves. Readiness code, retention-risk flag, PC, names and comments each save on their own (debounced) to the real records — no "Save" button for the board itself. A small "All changes saved ✓" indicator confirms it.
- Comments are threads. Each MUL, store SM, SMiT, Shift Manager and Crew Candidate has a comment thread — add a note and it's stamped with who and when; a Super Admin can delete a comment. (Legacy single notes were migrated in as the first "existing note.")
- Snapshots — "Save snapshot" + History. "Save snapshot" freezes the whole board (every district, store, roster person, with readiness/retention/comments) as a named point in time. A copy is also saved automatically once a week (first time the History list is opened in a new week). History lists every save (when · who · counts) and opens any one read-only to browse how things looked then. weekly auto-save
- Per-person timeline — the 🕘 button. Every readiness row has a clock button that opens that person's change timeline — each readiness or retention-risk transition, with a plain-language label (e.g. "Readiness: NF-IR → NP-Other"), timestamp and author. A Super Admin can prune a mistaken entry. (Comments already carry their own timestamps, so the timeline tracks readiness/retention.)
Employee write-up
The wired form is HR-FRM-002-A3 Rev 2.0 (8 sections). It can be saved as a retrievable draft or submitted; printing is tied to Submit (an already-submitted write-up can be reprinted from its history row). A Final Written or Termination holds for Director (HR/Admin) approval before it takes effect; lighter actions finalize on submit.
- Author fills the form. Save draft keeps it editable draft and lists it in the Saved drafts band above the history — retrievable to finish/submit or delete, scoped like the history (SM sees their store's, MUL their district's, Super Admin all). There is no standalone Print on a new/draft form — you print by submitting, so nothing goes out unrecorded.
- Author submits. Coaching / Verbal / Written → finalized immediately. Final Written / Termination → pending_director (held for approval). A leadership review email goes to Dir. Ops + Dir. HR + SM + MUL (+CEO on a Termination) — flagged "pending approval" for the gated actions — a +24 h signed-copy reminder is scheduled, and the print dialog opens automatically so the signature sheet is never forgotten (the form clears once the dialog closes). email
- Director approval (Final Written / Termination only) → any Super Admin (HR/Admin) reviews the "Awaiting Director approval" band on Write-Up History and clicks Approve & finalize. That stamps the Director sign-off + timestamp, moves it to finalized, and sends a second "approved / finalized" email to the same leadership list (no new reminder). email
- ~24 h later → signed-copy reminder to SM + MUL, cc Director of HR, asking for the signed photo. scheduled email
Administration
User Management
Create New User
| Role | Assigned To | Status | Last Login | Must Change PW | Actions |
|---|