AI Adoption GuideOperationsIntake
SLA pre-tag from request content
ML model predicts the appropriate SLA tier from request text before human review, pre-populating the priority field.
Operations processIntakePrioritizeScheduleExecuteVerifyDeliverConfirmClose
By Don, DoneThat’s AI coach · updated
Why pre-tag SLA from request text
Intake queues move faster when the first human touch is confirmation, not blank-field guessing. Many requests already contain enough language to suggest which service-level agreement (SLA) tier applies: urgency cues, impact language, contractual references, or explicit deadlines. When that signal sits unused until a person opens the ticket, every item starts at the same cognitive cost.
SLA pre-tagging treats the priority (or SLA tier) field as a prediction target. A model reads the request body (and any structured fragments already extracted) and proposes a tier before a reviewer assigns ownership. The field arrives pre-populated. Staff accept, change, or clear it. The model never closes the loop alone.
That design matters for operations intake leads. Wrong auto-priority that ships without review creates silent SLA breaches or false escalations. A suggested tier that a person must confirm keeps throughput gains without handing policy judgment to a classifier.
What the model uses and what it outputs
The useful input is request content as it lands: subject lines, free-text descriptions, pasted emails, portal forms, and short notes from chat handoffs. Features that tend to correlate with SLA tier include:
- Explicit time pressure ("by end of day", "outage", "regulatory deadline")
- Scope and blast radius (single user vs site-wide vs customer-facing)
- Contract or entitlement language (named plan, severity codes, "P1"/"Sev-1" phrasing)
- Asset or service criticality when named in the text
- Continuity of a prior incident or breach window, when the text references it
The output should be narrow: a predicted SLA tier (or priority label that maps 1:1 to your SLA catalog), plus optional confidence or rationale fields for the UI. Do not invent new tiers outside the catalog. Do not write the full routing plan in the same step unless your process already separates classification from priority.
Pre-population means the priority control shows the predicted value when the intake form opens. Empty, unknown, or "needs review" are valid states when the model abstains. Downstream systems should treat a confirmed human value as authoritative for SLA clocks; treat an unconfirmed suggestion as display-only until someone acts.
Pair this with type classification when type and SLA are correlated but not identical. A password reset and a production outage can share a channel and still need different clocks. See Auto-classification by type for the type path, and keep SLA prediction focused on clock-relevant language.
When the model must return empty
Thin or noisy text is a first-class case, not an edge case. Chat fragments, single-word subjects, screenshot-only submissions with no caption, and "please help" with no object leave little for a tier model to score. Forcing a default (often medium) trains reviewers to ignore the field and pollutes SLA metrics.
Define abstain rules before launch:
- Minimum usable text length or token count after stripping signatures and boilerplate
- Insufficient signal after known templates (generic portal placeholders)
- Conflicting cues that cancel each other (e.g., "urgent" plus "whenever you can")
- Confidence below an operations-set threshold
On abstain, leave the priority field blank (or explicitly "unscored"). Surface a short reason in the UI so staff know the gap is content thinness, not a system failure. Logging abstains separately from wrong predictions keeps quality review honest.
Human confirmation as the control point
The operating rule is fixed: the model suggests; staff confirm. Intake SOPs should say so in plain language. Reviewers open the item, read enough context to agree or disagree with the pre-tag, then save. Changing the tier is normal work, not an exception path.
Practical UI patterns that support that rule:
- Show the suggested tier next to the editable priority control, not as a locked badge
- Prefer one-click accept when the reviewer agrees, with equal ease to override
- Keep a visible trail of suggested vs confirmed values for audit and model feedback
- Block SLA clock start (or mark clock start as provisional) until confirmation if policy requires it
Feedback loops improve the model without removing humans. Confirmed accepts, corrections, and abstain-then-manual choices are training and evaluation gold. Sample disagreements weekly with the intake lead: look for systematic misses (e.g., VIP language never mapped, internal jargon for outages scored as routine). Retrain or adjust rules from those patterns; do not silently raise confidence thresholds to hide disagreement.
When request text is rich but incomplete for SLA policy (missing site, customer tier, or contractual severity), combine content prediction with structured factors. Multi-factor priority scoring covers blending text scores with entitlement, asset criticality, and queue load. Use content pre-tag as the first suggestion; let multi-factor scoring refine when more fields exist.
Operating the practice day to day
Define the SLA catalog in the same vocabulary the model is allowed to emit. If humans use "Critical / High / Standard / Low" and contracts use "P1–P4", map once and train against the mapped labels. Drift between labels is a common source of "the model is wrong" tickets that are really taxonomy bugs.
Instrument three rates, not one accuracy number:
- Fill rate: share of requests that receive a non-empty suggestion
- Accept rate: share of suggestions confirmed without change
- Override severity: how far corrections move (adjacent tier vs opposite end of the scale)
High fill with low accept usually means overconfident scoring on thin text: tighten abstain. High accept with rising breach or idle-escalation complaints means the catalog mapping or training labels are misaligned with real policy: fix labels before adding features.
Publish a short intake note for the team: what the pre-tag means, that blank means "model abstained," and that confirmation is required. New staff should treat the suggestion as a head start, not a mandate. Experienced staff should still skim for contractual severity phrases the model may underweight.
Revisit thresholds when request channels change (new portal, new chat bot, seasonal outage wording). Channel mix shifts the density of usable text; yesterday's abstain rule can become today's forced mediums.
Done well, SLA pre-tag from request content cuts the blank-priority tax at the front of the queue, keeps humans on the decision that starts the clock, and stays quiet when the text is too thin to score.
Is this worth automating for you?
Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.
DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.
Measure the baseline first