Resolution: the vendor-defined event your AI add-on invoice is built from
In short
A resolution is whatever the vendor's system declares one to be: usually a conversation the assistant handled that closed with no human message in it, sometimes a session that went quiet for 24 hours. It is a contractual event measured on their side of the wire, and its edges move the invoice further than your volume does.
Key takeaways
- A resolution is a state transition the vendor's platform records, not an outcome your customer confirmed.
- 4 trigger families dominate: bot-only closure, idle timeout, an explicit customer action, or the assistant's own say-so.
- The edges decide the money — same-day repeats, reopens, 1 customer on 2 channels, and your own test traffic.
- Put the definition in the contract, not in documentation the vendor can revise without telling you.
- With no per-event export carrying conversation ids, you can compare 1 total against another and settle nothing.
A resolution is the event your vendor's system marks as one. Not a customer saying their problem is over, and not your agent closing a ticket: a state transition recorded inside a platform you cannot query, of which the invoice is a count.
Two companies with identical traffic can get very different invoices from the same vendor. What separates them is whether a customer asking the same question twice in a morning generates 1 billable event or 2, and whether the test script somebody wrote in 2024 still talks to the widget.
The event the vendor is actually measuring
Nearly every counting rule here belongs to 1 of 4 families, which sound alike in a sales call and count different populations.
| What the vendor watches | The event that bills | What it counts that you would not | What it misses |
|---|---|---|---|
| Bot-only closure | Conversation ends with no human message in it | The customer who read 1 line and left without confirming anything | Any conversation an agent touched, however briefly |
| Idle-session timeout | No further customer message inside a fixed window, often 24 hours | Abandonment: the person who gave up and went elsewhere | The slow customer who answers on day 2, then bills again |
| Explicit customer action | The customer clicks a close control or a did-this-help prompt | Very little. This is the strictest of the 4 | Most real resolutions, because few customers click |
| Assistant self-report | The model declares that it answered | Confident wrong answers, identical to correct ones when billed | Nothing, which is precisely the problem |
A system billing on its own assessment of its own work carries no external check, so pair the 4th family with a measured reopen rate. That is a different number from containment, and the two are separated in containment against deflection.
The edges where a definition turns into money
The headline rule is rarely where the disagreement lives. These 6 edges do most of the work, and a vendor who has thought about the product answers all of them at once.
- The same-day repeat. A customer returns 20 minutes later on the same subject. Ask for the re-contact window in hours, and whether it applies per customer or per thread.
- The reopen. A resolved conversation a human later finishes can bill once, bill twice, or be credited back. All 3 are defensible; only 1 is in your agreement.
- The 1-message conversation. Someone types "hi" and never returns. A timeout rule bills that, and so, usually, does a bot-only rule.
- The same person on 2 channels. Asking in chat and then emailing creates 2 conversations and, under most definitions, 2 billable events.
- Your own traffic. Test conversations, staging credentials pointed at production, uptime monitors and the QA script at 02:00 all look like customers.
- Machines. Bounce notices, out-of-office replies, another company's autoresponder and any crawler that finds an open widget all get answered, 1 event at a time.
The incentive each definition creates, stated plainly
Whoever controls the counter benefits from a generous reading of ambiguous cases, and from leaving the ambiguity in place. Whoever pays benefits from a narrow one. Neither position needs a villain to explain it — which is why the definition belongs in the contract, not in documentation a vendor revises on a Tuesday.
Any number that triggers money should be reproducible by both parties from data both parties can read. A resolution count is not.
It is the discipline behind what a health score is allowed to decide: a figure computed in 1 system that triggers a consequence in another needs its inputs written down first. What counts as a resolution in AI support pricing is settled in the agreement, not in the helpdesk.
The definition also moves the boundary between the 2 systems. If every conversation the assistant closes bills, the intents you route to it are the intents you pay for — which strengthens the case for giving it the documented half of the queue. Whether the per-event shape suits you at all is answered in resolution or seat billing.
The questions to put to a vendor in writing
- Which state transition marks a resolution? Ask for the event by the name it carries in your admin interface.
- What is the re-contact window in hours, and does a return inside it produce a 2nd charge?
- Does a human touch cancel the charge, and at which point: internal note, assignment, or first reply?
- What happens to a conversation reopened after billing — credit, no credit, or a new event?
- Which channels are in scope, and can 1 be switched off without amending the agreement?
- How is our own traffic excluded: sender domain, a test flag, an API key, or not at all?
- Can we export billed events for any period, with conversation id, channel, timestamp and trigger?
- What notice applies if the definition changes, and can it take effect mid-term?
None of this argues against buying the add-on. A vendor-run assistant answering documented questions is often the right call; the counting rule decides what it is worth. The wider decision sits under build, buy or extend, inside our SaaS and customer support work; operating a layer like this is AI agents and automation, with field notes in agents in production.
Frequently asked questions
Short answers to the follow-ups this page tends to raise.
Is a deflection the same as a resolution?
No. A deflection asserts a conversation never reached a human; a resolution asserts the requester's problem ended. A conversation can be deflected and unresolved at once — the customer gave up — which is how both counts rise while satisfaction falls. Bill on 1, report both, and publish the reopen rate.
Does a conversation a human finishes still get billed?
It depends where the vendor draws the human-touch line, and there are 3 plausible places: any internal note, any assignment, or any customer-visible message from a person. Under the loosest, a conversation where an agent read the thread and typed 1 sentence still bills. Get that into the agreement.
What is usually not counted as a resolution?
Most definitions exclude conversations a human answered, conversations escalated before any answer, and whatever the vendor's filters call spam. Almost never excluded by default: your own test traffic, duplicates from 1 customer on 2 channels, and machine senders such as bounce notices — each needs a rule somebody maintains.
- resolution definition
- usage billing
- vendor contracts
- support AI
The work behind this page
Builds from our portfolio that this page draws on.
Support Pulse
AI ticket triage and drafted replies for SaaS support teams — cut first response time and stop SLA leaks.
SaaS ToolsAskVault
An AI internal knowledge-search platform that answers employee questions from your own docs — grounded in citations, with knowledge gaps surfaced and deflection tracked.
Productivity AIRead next
- The AI add-on billed for more resolutions than your team saw tickets closedTwo very different problems produce the same gap: a counting definition you never read, and real traffic you were not measuring. The join tells you which one you have.diagnostic
- A mail loop is manufacturing tickets between your system and theirsRunaway ticket volume from a single counterparty is rarely spam. It is two automated systems answering each other, and the fix is a header rule your responder should already have been applying.diagnostic
- Agents are deleting the same sentence out of every draftA repeated identical deletion is the cheapest diagnostic signal a drafting system produces. It says something is still emitting that sentence — and the prompt is the wrong place to stop it.diagnostic
- An unrendered placeholder shipped in a live reply"Hi {{first_name}}" reaching a customer is not one bug. It is 5, and the first question — did the model write those braces, or did your template engine fail to remove them — decides which.diagnostic
- Customer replies are opening new tickets instead of threadingOpen the raw source of one orphaned reply. Whether the References chain contains your outbound Message-ID decides whether this is a matching bug, a stripped-header problem, or an identity problem.diagnostic
- Draft acceptance rate: three outcomes it has to separateOne acceptance percentage hides the only signal worth having. Sent unchanged, sent after edits and discarded are three different verdicts, and the middle one carries almost all the information.definition
Working on something in this space?
Tell us where you are in a sentence or two. We'll tell you honestly whether we're the right team, and what a sensible first slice of the work looks like.
Start the conversation