Refund request detection
Tell whether a customer is actually asking for money back.
Problem
Messages that mention charges are not all refund requests: some ask for an invoice, an explanation or a plan change. Treating every mention of money as a refund request floods the refund queue.
Goal
Start the refund flow only for messages that ask for money back, and route the rest as ordinary billing questions.
Input / state
The customer's message.
- message
- The customer's message, unedited.
Decision question
requests_refundDoes the customer ask for money back, a refund, a reversed charge, or a credit for a payment?
What counts as yes and no
trueThe message asks for some or all of a payment to be returned or credited.falseThe message mentions a charge or price but asks for something else, such as an invoice, an explanation or a plan change.
Allowed outcomes
Decided in your code from the answer and its confidence. Thresholds are yours to set and test.
- Refund requestedProbability of yes is above your upper threshold.
- UnclearProbability falls between your thresholds.
- No refund requestProbability of yes is below your lower threshold.
Example scenarios
Predefined demonstrations. No model is called; the outcome shown is an illustrative judgment.
Example state
Adapted from System One API reference{
"message": "I was charged twice for my subscription this month. Please refund the extra charge."
}Outcome
IllustrativeProbability of yes is above your upper threshold.
Why
The customer explicitly asks for a charge to be refunded.
Using it well
- Keep this question narrow. Whether the refund is allowed is a separate decision with its own state.
- Run it on billing messages only, or ask it alongside routing in the same request.
Request definition
POST https://api.typesafe.ai/v1/systemone{
"model": "jev-latest",
"state": {
"message": "<message>"
},
"questions": {
"requests_refund": {
"type": "noul",
"instructions": "Does the customer ask for money back, a refund, a reversed charge, or a credit for a payment?",
"criteria": {
"true": "The message asks for some or all of a payment to be returned or credited.",
"false": "The message mentions a charge or price but asks for something else, such as an invoice, an explanation or a plan change."
}
}
}
}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.