All classifiers

Ticket urgency

Rate how soon a message needs a response, and send unclear cases to a person.

Problem

First-in, first-out queues treat an outage the same as a request for an old invoice. Keyword rules miss urgency that is described rather than shouted.

Goal

Place each message on a written urgency rubric so code can choose a queue, and catch messages that don't say enough to be placed.

Input / state

The message, and optionally the team it was routed to.

message
The customer's message, unedited.
team
Optional: the team chosen by routing, for context.

Decision question

ScoreQuestion key urgency

How soon does this message need a response from the support team?

Rubric levels

  • 0Can wait: a general question or feedback with no time pressure.
  • 1This week: a problem with a workaround, or a request that isn't blocking.
  • 2Today: a problem blocking the customer's work, or a stated same-day deadline.
  • 3Immediately: an outage, a security concern, or a problem stopping the customer's business right now.

Allowed outcomes

Decided in your code from the answer and its confidence. Thresholds are yours to set and test.

  • Standard queueScore below 1.5 with confidence above your threshold.
  • Priority queueScore from 1.5 to below 2.5 with confidence above your threshold.
  • Page on-callScore of 2.5 or more with confidence above your threshold.
  • Unclear urgencyConfidence below your threshold: the message doesn't make its urgency clear.

Example scenarios

Predefined demonstrations. No model is called; the outcome shown is an illustrative judgment.

Example state

{
  "message": "Checkout has been failing for every customer since 09:10. We're losing sales every minute."
}

Outcome

Illustrative
Page on-call

Score of 2.5 or more with confidence above your threshold.

Why

An ongoing outage that stops the customer's business is the top level of the rubric.

Using it well

  • Check confidence before the score. A middle score with low confidence usually means the message is ambiguous, not moderately urgent.
  • Keep rubric levels concrete and observable, such as "stopping the customer's business", rather than "very urgent".
  • Paging a person is costly, so give that branch the strictest threshold.

Request definition

POST https://api.typesafe.ai/v1/systemone
{
  "model": "jev-latest",
  "state": {
    "message": "<message>",
    "team": "<team>"
  },
  "questions": {
    "urgency": {
      "type": "score",
      "instructions": "How soon does this message need a response from the support team?",
      "criteria": [
        "Can wait: a general question or feedback with no time pressure.",
        "This week: a problem with a workaround, or a request that isn't blocking.",
        "Today: a problem blocking the customer's work, or a stated same-day deadline.",
        "Immediately: an outage, a security concern, or a problem stopping the customer's business right now."
      ]
    }
  }
}

Request shape from the System One API reference; a Kev server accepts the same body. Replace the placeholder state with your data. Requests need your own API key or server.