Skip to content

Approval chains

For admins

An approval chain gates an action. The most common uses:

Approval chain index showing configured chains and their stage counts

  • Catalogue requests over a £500 spend threshold need finance sign-off
  • Change requests need the affected dept’s lead to approve
  • Pupil-data export requests need DPO sign-off
  • New-starter access requests need the line manager’s sign-off

Each chain attaches to a thing (a catalogue item, a change template, a ticket type) and runs when that thing is submitted.

A chain is a list of stages. Each stage has:

  • Approvers — who can approve (specific users, a role, a department lead)
  • Approval logicall of these (parallel) or any of these (first-to-approve wins)
  • Auto-approve after — escalation if no one approves in N hours
  • Optional — can be skipped if a higher-level approver has already approved

Stages run in sequence. Stage 1 must approve before stage 2 is asked. Reject at any stage = chain rejected, action is cancelled.

Single-approver gate

  • Stage 1: line manager (any-of, since the user might have multiple)

Two-stage finance gate

  • Stage 1: requesting dept lead (any-of)
  • Stage 2: finance (any-of, ≥ £500); skipped if < £500

Emergency change

  • Stage 1: any holder of helpdesk::change::emergency (auto-approves)
  • Audit-flagged for review the following morning

When a stage opens, every potential approver gets:

  • An email with the approval link
  • A notification in the in-app bell
  • A surfaced item in their “My approvals” dashboard widget

When all approvers have responded (or the auto-approve timer fires), the chain advances.

Each role can have a delegate — see Identity admin → Delegations. When the primary approver is on leave, the delegate gets the request automatically. No more “Bob is on holiday and the laptop request has been pending for two weeks”.

Every approval decision is logged with timestamp, approver, comment. Visible on the approval page itself, and in the master audit log. If your trust gets asked for “who approved this expenditure?” by the auditor, this is where you point.

By default, you can’t approve your own request. Toggle this per-chain in the editor. Allowing it removes the gate’s value, so think hard before ticking the box.