Head-to-head
Credit where due: HubSpot’s Customer Agent is a genuinely capable retrieval-grounded agent, it cites its sources rather than free-generating, and if you already run your business inside HubSpot the integration is worth real money. Outcome pricing — you pay when it works — is also a real improvement on per-attempt metering. This page is about one thing: the vendor writes the definition of “works,” and that definition, not the advertised rate, is what decides your bill.
Competitor figures verified against vendor pricing pages, help docs, and on-record staff statements on 2026-08-07 (3-vote adversarial check; claims that failed were excluded). Our figure is a measured serving cost from live traffic, not an estimate — the same receipt our clients see. Vendor prices drift with model releases; if a number looks stale, tell usand we’ll re-verify.
HubSpot moved Customer Agent to outcome pricing on 14 April 2026: 50 credits ($0.50) per resolved conversation, down from 100 credits per conversation regardless of outcome. The per-unit rate is competitive. It is also not the number that determines what you pay.
| Item | Credits | What it means |
|---|---|---|
| Resolve one conversation (text channels) | 50 credits | $0.50 — the only Customer Agent line on the rate sheet |
| Credit | — | $0.010 each · 1,000-credit pack for $10 |
| Included — Starter | 500 credits | 10 resolutions/mo, shared with all AI actions |
| Included — Professional | 3,000 credits | 60 resolutions/mo, shared with all AI actions |
| Included — Enterprise | 5,000 credits | 100 resolutions/mo, shared with all AI actions |
| Unused credits | — | Expire monthly · no rollover |
The credit layer is a currency, not a discount. It lets the vendor reprice per-action consumption without touching the exchange rate — April changed 100 credits to 50, not what a credit is worth. And it pools: the same balance funds enrichment, data answers, prospecting and workflow AI. When the pool empties, the agent stops accepting conversations across every connected channel until the reset date.
This is the load-bearing part, and it is a disjunction— two independent ways to bill, not a single checklist. From HubSpot’s own documentation:
(A) the agent posted at least one reply that shares a content source (e.g. a knowledge-base article) or performs an action (e.g. a password reset), and there is no handoff to a human within 72 hours of the last agent response
— or —
(B) a lead is marked qualified, partially qualified, or not qualified — evaluated immediately; the 72-hour window does not apply
Three consequences fall straight out of that text. First, branch (A) is a low bar: citing an article counts whether or not it answered the question. Second, negative feedback is not in the predicate at all— the docs state that later messages, transfer requests, or a thumbs-down “will not change the resolution status” once it has been set. The only thing that prevents a billable resolution under (A) is an actual human handoff inside the window.
Which means: silence resolves. A visitor who reads a wrong answer, sighs, and closes the tab has satisfied branch (A) in full. The predicate cannot distinguish a satisfied customer from an abandoned one, because both look identical in the event stream. That is not a HubSpot-specific flaw — every outcome-priced agent has this property in some form. It is the first thing to check in any vendor you evaluate.
Marking a lead qualified bills. So does marking it partially qualified. So does marking it not qualified — the negative verdict is a billable resolution, because the predicate is about the agent completing its job, not about you getting a customer.
This clause decides whether the agent is cheap or expensive, and it turns on deployment context rather than volume. A deflection bot on a documentation site fires the predicate maybe half the time — plenty of visitors ask for a human or bounce before the agent cites anything. A pre-sale qualification bot on a marketing site fires it on nearly everyreal conversation, because qualification is the job and every outcome of that job, including “not a fit,” trips the meter. Same product, same rate card, two completely different unit economics — and nothing on the pricing page tells you which one you are buying.
1,000 chat conversations a month on Professional, which includes 3,000 credits — exactly 60 resolutions before overage. Run identical traffic through three plausible predicates:
| Configuration | Credits consumed | After included | Monthly |
|---|---|---|---|
| Deflection-shaped, 55% predicate hit | 550 × 50 = 27,500 | −3,000 included → 24,500 | $245 |
| Deflection-shaped, 65% predicate hit | 650 × 50 = 32,500 | −3,000 included → 29,500 | $295 |
| Qualification enabled, 95% reach a verdict | 950 × 50 = 47,500 | −3,000 included → 44,500 | $445 |
Identical traffic, identical rate card, an 82% spread. Triple the volume to 3,000 conversations and the same three configurations land near $795, $945 and $1,395/mo. Outcome pricing did not remove the variance — it relocated it from a number you control to one you do not.
Two more things move the real number. The agent will not run on Free or Starter — the cheapest genuine path is a Professional tier plus mandatory onboarding ($1,500 on Sales/Service Pro, $3,000 on Marketing Pro). And included credits are a trial allowance, not a floor: 50 test conversations during configuration is 2,500 credits, most of a Professional month gone before the agent sees a customer.
Priced against raw inference, $0.50 per resolution sits at roughly ten times the token floor for a six-turn retrieval-grounded chat. That gap is not a scam — it buys hosted retrieval, CRM state, omnichannel plumbing, handoff routing, analytics, and no engineering headcount. You are renting integration, not inference, and the integration is the expensive part.
Our disagreement is narrower than “too expensive.” It is that a billing predicate you cannot audit is a forecastingproblem: you cannot know your bill until you know your own predicate hit rate, and you cannot know that until you are already paying. We price flat with a hard cap you set, and we publish the measurement behind the routing rather than asking you to trust a resolution rate measured on someone else’s traffic.
Where HubSpot is the right call: you already live in HubSpot, your support is chat-and-email, and you have a real knowledge base of FAQ-shaped content. Where it isn’t: thin content — the citation clause bills a wrong answer the same as a right one — seasonal demand, since credits expire monthly with no rollover, or volume past a few thousand resolutions where the markup stops being a rounding error against engineering time.
We’re the only chatbot platform that shows a receipt: on our live traffic, the routed answer measured 8–17× cheaper than a premium model answering the identical question — both costs really incurred, per bot, any day. The measurement loop behind that is public: the router comparison and the nightly leaderboard.
Four questions get you most of the way, and they generalise past HubSpot. What is the exact predicate, in the vendor’s documentation rather than their pricing page? What happens in the null case — does an abandoned conversation bill? Is there a settlement window, and can the status reverse after it closes? And which non-support events, qualification especially, also trip the meter?
Then instrument before you commit. HubSpot ships a 28-day trial; the number worth extracting from it is not satisfaction but your predicate hit rate on your traffic. Everything else is arithmetic once you have that ratio, and no published vendor average substitutes for it. The mechanism in full: what counts as “resolved” decides your AI bill →
Every answer served by the measured-best model for that task — at a flat price with a hard cap.
No preview taxes, no quota roulette, no model menu to decode. Bilingual EN/ES from day one.
Also compared: EyesInAI vs Retell AI → · EyesInAI vs Jotform →