Allocate the day
Pick the date, tick who's rostered for each shift, then generate. The board fills to each service user's target headcount, keeps low-priority pairings to a need-must minimum, and rotates so the same staff aren't always with the same person. You can move anyone by hand before saving.
Rostered for this shift
Today's board
Month overview
A rolling view of the whole month, read straight from your saved allocations — edit a day on the Board and it updates here instantly. “Generate month” fills any rostered days that don't yet have an allocation (hand-edited days are kept). Press Open on any day to edit it on the Board.
Preferences
Click a cell to cycle High → Medium → Low. Low means "only on a need-must basis" — the engine avoids it unless there's no other way to fill the shift. Use Low for safety or trigger situations. Everyone defaults to Medium so that, over time, everyone works with everyone.
Service users & target headcount
Targets are how many staff each person needs per shift. Decimals are fine — e.g. 2.5 means the engine gives 2 or 3 depending on how many staff are in that day, which is why your day total floats between 12 and 13.
Staff team
Your standing team. Untick "Active" for anyone on long-term leave so they're left out of generated rotas without losing their preferences or history.
Add several at once
Paste names (one per line) — handy when you can export a roster from workforce.com.
Fairness
How often each person has worked each service user
Counts saved allocations. Darker = more often. A row that's heavily weighted to one column is the pattern that can look like favouritism or be exhausting for the service user — the rotation engine works to flatten these out.
Most lopsided pairings
Saved days
Teams
Staff grouped by their Workforce team (department). Loads after you connect.
Connect to Workforce.com
Paste your API access token. Connecting pulls your whole staff list straight into the preferences grid, so you never type names by hand. The token is used only by this browser to talk to Workforce.com, is kept out of your backup file, and can be removed any time.
Not connected.
Token needs the scopes: me, user, roster (add timesheet, leave too if you want them later). Most accounts use my.workforce.com.
Pull who's rostered
Fetches the published Workforce roster and ticks who's on the floor on the Allocate tab. Your shifts are read as Day 08:00–20:00 and Night 20:00–08:00. Anyone whose shift is an off-the-floor area (training, meetings) is set aside and not allocated — tick which areas count as off the floor below.
Offline import — optional
If you'd rather not put the token in the browser, the workforce-sync.js script produces a file you can drop in here instead. Same result, token stays on the command line.
Data
Everything lives in this browser only — nothing leaves your machine. Export regularly to back up, and to move data onto the monitor's browser.
Tuning the rotation
Higher numbers push that goal harder. Defaults are a sensible balance; nudge them if the rota leans too hard one way.