Route requests with departments and topics
How requests find their way by departments and topics - who can ask, what each covers, what you need from people, where it goes, external routes to other systems, Advanced rules, and when nothing fits.
Departments decide where requests go: each one works in schoolOS (its own tickets) or elsewhere (a contact card or a forwarded email). Topics are optional, finer slices of a department, like Payroll in Human Resources or Bus stops in Transportation. External routes are single kinds of requests that go to another system instead of a department, like Field trips to your trip system. You set all of them up on the Routing tab of Admin › Tickets › Topics & Routing or of the schoolAgent Configuration page (the same editor in both places), or departments and topics on each department's page in Admin › Account › Departments.
Which routing your account runs#
Every account runs one of two kinds of routing:
| Routing | What decides where a request goes | Who has it | | --- | --- | --- | | Departments and topics | Departments, their topics, external routes, Advanced rules, and When nothing fits, as this article describes. | Every district that started with schoolOS after departments and topics arrived. | | Intake rules and chat routes | Your intake rules (Admin › Tickets › Topics & Routing), schoolAgent's routes, topic teams and each team's assignment method, exactly as before. | Districts that were already using schoolOS. |
If your account still runs intake rules and chat routes, nothing changes until schoolOS support switches it with you. Before switching, they replay your last 60 days of requests through both and show you anything that would go somewhere else. When they switch, each schoolAgent route that emails one address becomes an external route, with its name, description, matching criteria, who it's for and its Must know before sending questions. Your intake rules and your other routes become rules under Advanced, so each keeps doing what it did. The originals stay, and switching back is safe. You can prepare departments and topics now: at the top of the Routing tab, select Prepare departments and topics.
Who wins#
When more than one thing says where a request goes, the strongest wins:
- What the person chose. If they picked a department or topic themselves, it stays.
- An external route, when the request is that kind of request and the person may ask about it. It goes outside schoolOS, so nothing below applies to it.
- An Advanced rule on the department or topic, or on every request.
- The topic (its Where it goes).
- The department (where it works and its default team).
Then the team that gets it picks the person by its assignment method, and a team that covers the request's school or topic takes it over the department's default team.
Topics#
A department doesn't need topics. Add them when one department's requests go to different places, need different information, or should only be asked by some people. A department added from the catalog starts with its usual topics, ready to edit.
Select a topic to open it. It has four parts, and each part inherits from its department until you change it.
1. Who can ask#
| Option | Who sees and can ask about it | Choose it when | | --- | --- | --- | | Everyone | Anyone, including the public. What the public gets follows the department's For the public setting. | Anyone might need it, like renting a gym. | | Signed in | Staff, students and families who are signed in. | It's about someone's own account or child. | | Staff only | Staff and admins. | Only employees ask, like payroll or classroom technology. | | Choose roles | Only the roles you pick. | A narrower group, like building principals. |
Example: Human Resources' Payroll topic is Staff only, so a parent asking schoolAgent about paychecks never sees it.
Who can ask decides what people are offered in schoolAgent, the requester portal and the support form. It doesn't limit Otto: when a ticket about paychecks arrives by email, Otto still files it under Payroll.
2. What it covers#
A sentence or two in plain words: "Paychecks, W-2s, direct deposit and tax withholding." Otto and your schoolAgent read it, with the department's What it handles, to decide whether a request is about this topic. Name what people actually say, and what it isn't for.
3. What we need#
What to collect before the request is sent: a student ID, a bus number, a building. It's separate from the department's ticket fields, so it works even when your district only has schoolAgent. For each item choose how it's collected:
| How | What happens | Choose it when | | --- | --- | --- | | Ask them | The form shows it and the chat asks for it. | You always need it. | | Read it from what they wrote | Taken from their message, asked only if it's missing. | People usually say it. | | From their profile | Filled from the signed-in person's profile. | It's their school or email. |
Mark an item Required when the request can't go without it.
4. Where it goes#
| Option | What happens | Choose it when | | --- | --- | --- | | Inherit | Its department decides: its team, its forward address or its contact card. | Most topics. | | A team | A ticket for that team; the team's assignment method picks the person. | One team handles it. | | Forward by email | The request and what you collected are emailed to an address. | The department works outside schoolOS, like [email protected]. | | Share contact details | They get the department's contact card. | People should call or email directly. |
A forward address must be confirmed first: we email it a link, and anyone who reads that inbox can confirm it. Until then, people get the department's contact details instead. A bounce un-confirms it.
Approvals#
A topic can need approvals before anyone works it, like a principal approving a software request. Set them in the topic's checklist on Admin › Tickets › Topics & Routing; requests about the topic wait in Awaiting approval until they're done.
External routes#
An external route is one kind of request that goes outside schoolOS, not to a department: Field trips to your trip system or to [email protected], Facility rentals to a rentals form, Transcripts to your records office's inbox.
Department, topic or external route? An office with people? Add a department. One kind of request that goes to another system? Add an external route. If those requests should become tickets here, worked by a team, add a topic in a department instead: an external route creates no ticket, so it has no team and no approvals.
Each external route has:
- Name, like Field trips.
- Who can ask, with the same choices as a topic: Everyone, Signed in, Staff only or Choose roles (Who can ask).
- What it covers: what Otto and your schoolAgent read to decide a request is this kind of request, the way they read a topic's.
- What we need: the same as a topic's (What we need). It's asked before a request is emailed; a form collects its own.
- Where it goes, exactly one of:
| Option | What people get | Choose it when | | --- | --- | --- | | Email | schoolAgent says the request will be sent to the route, shows "Here's what will be sent…" and sends it when they select Yes, send it. The portal and the support form send it too. The people at the address reply directly. | Another office takes these requests by email, like [email protected]. | | Open a form | A button in schoolAgent, like Start a field trip request, and a link in the requester portal and the public support form, that opens the form's address. Set the button's words in Button text. | Another system has its own form, like TripTracker or a rentals page. |
An email address must be confirmed first, the same way a topic's forward address is: we email it a link, and until someone there confirms it, the route isn't offered to anyone. An address outside your district's email domains shows a warning, and you confirm with Send to this address anyway before it saves, because what people tell us will leave your district.
On turns a route off without removing it: off, nobody is offered it and Otto doesn't suggest it.
Starting from the catalog#
When you add an external route, Start from offers a few already written: Field trips, Facility rentals, Transcripts, Records requests and Volunteer clearances. Each fills in a name, What it covers and suggested What we need. You add the address or the form; nothing is filled in for you there.
Where people see external routes#
- schoolAgent, on your website and signed in: when a question is that kind of request, the chat hands off to the external route the way it does to a topic, as long as Enable Routing is on (Inquiry Routing). An email route says the request will be sent to it and asks to confirm; a form route shows its button.
- The requester portal lists the external routes the person may ask about under Other requests: a link for a form, Send a request for an email route.
- The public support form lists email routes beside your departments and form routes as links under the form, for the routes open to Everyone.
- Otto: when a ticket arrives by email that's really one of these requests, Otto leaves it where it is and adds an internal note, like "This looks like a Field trips request, which goes outside schoolOS, so I left it here. If it is, forward it to [email protected]."
Advanced#
Advanced holds rules that send some requests elsewhere: "If it's from Liberty High School, send to the Liberty HS team." It's folded away at the bottom of each department, each topic, and the Routing tab. Most districts never need it, so a new district sees only a closed Advanced line at the bottom of the tab. Once your account has a rule, or someone opens that line, Advanced also appears on each department and topic, open where there's a rule. Rules your account already has keep working exactly as they do.
A rule matches when all of its conditions do:
- From school: one or more schools (the request's school, else the requester's).
- Who's asking: the public, students and families, or staff.
- How it came in: schoolAgent, email, your support page, phone, walk-in, kiosk, LocknCharge, or staff opening it themselves.
- It mentions any of: words anywhere in the request, like "W-2, direct deposit".
- Only at certain times: days and hours in your district's time zone, or outside them.
Leave a list unchecked to match anything: no schools checked means any school. Select all checks every box in a list, and Clear unchecks them. Checking every box isn't the same as leaving them unchecked: a rule with every school checked matches only those schools, so a school you add later isn't included, and one with every way in checked leaves out anything not listed.
And it does one thing, listed from broadest to most specific: share contact details, forward by email (to a confirmed address), send to another department, send to a team, or assign to a person.
| Then | What you pick from | Use it when | | --- | --- | --- | | Share contact details | Any department. | People should reach that office themselves. | | Forward by email | An email address, once it's confirmed. | An office outside schoolOS takes these by email. | | Another department | Departments that work in schoolOS, then those that work elsewhere (theirs are handled by that department's own settings). | The request belongs to another department entirely. | | A team | Teams grouped by department, this rule's department first. A team that shares its name with another shows its department, like "Records · IT". | One team should take them, like a school's own team. | | A person | Team members grouped by team, each with their picture. | One person always handles them. |
Only departments that work in schoolOS have teams and people to pick; a department that works elsewhere is offered only as another department.
Example: on Payroll, "If it mentions W-2 or direct deposit, send to [email protected]" forwards those questions while everything else about Payroll goes to Human Resources' email.
Rules that look at every request, whichever department it's for, are under the tab's own Advanced. Rules copied from your intake rules and chat routes are labeled with where they came from; changing one keeps your change.
The Routing tab#
The Routing tab opens with Inquiry Routing, the same switches every account has: Enable Routing (off, the chat never hands off and only answers) and Show a "Talk to a person" option for the chat widget and the full-page agent. See Inquiry Routing.
Then come Departments, External routes, When nothing fits and Try it, with Advanced folded away at the bottom.
Departments has one row per department, closed until you open it. Each row says:
- The department's name, and whether it works In schoolOS or Elsewhere.
- Where its requests go and what the public gets: "Goes to IT tickets · Public: Share contact details".
- A summary of its topics. 21 topics · all go to IT tickets means every topic just follows the department. 21 topics · 2 customized · 1 rule means two topics work differently and there's one Advanced rule on the department or its topics.
Select a row, or press Enter or Space on it, to open it. Which departments you left open is remembered in this browser.
An open department lists the topics that work differently from it first, each with who can ask, where it goes, how many rules it has and what it asks for. A topic is listed there when anyone but Everyone can ask, it has its own Where it goes (or its own team), it has a rule, or it has What we need items. The topics that only follow the department fold into one line, like 18 more topics go to IT tickets like the department; select Show to list them too. A department with 8 or more topics has a search box that finds topics by name or what they cover. Select a topic to change it. Under the topics are Add topic, Open department page (its page in Admin › Account › Departments), and the department's Advanced.
External routes lists one row per external route: an icon for where it goes, its name, who can ask, where it goes ("Emails [email protected]" or "Opens rentals.yourdistrict.org", with "not confirmed yet" until the address is confirmed) and how many things it asks for. A route that's off says Off. Select a row to open its editor, or Add an external route to add one.
When nothing fits and Try it are closed to one line each, saying how they're set: "The public: District Office · Everyone else: IT". Open one to change it. When nothing fits opens by itself while What didn't fit has a suggestion.
If your account has no departments of its own yet (only Safety, or Safety and District Office), the tab says so in one sentence, with Add route to add your first.
If your role can only view routing, you can open departments, topics and external routes but there's no Add route, Add topic or Add an external route.
Add route#
Add route, at the top of Departments, is the one place to add something. It starts with the line that helps you choose ("An office with people? Add a department. One kind of request that goes to another system? Add an external route.") and offers:
- A department. Opens the catalog of departments a district usually has, already described (Add from catalog). For one it doesn't have, select Add your own department and give it a name.
- A topic in a department. Pick the department and name the topic. It follows its department until you change it. An open department's Add topic does the same, with the department already picked.
- An external route. Opens a new external route, with Start from for the catalog's.
Adding your own department, a topic or an external route shows Undo, which removes it again. Rules aren't added here: open Advanced where the rule belongs.
Try it#
Type a question, pick who's asking, how it comes in and their school, and select Show what happens. It shows which department and topic, or which external route, where it would go, and each step that decided it. For an external route it says no ticket is created, and what the person gets: the email and what it asks for, or the form's button. When an external route fits but the person may not ask about it, or its address isn't confirmed yet, it says so and goes on to your departments. Nothing is sent. Which department, topic or external route a question fits is Otto's call in real routing; Try it shows the closest match by what each department handles, each topic covers and each external route covers.
When nothing fits#
| Who | Where it goes by default | Change it when | | --- | --- | --- | | The public | Your main contact: your District Office, if you added it from the catalog, else your primary department. | Another office answers general questions. | | Staff, students and families | Your primary department. | Another department triages for you. |
A request that fits a department but none of its topics goes to that department's default, not here.
When nothing fits always ends somewhere. Under each choice, the Routing tab says where, like Goes to IT, your default department, as a schoolOS ticket. If the department you picked wouldn't take a request from this person (it shares contact details with the public, and its card isn't for them), it becomes a schoolOS ticket in your primary department instead, or, without schoolHelpdesk, is emailed to your main contact's confirmed forward address. Only when none of those exist does it go to your Super Admins. Try it shows the same steps.
Your schoolAgent's Default Route follows the same choice while it has no email of its own, under either kind of routing, and keeps its name. An email on the Default Route always wins. See The Default Route.
What didn't fit#
Requests that didn't fit any department, from schoolAgent, email, the support form and the requester portal, and tickets someone moved to another department or topic, are counted from the start. For an emailed or submitted request, only its subject is kept. Counting one changes nothing about where it goes. When several people ask about something your district doesn't have a department for, the Routing tab suggests one: "6 people asked about district purchasing… Add a Business Office department?" Select Add to add it from the catalog with its starter topics.
Elsewhere delivery#
For a department that works elsewhere, in schoolAgent, the requester portal and the public support form:
- Forward by email sends the request, and what you collected, to its confirmed address. The department replies to the person directly.
- Share contact details shows its contact card, if the person may see it.
The public form lists an elsewhere department only when its For the public is Accept requests (forwarded) or its contact card is for everyone.
A ticket that arrives by email or the form but is really for a department that works elsewhere, or for an external route, stays where it arrived: Otto never files a ticket in an elsewhere department, or in Safety. Otto adds an internal note instead, like "This looks like a request for Transportation, which works outside schoolOS, so I left it here. If it's theirs, forward it to [email protected]." Without a confirmed forward address, the note gives the department's contact details to pass on.
Was this article helpful?
Related articles
- 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.
- Route questions to a personWhen schoolAgent can't or shouldn't answer, routing sends the question to the right people by email or as a schoolOS ticket. Set up routes, the School Safety Team and the crisis resources the agent shares.
- Ticket routingOne page, top to bottom, for how a department's tickets find their team and person: how they arrive, routing rules for the exceptions, topic routes for the normal case, and each team's assignment method. Test where a ticket would land.
- How tickets are routedWhat happens between a ticket arriving and a person working it. The order of the steps (channel, rules, AI triage, topic route, location's team, default team, team method), which step wins, and how to see why a ticket went where it did.
- 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.
Updated October 26, 2026
