Support ticket triage with Jev: team, urgency and churn risk
Paste a customer message. Jev returns which team should own it, how urgent it is on a five-level scale, and the probability the customer is about to churn — as numbers your helpdesk can route on, not a summary someone has to read.
Try it on your own text
Edit the example and run it. No account needed — 3 free runs a day.
Scenario
Route a ticket to the right team, rate its urgency and flag churn risk.
Edit freely — Jev answers the scenario's questions about whatever you put here.
What this triage checks
The example above is a real-looking ticket: a customer has spent three days failing to connect their Stripe account, keeps hitting an invalid redirect error, says they are losing sales every hour and asks for help ASAP. Jev answers three questions about it in one call:
| Question | Type | What you get back |
|---|---|---|
category | Choice | A probability for billing, integrations, bug and account, plus confidence |
urgency | Score | A position on Can wait → Normal → Soon → Urgent → Critical, plus confidence |
churn_risk | Noul | The probability that the customer is at risk of churning, from 0 to 1 |
This ticket is a useful test because it sits between two queues. It mentions Stripe, which sounds like billing, but the problem is connecting a third-party service, which is what integrations describes. A single label would hide that tension. The probability split across category shows it, and the confidence value tells you whether the ticket is safe to auto-assign or should go to a person.
The state is short and there are three questions, so this is a standard evaluation: 1 credit on JevStation. The questions are answered in parallel against the same state, so asking for churn risk on top of routing adds almost no latency.
How to write triage questions that work
Describe every team, not just name it. The example gives each option a line of criteria — integrations is "Connecting or syncing a third-party service", bug is "The product behaves incorrectly". Names alone leave Jev to guess where your boundaries are. The descriptions are where you encode how your support org actually splits work.
Keep the teams mutually exclusive. If two options can both be fully right, the probability splits between them and confidence drops for reasons that have nothing to do with the ticket. When a ticket genuinely belongs to two teams, route to the primary owner and let that team pull in the other.
Use a Score for urgency, not a Choice. Urgency levels are ordered, and a Score keeps that order: the answer is a value along the scale that can land between two levels, which you can threshold directly. Five levels with short labels, as in the example, rank tickets better than a yes/no "is this urgent?".
Ask about churn separately. A calm ticket from a customer threatening to cancel and a furious ticket from someone who will never leave need different handling. A Noul with explicit criteria makes the line clearer:
{
"type": "noul",
"instructions": "Is the customer at risk of churning?",
"criteria": {
"true": "The customer mentions cancelling, switching providers, or lost revenue they blame on us.",
"false": "The customer reports a problem but gives no sign of leaving."
}
}
For more on phrasing, see Designing Questions Jev Can Answer.
From one ticket to a triage step
- Collect tickets your team has already routed. 50 to 200 real tickets with the team that ended up owning them are enough to see where Jev’s confidence separates correct assignments from wrong ones.
- Pick bands, not one threshold. Auto-assign tickets above a confidence you trust, send the middle band to a human triage queue, and review the rest. The same applies to urgency: page on-call only above a high score, not on the top label alone.
- Escalate on combinations. A high
urgencyscore together with a highchurn_riskprobability is the ticket that should jump the queue. Because both come from the same call, the rule is one line in your helpdesk integration. - Log the answers. Store the probabilities and the
modelfield the API returns. When an agent reassigns a ticket, that correction is your next batch of labelled data. - Call it from your helpdesk. The same evaluation runs through the System One API with an API key and charges the same credits as the playground. Every question in the example can be sent as-is.
What a triage run costs
On JevStation, one ticket with up to five questions and up to 8,000 characters of text costs 1 credit, so the three questions here fit comfortably. A long email thread or more than five questions costs 3 credits, and the state is capped at 24,000 characters. New accounts get 200 free credits valid for 30 days; after that, credits come in one-time packs of 5,000 for $9.90 or 12,000 for $15.90. The pricing page has the details.
If you want to add questions — language, product area, whether the ticket is a duplicate — add them to the same call rather than making a second one. Up to five questions still cost 1 credit.
Where Jev is the wrong triage tool
- You need a written summary or a reply. Jev only returns typed answers. Pair it with a generative model if agents need a summary at the top of the ticket.
- The routing depends on counting or dates. "Has this customer opened three tickets this week?" or "Is the contract past its renewal date?" are weaknesses TypeSafe documents. Compute those in code and pass the result into the state.
- Your queues are not stable. If the team list changes weekly, the thresholds you tuned will drift with it. Re-check them after every change to the options.
- Most of your queue is not English. Measure it separately first.
If you are weighing Jev against a general LLM or a classifier you train yourself for this job, Jev vs LLM classification and Jev Alternatives lay out when each one is the better tool.
Frequently asked questions
- How do I classify support tickets by team and urgency with Jev?
- Send the ticket text as the state and ask two typed questions: a Choice listing your teams, and a Score with your urgency levels in order. Jev answers both in the same call, with a probability for every team and every level.
- What does triaging one ticket cost?
- On JevStation, a ticket up to 8,000 characters with up to five questions is a standard evaluation and costs 1 credit. Longer threads or more questions cost 3 credits. A failed evaluation is refunded.
- Can Jev write the reply to the customer?
- No. Jev does not generate text. It decides where a ticket goes and how fast; drafting the reply stays with a person or a generative model.
- Does Jev work on tickets that are not in English?
- TypeSafe’s documentation says other languages are handled, but not as well as English. If much of your queue is in another language, measure accuracy on those tickets separately before setting thresholds.
- Can I use my own teams instead of the four in the example?
- Yes. The options in a Choice are whatever you define. Replace billing, integrations, bug and account with your real queues and give each a one-line description.
Related
- Content moderationSort user comments into allow / review / remove, with separate harassment and spam probabilities.
- LLM routerClassify a prompt’s difficulty and pick a small, medium or frontier model before you spend on the completion.
- Jev vs LLM classificationJev against a prompted GPT- or Claude-class model for classification: cost, latency, output shape, consistency and calibration.
Make it part of your pipeline
Sign up for 200 free credits, save your own question sets and call the same evaluation from the API.