← All posts

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:

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

FactorPer-CallOutcome-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.

Instrument task success with Rev SDK javascript
// 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.

Bottom line: outcome-based wins when outcomes are detectable and binary. Per-call wins for uniform tasks with uniform success. The hybrid stack — base fee plus token rate plus outcome bonus — covers most production agents. See AI Agent Pricing Models Compared for the full breakdown.
Price on outcomes, not calls.
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