Skip to main contentBitmosysDocs

Auto-assign and matching

Fill a week of open shifts in one run with auto-assign, review the proposals, and tune the matching rules.

The Shift Planner can propose workers for your open shifts in a single run, so you don't have to fill each one by hand. This is auto-assign — you trigger it, review what it suggests, and decide what to accept.

The most important thing to know up front: auto-assign never commits an assignment on its own. Every run produces a proposal that you review, and nothing reaches a worker until you accept it.

Auto-assign is off by default. Turn it on in Settings → Assignment before it appears in the planner.

Running auto-assign

Open the Shift Planner from the sidebar (under the Bookings group). When auto-assign is enabled and the visible week has open shifts, the command bar shows an Auto-assign week button.

  • Click Auto-assign week to match every open shift in the week.
  • To limit the run, select specific days or shifts first — the button changes to Auto-assign selection, and a blue scope pill shows what's included (clear it with the ×).

Auto-assign works from your saved rota, so save any pending changes before you run it — otherwise the planner warns you that unsaved shifts would be ignored and their workers could be double-booked.

While it works, the button shows Solving….

📷 Screenshot: The Shift Planner command bar with the Auto-assign week button.

Reviewing the proposal

When the run finishes, a review strip appears across the top of the planner:

Auto-assign proposal — N shifts matched · M could not be filled

Proposed assignments show as dashed blue chips on the grid, each with a match score. Shifts it couldn't fill are flagged with the reason. From the review strip you can:

  • Accept all (N) — commit every proposed assignment.
  • Accept selected (M) — commit only the proposals you've ticked.
  • Discard — throw the whole proposal away and change nothing.

Nothing is saved until you accept, and accepting still leaves the shifts hidden from workers until you publish the rota as usual. When a publish completes, the planner confirms it with a brief toast telling you how many shifts went live — and whether workers were notified, or the rota was published silently.

📷 Screenshot: The auto-assign review strip with proposal chips on the grid.

How matching works

Auto-assign only ever proposes an eligible worker — someone who's available, qualified for the service, and not already committed elsewhere. Among the eligible workers it ranks candidates on a few signals:

  • Whether the client marked the worker as preferred.
  • Whether the worker marked the client as preferred.
  • Familiarity — how many past shifts they've worked at that client.
  • Recency — whether they worked there recently.

The best-ranked eligible worker becomes the proposal for that shift.

Tuning auto-assign

Two Settings tabs control the behaviour:

Settings → Assignment

  • Enable auto-assign — the master switch for the planner button.
  • Score floor and Minimum margin — how confident a match has to be before it's proposed.
  • Max shifts per worker per day and per run, and Max weekly hours — caps that stop the run overloading anyone.
  • Fairness spread — spreads work more evenly across your staff.

Settings → Constraints

A registry of the scheduling rules auto-assign enforces, grouped into Eligibility, Hard limits, Soft preferences, Ranker signals and Monitoring. Each rule shows an at-a-glance on/off status; select one to edit it in the right-hand pane, then Save changes to apply your overrides in one go. Filter the list by category or by All / On / Off / Changed. Rules you haven't touched sit at the platform default.

📷 Screenshot: Settings → Constraints, with a rule selected in the detail pane.