Skip to main content
A resolution in Fini (usefini.com) is a customer issue that the Fini agent fully solves, with no human ever touching the conversation and no reply from the customer for 72 hours. It is the unit Fini bills on: escalated conversations are not charged, a conversation the customer reopens within 72 hours is not a resolution, and greetings, spam, and abandoned sessions are never billable. The definition is deliberately strict. A conversation where the agent replied but a teammate still stepped in is not a resolution, even if the agent did most of the work. That keeps your bill tied to the outcome you care about (the customer’s problem is gone) rather than to activity (the agent sent a message). This page explains the definition, gives concrete examples, shows how it lines up with the Conversation Status you see in Analytics and Inbox, and walks you through checking your own numbers.

The definition

A conversation counts as a resolution only when all of the following are true:
Why Fini bills on resolutions, not conversations or seats. A per-conversation or per-seat price charges you whether or not the customer’s problem was solved. Billing on resolutions puts the cost of a failed conversation on Fini: if the agent can’t solve it and hands it to your team, you pay nothing for that conversation. See How Fini pricing works for the full model.

What counts and what doesn’t

How a resolution maps to Analytics statuses

Every conversation ends in exactly one of three Conversation Status values. Fini applies them with a fixed, ordered decision rule (see Tags), and the same tag drives the Inbox status badge, Reply Rules, and resolution analytics. The labels differ slightly between pages of the dashboard. They are the same three states: A conversation can move between statuses before it settles. The status it ends in decides whether it can be billed:

Resolution rate is not deflection rate

Analytics shows two different headline numbers, and only one of them matches billing:
  • AI resolution rate counts only conversations with status Resolved by AI. This is the number that tracks your billable resolutions.
  • Deflection rate is 100% - Human escalation rate. Conversations still Waiting for Customer count as deflected unless they escalated, so deflection rate is always equal to or higher than AI resolution rate.
If you estimate spend from deflection rate, you will overestimate it, because waiting and abandoned conversations are never billed. Use AI resolution rate. Resolution vs deflection explains the difference in more depth.

Where the product status and the bill can differ

The Resolved by AI count in Analytics and the number of billable resolutions are close, but they can differ in the short term. The known reasons:
  1. The 72-hour window. The Resolved by AI status can appear in Analytics before the 72-hour window closes. If the customer writes back inside the window, the conversation is not a resolution, so the billed count can be lower than the Analytics count for recent conversations.
  2. Greetings and spam. The Conversation Status rule tags a conversation Resolved when the agent gave a complete answer and nothing is pending. A short greeting the agent answered politely can land in Resolved by AI, while billing never counts greetings or spam.
  3. Status changes after the fact. Analytics filters on the latest status. A conversation that was Waiting for Customer at the end of one month and resolved early the next can move between periods.

How to check your own numbers

You can reproduce the resolution count for any period yourself, from the dashboard or the API.
1

Open Analytics for the right agent and period

Open Analytics, pick the agent in the agent picker, and set the date range to the period you want to check (for example, last calendar month). KPI change pills compare against the preceding window of the same length.
2

Read the three-way status split

Scroll to Conversation Status in the Distribution section. It shows Resolved by AI, Escalated to Human Team, and Waiting for Customer as shares of total Conversation volume. Multiply the Resolved by AI share by conversation volume to get the resolved count.
3

Filter to resolved conversations

Set the pinned Conversation status filter to Resolved by AI. Every KPI card, chart, and table below the header now reflects only resolved conversations. Add Channel or Source from + Filter to split by channel or helpdesk.
4

Spot-check in Inbox

Open the same slice in Inbox with the Conversation status filter, and read a sample. The AI Steps trace on each conversation shows the Output Tag Selection reasoning behind its status. Look for greetings, spam, customer replies within 72 hours, and conversations a teammate touched, none of which are billable resolutions.
5

Pull the numbers by API (optional)

For a repeatable monthly check, call Get agent analytics (GET /v2/bots/:id/hc-analytics/public) with startEpoch, endEpoch, and the latestStatus filter, using an API key with the read scope. See the Analytics API overview for the full query model.
If a status looks wrong on a specific conversation, read the AI Instructions on the Conversation Status tag group. The rules encode specific phrases, so a reply like “I have forwarded your request to our specialist team” is tagged as an escalation by design. Fix the reply wording in your Prompts or Intent Rules rather than the tag.

How Fini pricing works

Usage-based pricing per resolution, what you are never charged for, and how to estimate spend.

Analytics

The Conversation Status split, AI resolution rate, and deflection rate as the product defines them.

Resolution vs deflection

Why Fini treats resolution rate as the metric that matters.

Billing FAQ

Short answers to common questions about invoices, payment, and what is billed.