Support triage
Route a ticket, rate its urgency and decide whether a person should take it, before any reply is written.
POST /v1/decide
{
"model": "decisionnode-1.0",
"state": "We were charged twice for the October invoice (INV-20931). The second charge pushed our card over its limit and our team seats were suspended this morning. Please refund the duplicate and restore access.",
"questions": {
"route": {
"type": "choice",
"instructions": "Which team should handle this ticket?",
"criteria": {
"billing": "Charges, invoices, refunds and plans",
"bug": "Something in the product is broken",
"account": "Login, seats and permissions",
"feature_request": "Asks for something the product does not do"
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is this ticket?",
"criteria": [
"routine: no deadline",
"soon: within a few days",
"today: blocks work today",
"critical: outage or data loss"
]
},
"refund": {
"type": "truth",
"instructions": "Is the customer asking for money back?",
"criteria": {
"true": "Asks for a refund or a credit",
"false": "Any other request"
}
},
"escalate": {
"type": "truth",
"instructions": "Should a person handle this now instead of an automated reply?"
}
}
}
What comes back
- route
- choice, one of 4 options with a probability for each
- urgency
- score on 4 levels, with probabilities and a confidence
- refund
- yes/no, one probability from 0 to 1
- escalate
- yes/no, one probability from 0 to 1
Runs on Jev too: the yes/no questions use Jev's noul type.