AI Credit Usage Alerts: Never Get Surprised by a Usage-Based Bill
Usage-based billing has a failure mode everyone in support has now heard a story about: the meter runs quietly all month, nobody is watching it, and the size of the spend only becomes real when the invoice lands. In May 2026 The Register [documented AWS and Google Cloud customers blindsided by AI bills](https://www.theregister.com/ai-ml/2026/05/18/surprise-ai-bills-leave-aws-and-google-cloud-users-aghast/5241348) they had no warning was coming. The pattern is always the same — the consumption was legitimate, but the visibility arrived too late to do anything about it.
Every AI product now runs on some flavour of consumption pricing — tokens, credits, or "agent runs" — and the defence against bill shock is the same everywhere: AI credit usage alerts that warn you before the meter does damage, not after. Macha runs on credits, so the honest question we have to answer is how we make sure you never find out you're out of credits the same way those Cloud customers found out — from a bill. The answer is a set of features that are deliberately boring: usage alerts that email you at 50%, 80%, and 90%, a Usage card that shows exactly where you stand, a cost estimate before any expensive job runs, and top-up credits that never expire. This post walks through all of it — what fires, when, and what to do when an alert lands — and how it stacks up against the staged-alert pattern good usage-based tools converge on.
A quick framing note, because it matters for everything below: Macha is an AI agent layer on top of the helpdesk you already run (Zendesk, Freshdesk, Gorgias, Front). Credits are spent per AI action — a model responding, a tool firing — not per ticket "resolved." The default model, GPT-5.4 Mini, costs 1 credit per response; the range runs roughly 0.5–9 credits by model. That detail is the whole reason alerts exist: because spend tracks the work your agents do, not a flat seat count, you want a tripwire well before the balance runs dry.
The three alerts that fire automatically
Every Macha organization gets automatic email notifications when monthly credit usage crosses 50%, 80%, and 90% of its plan allowance. You don't configure anything; the alerts ship on by default with the credit system. They're sent to your organization's admins.
Those three thresholds aren't arbitrary — they're the staged-soft-alert pattern that billing teams have converged on. Industry billing-UX guidance from Dodo Payments, Stripe, and Orb all recommend the same thing: warn at roughly 50/80/90/100% before any hard stop, and give the recipient room to act while there's still time. (GitHub Copilot's June 2026 move to AI credits uses a near-identical 75/90/100% set — the exact numbers vary, the staging doesn't.) The 50% note is informational ("you're on pace"), the 80% is the real nudge, and the 90% is the "decide now" signal — top up, upgrade, or rein in a chatty agent before the month closes.
Here's what one of those emails actually looks like when it lands in an admin inbox — the subject line names the threshold, the body shows current usage against the monthly allowance, and the call to action points straight at top-up and upgrade:
Here's the part that separates a trustworthy alert system from an annoying one: the alerts are deduplicated and accurate, not spammy. We learned this the unglamorous way. The original implementation tracked "have we already sent the 80% email?" in an in-memory set — which meant every time we deployed, that memory reset, and a customer sitting at 82% could get the same 80% email again. In April 2026 we moved that state into the database (the changelog calls it persistent dedup), so each threshold fires exactly once per billing cycle, deploys or no deploys. We also fixed a second papercut in the same release: admin alerts now fire once per threshold crossing for the whole org, not once per admin. A five-admin team crossing 80% gets one notification event, not five copies of bill-shock anxiety.
Good alerting is as much about not sending noise as it is about sending the warning. An alert you've trained people to ignore is worse than no alert at all.
Seeing where you stand: the Usage card
Alerts are the push. The Usage card on the Billing page is the pull — the place you go to check your balance any time, without waiting for an email. It splits your credits into two clearly separated buckets:
- Monthly plan credits — your allowance for the cycle (Starter includes 3,000 credits; Professional includes 10,000 credits), shown with a progress bar that resets each billing cycle.
- Top-up balance — a persistent pool of credits that doesn't reset, displayed as a green
+N top-upchip next to your monthly count.
Keeping those two visually distinct matters, because they behave differently. Monthly credits are use-it-or-lose-it within the cycle; top-ups roll over. Hover the chip and Macha spells out the rule: top-up credits are spent automatically after your monthly allowance is used up, so you never have to think about which bucket you're drawing from. The card answers the two questions an admin actually has — how much of this month is gone, and do I have a reserve? — at a glance.
This is the same principle the surprise-bill horror stories violate: the people who got burned didn't have a burn-down view they could check. Procurement found out at invoice time. A self-serve Usage card means the answer is always one click away, not 30 days late.
Estimate before you commit: the pre-run gate
Alerts and the Usage card both watch spend after it happens. For the one place in Macha where you can intentionally kick off a large, credit-hungry job — Studies, our batch AI analysis over thousands of Zendesk tickets — we put a guardrail before the spend instead.
Before any Study run, Macha shows you the exact matching record count, the credit cost per record (which depends on the model you pick), and the total estimated credits — then makes you confirm in an explicit modal. Nothing is charged until you click through it.
And the billing is honest about partials: cancel a run midway and credits are deducted per successful record, never up front — errored and cancelled records cost nothing. This is the opposite of the credit-era cost trap that Schematic's guide to AI credit overages warns about, where one vague "agent run" silently retries for hours and bills you for all of it. You see the number, you approve the number, you pay for what actually completed. (For the full walkthrough of how Studies meters and runs, see the Studies — AI Analysis docs.)
When an alert lands: top up without changing plans
A warning is only useful if there's an easy action attached to it — billing-UX guidance is unanimous that an alert should suggest a fix, not just state the problem. When you hit 80% or 90% mid-cycle and you don't want to upgrade your whole plan over one busy week, the answer is credit top-up packs.
Top-ups are one-time credit purchases (three pack sizes — 1,000 / 5,000 / 10,000 credits; current prices live on the pricing page) bought through an in-page Chargebee checkout. Three things make them the right tool for a near-limit moment:
- They never expire. Unlike monthly credits, top-ups roll over month to month, so buying a pack at 90% isn't a "use it this week or lose it" gamble.
- They're spent automatically after your monthly allowance runs out — no toggling which balance to draw from.
- They're idempotent. Each purchase is recorded against its Chargebee invoice ID as a unique key, so a duplicate webhook delivery can't ever double-charge or double-credit you.
Top-ups are available to active Starter and Professional subscriptions. Trial users upgrade to a paid plan first; Enterprise plans bypass credit checks entirely, so there's no balance to top up in the first place.
A worked example of how this protects you
Picture a Professional org running a few Zendesk agents on the default 1-credit model. Volume spikes during a product launch and agent responses climb faster than usual. Here's the sequence the system runs without anyone babysitting it:
| Point in cycle | What happens |
|---|---|
| ~50% used | First email lands. Informational — "you're on pace." No action needed. |
| ~80% used | Second email. The real nudge — an admin opens the Usage card, sees the burn rate, and notes the cycle has 10 days left. |
| ~90% used | Third email. Admin buys a 5,000-credit top-up in-app; it'll be spent automatically once the monthly allowance is exhausted. |
| Allowance exhausted | Top-up balance takes over seamlessly. Agents keep responding. No interruption, no surprise invoice. |
The point isn't that you'll always need a top-up — most months you won't. The point is that the information arrived in time to make a calm decision, which is exactly what the surprise-bill stories were missing.
Watch-outs and honest limits
No feature is all upside. A few things to know:
- Alerts are email-only and admin-only today. There's no in-app banner, Slack alert, or per-user routing for the threshold notifications yet. Mature billing stacks let you pick channels and set custom thresholds; Macha's 50/80/90% set is fixed and goes to org admins. If your admin inbox is noisy, make sure these don't get filtered.
- Thresholds are percentages of your monthly allowance, not hard spend caps. They warn you; they don't stop spend on their own. There's no auto-cutoff that freezes agents at 100% on paid plans — by design, because you usually don't want your support agents to go dark mid-conversation. If you need a hard ceiling, manage it by plan choice and by watching the alerts.
- Usage is metered as work completes, not in true real time. Like every usage-based system, there can be a small lag between an agent acting and the meter reflecting it. A burst of activity can move the number between when you read the Usage card and when an alert computes. Treat the card as near-real-time, not to-the-credit live.
- There's no top-up to manage on Enterprise. Because Enterprise bypasses credit checks, the alert/Usage/top-up machinery in this post mostly applies to Starter and Professional. That's a feature for Enterprise, not a gap — but it's worth knowing which world you're in.
None of these are dealbreakers; they're the honest shape of the feature. For most Starter and Professional teams the default 50/80/90% alerts plus a glanceable Usage card are exactly enough to make a runaway bill structurally impossible to be surprised by.
What good AI credit alerts look like in any tool
Set Macha aside for a second, because the principle is portable. If you're evaluating any usage-based AI product — a Copilot, an agent platform, your own metered API — here's the checklist the better billing teams (GitHub, Stripe, Schematic, Dodo Payments) have converged on. Use it to grade whatever you're buying:
| What to look for | Why it matters | Macha today |
|---|---|---|
| Staged soft alerts before any hard stop (≈50/80/90%) | One alert at 100% is too late to act on. Copilot uses 75/90/100%; the staging is what counts. | Yes — 50/80/90%, on by default |
| Alerts on by default, not opt-in | The surprise-bill stories are almost always an unconfigured threshold someone meant to set up. | Yes — ships on, no setup |
| Deduplicated, low-noise notifications | An alert you've trained people to ignore is worse than none. | Yes — DB-tracked, one fire per threshold per cycle |
| A pre-execution cost estimate | AI can spend faster than a human can react; show the number before the run. | Yes — Studies estimate gate |
| Reserve-before-execute / honest partials | Charge for work that completed, not a worst-case guess. | Yes — credits deducted per successful record |
| A self-serve usage dashboard | Procurement shouldn't first learn the number at invoice time. | Yes — Usage card |
| An action attached to the warning (top up / upgrade) | A good alert suggests the fix, it doesn't just state the problem. | Yes — in-app top-up packs |
| A hard $0 cap that freezes usage | Some teams want a true ceiling. | No — alerts warn but don't auto-freeze paid agents (see watch-outs) |
The recurring theme across every one of those sources is worth stating plainly: as the metered-billing guides put it, bill shock is a product-design failure, not a finance problem. Thresholds that ship off, alerts that fire only at 100%, and "agent run" line items with no estimate are all design choices that push the surprise onto the customer. Macha's stance is that the safe default should be on, automatic, and deduplicated — you don't opt in to knowing your balance is running low.
The one honest gap: GitHub Copilot and a few others let an admin set a $0 budget that hard-stops usage. Macha deliberately doesn't auto-freeze paid-plan agents (covered in the watch-outs above) — but it's the one box on this checklist Macha leaves unticked on purpose, and you should know that going in.
If you want the mechanics underneath all of this, two companion reads go deeper: How Macha Credits & Billing Work (per-model, per-response) explains exactly what a credit buys, and AI Agent Pricing Models, Explained covers why per-action billing behaves so differently from per-resolution or per-seat. If you're connecting Macha to Zendesk, this all sits alongside the agent work — see Macha on Zendesk — and the full billing reference lives in the docs.
FAQ
At what points does Macha send credit usage alerts? Automatically at 50%, 80%, and 90% of your monthly credit usage. Each threshold emails your organization's admins once per billing cycle.
Do I have to turn alerts on or configure them? No. They ship on by default with the credit system. The thresholds (50/80/90%) are fixed and the alerts go to org admins.
Will I get duplicate alert emails? No. Thresholds are tracked in the database, so each one fires exactly once per cycle — even across deploys — and a single notification fires per crossing for the whole org rather than one per admin.
What happens when I run out of monthly credits? On Starter and Professional, your top-up balance (if you have one) is spent automatically. Top-up credits never expire, so a pack you bought earlier is still there. Enterprise plans bypass credit checks entirely.
How do I avoid a surprise bill on a big Studies run? Studies shows the exact record count, per-record credit cost, and total before the run, and makes you confirm. You're billed only for records that successfully process; cancelled and errored records cost nothing.
Can I set a hard spend cap that stops agents at a limit? Not today — the alerts warn but don't auto-freeze paid-plan agents (so conversations don't go dark mid-reply). Manage hard ceilings through plan choice and by acting on the alerts.
Start with visibility
A surprise bill is almost never a pricing problem — it's a visibility problem. Macha's answer is to make your balance impossible to lose track of: automatic alerts at three thresholds, a Usage card that splits monthly from rollover credits, a cost estimate before any large job, and top-ups that wait quietly until you need them. Start a 7-day free trial, no credit card required, connect your helpdesk, and you'll see the Usage card before you've spent your first credit — which is exactly the point.
Written by Abbas (Customer Support & AI, Macha) · Reviewed by Ankeet Guha (Co-founder & CTO) · Published 2026-06-24 · Last updated 2026-06-24.
Resolve tickets automatically with AI agents
Macha's AI agents work on top of the help desk you already use — no code.
Shopify
Stripe
Slack
Notion
Google Workspace
Confluence

