Ticket fields
Add your own fields to tickets, like a room number or a device serial, and choose which tickets they show on and whether they're required. What each option really does today.
The Fields tab of Admin › Tickets › Topics & Routing shows every field on a ticket and lets you add your own: a room number for Facilities, a device serial for repairs, a yes/no for "Is a class affected?".
You can open the tab with View ticket fields. Adding, changing, reordering and deleting fields needs Manage helpdesk settings (tickets_admin.manage); without it the tab is read-only: no New field, drag handles, order arrows or row menus.

The list#
Priority, Type, Group and Due Date (marked Default), then your custom fields, in the order the ticket form asks them. Columns:
- Name.
- Order. Drag a field by the handle at the start of its row, or use the arrows to move it up or down (on a phone, use the arrows). Both only work in the list's own order: sort by Order and clear the search and filters first. If the order can't be saved, the fields go back where they were and a message says so.
- Type. Like Single-line text or Dropdown.
- Shows on. For custom fields, which tickets have it: Every ticket, or a topic by its full path. Shown when your account has departments.
- Required. To submit, To close, both, or No.
Above the list:
- Search fields... by name.
- Default or custom. Default fields or Custom fields.
- Shows on. Every ticket, or one or more topics. With one topic picked, a field you add starts on that topic.
- Department, at the top of the page. Each department has its own custom fields. Shown when you have more than one department; it applies to the other tabs too.
Select a custom field's row to change it. The … menu at the end of the row holds Edit and Delete. Default fields can be moved but not changed.
Under the list, Fixed fields: Subject, Requester, Description, Assigned Agent and Status. Every ticket has them, in every department, at the top of the form. They can't be moved or changed.
Add a field#
Select New field and pick a Field type:
- Single-line text and Multi-line text.
- Checkbox. Yes or no.
- Dropdown. One choice from a list you set under Choices.
- Date.
- Number and Decimal.
Name it, set it up, and select Add field. It goes at the end of the list; drag it, or move it with the arrows. If a field can't be saved, a message says why and the dialog stays open.
A field's settings#
Required#
Under Requirement (leave both off and the field is Optional):
- Required. The ticket can't be created without it. On the web form, it's asked up front. Email, chat and the portal can't ask up front, so once the ticket's topic is known, schoolOS reads the answer from what the requester wrote and asks them once for anything still missing. When an agent enters the ticket for someone, the requester isn't asked afterwards. When an agent moves a ticket to a topic the field shows on, they fill it in first; AI triage and routing rules never wait for it, and the ticket shows Needs: … under its topic instead.
- Required to close. An agent can't move the ticket to a Solved or Closed status while the field is empty: schoolOS says which fields to fill in first. It's marked "(required to solve)" on the ticket. Tickets that close on their own (the automatic close after a ticket sits in Solved or Pending, or a requester confirming it's fixed) still close.
Default fields can't be made required here.
Which should I choose?
| Choice | Choose it when | | --- | --- | | Neither | The answer is nice to have. Most fields should be here. | | Required | Nobody can start the work without it, and the requester knows the answer: the room number for a leaking ceiling, the asset tag of a broken projector. Every required question is one more thing between a teacher and help, so keep it to one or two per topic. | | Required to close | Only your team knows the answer, and only at the end: the part used, the root cause, whether it was under warranty. Requesters never have to answer it. |
For example, Facilities adds Room number (single-line text) on the topic "Plumbing", required, and Cause (a dropdown: Wear, Damage, Vandalism, Unknown) on the whole department, required to close. A teacher reporting a clogged sink is asked for the room once; the plumber can't close the work order without picking a cause, so you can later filter the ticket list for vandalism by school.
Name#
The label agents and requesters see. Required.
Choices#
For a Dropdown: type a choice and select Add (or press Enter). The X on a choice removes it. A dropdown needs at least one choice before it saves. Removing a choice doesn't change tickets that already have it.
Applies to#
Show on decides which tickets have the field. Shown when your account has departments. Search for a topic by any part of its path.
- Every … ticket. Every ticket in the department.
- A topic. Only tickets with that topic, like a room number for Heating & cooling. A topic's fields show on every topic under it too, at any depth.
Keep fields narrow: a field on every ticket is a question every requester has to skip.
- Choose a topic when the question is about the subject: a room number for plumbing, the printer's name for printing. Most fields belong here. Put it as high in the tree as it's true, so its subtopics share it.
- Choose every ticket only for something every ticket in the department needs, like the building for Facilities.
You can also add, change and remove a topic's fields from its own page on the Topics tab, which lists every field its tickets show. From there you can also put a field you already have on more topics, Required on some and optional on others; Show on here names the topic it was made on.
Use a Dropdown rather than text whenever you'll filter or report on the answer. "Vandalism", "vandalism" and "vandalized" are three different answers in a text field.
Delete a field#
Select Delete in a custom field's … menu. schoolOS asks you to confirm, and says how many tickets have a value in it.
What this page can't do yet#
Was this article helpful?
Related articles
- Ticket topicsThe subjects a department's tickets are about, in one tree as deep as you need. AI triage reads each description to give new tickets a topic, and a topic's type, team, SLA and fields pass down to its subtopics.
- DepartmentsDecide where each kind of request goes: departments that work in schoolOS with their own tickets, and departments that work elsewhere, with a contact card or a forwarded email.
- Automate work with workflowsBuild rules that run when a ticket, task, asset or part is created, updated, assigned or deleted, after time passes, or on a schedule. Built-in workflows, run order, triggers, filters, actions and run history.
Updated October 20, 2026
