The Settings page is the tenant-level configuration surface for the Service Desk. Four tabs group the available options.

- Route:
/service-desk/settings
- Menu path: Service Desk → Settings → Settings
- Primary audience: Admins (
service-desk.admin). Non-admin users see a read-only “Access denied” card.
The page has dirty-state tracking: leaving with unsaved changes prompts for confirmation. Save persists every field across every tab in a single request; Reset discards in-flight edits and reverts to the last saved values.
| Field | Type | Description | Default |
|---|
| Default priority | Select (low/medium/high/urgent) | Preselected priority on the Create Ticket form when no help topic is chosen | medium |
| Default requester type | Select (bp/account/manual) | Preselected requester mode on the create form | manual |
| SLA target hours | Number | Default due offset used when no help topic supplies one | 24 |
| Escalate urgent immediately | Toggle | When a ticket is set to urgent (at create or via priority change), it is escalated immediately rather than waiting for the breach window | On |
| Field | Type | Description | Default |
|---|
| Enabled sources | Multi-select (portal, email, phone, chat, api) | Determines which sources appear in the create-form source dropdown and which routes the backend will accept | portal, email |
| External portal enabled | Toggle | Exposes the /service-desk/my/tickets/* surface to external account users; off by default | Off |
| Require requester email | Toggle | When creating a manual requester, the email field is required | On |

| Field | Type | Description | Default |
|---|
| Routing mode | Radio (manual/round_robin/priority_first) | How auto-assign picks an agent within a queue — manual skips auto-assignment, round_robin rotates members in order, priority_first picks the highest-weight available member | manual |
| Default queue | Queue selector | Where tickets land when no routing rule matches | First queue marked default |
| Auto-assign new tickets | Toggle | When on and routing mode ≠ manual, assigns an agent on create | Off |
| Allow unassigned tickets | Toggle | When off, the create action fails if no rule, topic, or auto-assign produced an assignee | On |
| Field | Type | Description | Default |
|---|
| SLA warning minutes before | Number | Sends a reminder this many minutes before due_at | 0 (disabled) |
| SLA escalate on breach | Toggle | When a ticket crosses due_at while open, notify the escalation user | Off |
| SLA escalation user | User selector | The user notified on breach when Escalate on breach is on; cleared automatically when the toggle is off | — |
| Track resolution time | Toggle | When on, records resolved_at and contributes to the Avg resolution KPI on the SLA Dashboard | On |
| Action | Permission | Description |
|---|
| Save | service-desk.admin | Persists every field across all tabs |
| Reset | service-desk.admin | Reverts in-flight edits to the last saved values |
- Settings hydrate once on first load. Subsequent window refocus does not clobber unsaved edits.
- Disabling a source removes it from the create-form dropdown for future tickets; existing tickets keep their original source.
- When SLA escalate on breach is toggled off, the escalation user field is cleared automatically (empty string) so the previous selection cannot persist silently.
- The Routing tab requires at least one queue to exist — see Queues → New Queue.
- Queues — queue CRUD, members, and routing rules referenced here.
- Help Topics — per-topic overrides for the default priority, queue, and due offset.
- SLA Dashboard — KPIs that consume these policies.