Rotations built to your pattern, or solved from your rules. Coverage you can prove to a client. A fairness ledger an analyst can take apart. Handover that survives the gap between shifts — and between offices. Every client’s coverage measured across every office that serves it.
Build the rotation once and extend it for as long as you need. Describe a repeating pattern, or state the demand and the rules and let the solver work out who goes where.
A chat panel sits over every dashboard page and answers who’s on call, whether next week has a gap, or how fairness landed this month — from your own rota, in plain language.
A request reaches a manager as a decision, not a puzzle: the shifts it empties, the coverage it costs, and the colleagues who could genuinely take them.
Every analyst sees their own position, the team average, and the arithmetic that produced both — so a disputed number can be taken apart instead of taken on trust.
A client handed between offices is covered for real, not on paper. Each office keeps its own clock and its own people, but the coverage they add up to is one picture.
Open incidents, live hunts and the thing that will page someone at 03:00 are written down before anyone clocks off, and waiting on screen when the next analyst logs in.
None of this is a tier, an add-on or a feature flag. It is in the product for every team, at every size, on day one.
Keep every rotation inside working-time law without checking it by hand. Presets for the UK, EU, US and Australia, or set your own limits — and going outside them is a deliberate, recorded decision.
Never staff a shift without the seniority a client was promised. Say how many of each tier a shift needs — two T2 and one T1 on nights — and the schedule holds you to it instead of leaving it in a runbook.
Nobody gets rostered on a day they were entitled to have off. Holidays arrive for every region you operate in, you can add your own, and your weekend is whatever your part of the world actually treats as one.
On-call that cannot contradict the shift schedule underneath it, because it is planned alongside the rotation rather than in a separate tool somebody forgets to update.
Give a team its own schedule without disturbing anyone else’s. A group that works to different hours stops being the reason your rotation needs an exception.
People who do not rotate still count. Pin anyone to a fixed shift and they stay on the roster with the reason shown, rather than disappearing out of your coverage picture.
Everyone sees only what their role should show them. The same person can run one client account and simply work shifts on another, which is how an MSSP actually operates.
Answer “who changed this, and when” without anyone having to remember. Every change to the team, schedule, leave, swaps, handover and settings is recorded, searchable and exportable.
People hear about the things that affect them without being chased. Leave, swaps and handover reminders reach them in the app, and by email or Slack if you want them there too.
You finish setup with a real schedule rather than an empty product. A guided run through your shifts, days off, coverage rules and policy ends by generating your first rotation.
Get the whole team in without adding them one at a time, and open anyone to see their upcoming shifts and leave in one place when you need to answer a question about them.
Start part of it over without losing the rest. Clear your configuration, the generated schedule, the day-to-day workflow data or everything — and nothing goes until you type the name back.
The answer is one click from the screen that raised the question. The guides live inside the dashboard, so nobody goes hunting through a help site mid-shift.
Tell us how your SOC is structured — shifts, tiers, offices, who never rotates. We'll build the rotation, walk through where coverage and fairness land, and answer the questions a generalist scheduling tool can't.