Per-Resolution Pricing Sounds Fair. The Bill Depends on How the Vendor Defines "Resolved"
Outcome-based AI pricing moves the negotiation from price to definition. Here is the arithmetic and the contract checklist.
A support leader at a 200-person company is reading a renewal quote for an AI agent. The seat line is gone. In its place is a price per resolution, and everyone in the room agrees this is fairer: you pay only when the agent finishes a job. The part nobody has priced is the word "finishes".
Per-resolution pricing is a good idea with a measurement problem attached. Seat-based pricing was easy to audit because a seat is a login. A resolution is a judgement made by the vendor's software, counted by the vendor's logs, and billed by the vendor. This piece walks through what that does to your bill, using a simple cost model, and ends with five clauses worth settling before you sign.
Why vendors are moving off seats
Tomasz Tunguz laid out the underlying logic: seat pricing assumes a human logs in to do the work, so when an agent does the work the seat stops meaning anything. He sketches three exits: charge much more per seat, charge for usage the way database vendors charge for compute, or charge for outcomes such as a meeting booked. He also expects most contracts to land on a base commitment plus a variable fee.
That hybrid is what buyers are now seeing. Two public examples show how different the billable unit can be. Intercom prices its Fin agent per resolution. Salesforce prices Agentforce by the action, with credits.
| Vendor | Billable unit | Published price | What you must trust |
|---|---|---|---|
| Intercom Fin | A resolution | $0.99 per resolution, after 50 included per month | The vendor's test for a "satisfactory answer" |
| Salesforce Agentforce | An action (20 Flex Credits) | $0.10 per action; $500 per 100,000 credits | How many actions the agent takes per case |
Both figures come from the vendors' own material: Intercom's help centre and Salesforce's May 2025 announcement. Prices change, so treat them as illustrations of the model rather than a quote.
The billable event is a definition
Intercom's documentation says a resolution is counted when Fin gives a satisfactory answer. Third-party guides describe two paths to that count: the customer confirms the answer helped, or the customer leaves without asking for more. The second path is the one to read twice. A customer who gave up looks identical to a customer who was helped, and at $0.99 each, both appear on the invoice.
I have not seen Intercom's internal classification logic, and the implicit path is described mostly by secondary sources, so confirm it in your own contract. The point holds for any vendor: the moment price attaches to an outcome, the definition of that outcome becomes the most valuable clause in the agreement.
“Seat pricing made you audit logins. Outcome pricing makes you audit a judgement.”
A worked model of per-resolution pricing: 10,000 conversations a month
Take a hypothetical team whose agent handles 10,000 conversations a month and bills 10,000 resolutions at $0.99, which is $9,900. What does each real resolution cost? That depends on what share of billed resolutions a human reviewer would also call resolved. The table below is arithmetic on assumed shares, not measured data.
| Billed resolutions a reviewer agrees with | Confirmed resolutions | Invoice | Cost per confirmed resolution |
|---|---|---|---|
| 100% | 10,000 | $9,900 | $0.99 |
| 80% | 8,000 | $9,900 | $1.24 |
| 60% | 6,000 | $9,900 | $1.65 |
A 20-point gap between billed and confirmed raises your effective price by 25%. A 40-point gap raises it by two-thirds. Neither shows up as a line item. It sits inside a unit price that looks stable.
Per-action pricing fails differently. At $0.10 an action, the vendor's price per case is the price of one action multiplied by the number of steps the agent takes, and the agent, not you, decides how many steps that is.
| Actions per case | Cost per case | Cost for 10,000 cases |
|---|---|---|
| 3 | $0.30 | $3,000 |
| 5 | $0.50 | $5,000 |
| 10 | $1.00 | $10,000 |
| 20 | $2.00 | $20,000 |
A prompt change that adds a retrieval step or a retry loop moves you down this table without any change in outcomes. Per-resolution pricing hides the agent's effort from you. Per-action pricing bills you for it. Neither is wrong, but each calls for a different audit.
Reconcile the invoice against your own data
The cheapest defence is an internal count that does not depend on the vendor's. Export the vendor's billed resolution IDs monthly and join them to your helpdesk. You are looking for billed resolutions that were reopened, escalated to a human, or followed by a repeat contact from the same customer on the same topic.
-- billed: vendor export (conversation_id, billed_at)
-- tickets: your helpdesk (conversation_id, customer_id, topic, escalated, reopened_at)
SELECT
count(*) AS billed,
count(*) FILTER (WHERE t.escalated) AS escalated_to_human,
count(*) FILTER (WHERE t.reopened_at IS NOT NULL
AND t.reopened_at < b.billed_at + interval '72 hours') AS reopened_in_72h,
count(*) FILTER (WHERE EXISTS (
SELECT 1 FROM tickets r
WHERE r.customer_id = t.customer_id
AND r.topic = t.topic
AND r.created_at > b.billed_at
AND r.created_at < b.billed_at + interval '72 hours')) AS repeat_contact
FROM billed b
JOIN tickets t USING (conversation_id)
WHERE b.billed_at >= date_trunc('month', now()) - interval '1 month'
AND b.billed_at < date_trunc('month', now());Run it for two months before the renewal. If escalations plus reopens plus repeat contacts come to 15% of billed volume, you have a number to bring to the negotiation instead of a feeling.
Five clauses to settle before you sign
- Definition in writing. State the conditions that make a conversation billable, including whether silence counts and for how long.
- Reopen credit. If a billed conversation is reopened or escalated inside an agreed window, it is credited or not re-billed.
- Log access. You can obtain conversation-level records, with the classification reason, for any billed item, and sample them quarterly.
- Spend ceiling. A monthly cap on variable charges, with an alert at 80%, so a prompt change or a traffic spike cannot double the invoice.
- Change notice. The definition and the action-to-credit mapping cannot change mid-term without notice and a right to exit.
None of these is exotic. Database and cloud contracts have carried versions of them for years. AI agent contracts are young enough that buyers who ask for them tend to get them, and buyers who do not ask discover the definition when the invoice arrives.
Where this goes next
Expect the definitional fight to shape this market more than the price per unit. Vendors with confidence in their resolution quality have reason to publish their classification rules and accept reopen credits, and buyers will increasingly treat that openness as a selection criterion. The unit price on the quote is the part everyone compares; the definition behind it is what decides what you pay.
Frequently asked questions
Related reading
SOFTEX to EDF on 1 October: The Real Change for SaaS Exporters Is Monthly Reconciliation
From 1 October 2026 the SOFTEX form gives way to a monthly Export Declaration Form. The new 15-month window helps, but matching invoices to remittances is now your job every month.
AI Startups Post a Better Burn Multiple Than SaaS. Gross Margin Tells a Different Story.
AI startups post a lower, better-looking burn multiple than SaaS in 2026. Their gross margins are also lower. Here is how both numbers can be true at once.
A Registry Counted 487 AI Agent Incidents. The Ones With No Attacker Caused the Most Harm.
A new registry counted 487 disclosed AI agent incidents. The headline 24% harm rate is a composition artifact, not a risk rate, the authors say. The number that matters is buried three tables deeper.