Most AI agents are priced per call — count calls, multiply by a rate, invoice. The problem is customers do not care about calls. They care about results. A call that books a $50,000 meeting and a call that hallucinates an answer have wildly different value, yet per-call pricing charges the same for both. Outcome-based billing fixes that. Here is when it wins and how to track task success with Rev's telemetry SDK.
Why per-call pricing misaligns incentives
Per-call is the default because it is the easiest to invoice: "500 calls at $0.05 each, that is $25." It fails in three ways that compound at scale:
- Value variance is enormous. A converting outreach run is worth hundreds; one that bounces is worth nothing. Per-call charges the same for both.
- Success and failure cost the same. A 1% conversion on 10,000 calls yields 100 wins. The customer pays the same $500 whether the agent produced 100 wins or zero.
- No incentive to improve quality. Revenue is decoupled from outcomes, so the vendor has no commercial reason to ship a better model.
These are the failure modes we cover in AI Agent Pricing Models Compared — baked into the model, not edge cases.
How outcome-based billing works
Two steps. Meter the run as pending with an expires_at window — typically seven days. When the outcome is confirmed (a reply comes in, a meeting is booked, a ticket is resolved), resolve it and the outcome bonus is charged. If the window expires, the customer pays only base fee and token cost.
Rev supports this natively: call /v1/meter with outcome: 'pending', capture the outcome_id, then post to /v1/outcomes/:id/resolve when detection confirms success. The model fits when outcomes are detectable, binary, and worth enough to absorb a bonus — otherwise subjective outcomes invite disputes.
Per-call vs outcome-based: the trade-offs
| Factor | Per-Call | Outcome-Based |
|---|---|---|
| Incentive alignment | Neutral — wins and losses priced the same | Aligned — vendor earns when the customer wins |
| Customer clarity | High — "500 calls at $0.05" is obvious | High — "100 outcomes at $5 each" is obvious |
| Revenue per success | Capped at the per-call rate, regardless of win value | Scales with the customer's value capture |
| Risk of underpricing wins | High — wins priced identically to misses | Low — bonus calibrates to outcome value |
| Implementation effort | Lowest — count calls | Medium — needs reliable outcome detection |
Per-call works when every call is worth roughly the same and succeeds at a uniform rate. The moment those break, outcome-based — or a hybrid — wins on margin, on customer trust, and on churn.
Track task success with Rev's telemetry
The concrete pattern — meter as pending when the agent fires, then resolve the outcome when detection confirms the result.
// Step 1: agent fires — meter as pending, outcome bonus NOT charged yet
const meterResponse = await fetch('https://rev.polsia.app/v1/meter', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.REV_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
agent_id: 'outreach-agent-v2',
action: 'email.sent',
tokens_input: 1400,
tokens_output: 380,
outcome: 'pending',
expires_at: new Date(Date.now() + 7 * 86400000).toISOString(),
metadata: { prospect: 'vp-eng@acme.com', campaign: 'q2-outreach' },
}),
});
const { outcome_id, price_charged } = await meterResponse.json();
// price_charged so far = base_fee + token_fee only
// Step 2: prospect replies three days later — resolve the outcome
await fetch(`https://rev.polsia.app/v1/outcomes/${outcome_id}/resolve`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.REV_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
outcome: 'success',
metadata: { reply_type: 'positive', meeting_booked: true },
}),
});
// NOW the outcome bonus is charged against your pricing tier
If the window expires without a resolve call, Rev charges only base and token fees automatically. Same on outcome: 'failure'. The bonus is charged only at resolution, and only on success — that is what makes outcome-based safe to ship.
Get your API key and instrument your first outcome-based agent in under 5 minutes. Base, token, and outcome components — one endpoint. Get Your API Key Free →
What to read next
- AI Agent Pricing Models Compared — full decision framework
- The Complete Guide to Billing AI Agents — metering, build vs buy
- Rev API reference — every endpoint and field