Part 6 of 7 · Missed-call text-back series ~6 min read

What the missed-call text-back costs

A system that costs more than the business it saves is a gadget. This post is the cost breakdown: every AWS service this design touches, what each adds up to at around 150 missed calls a month, and why the total lands near $2.20 — plus what happens to the bill when the volume goes up tenfold.

Key takeaways

  • About $2.20/month at roughly 150 missed calls, and the fixed cost is almost nothing — nothing runs when the phone isn’t ringing.
  • The two biggest lines are the outbound SMS and one small Bedrock call per text-back. Everything else is cents.
  • The only real fixed cost is Secrets Manager: two provider secrets at $0.40 each, billed whether or not a call comes in.
  • At ten times the volume (around 1,500 missed calls) the bill lands near $14 — it scales with use, not with idle time.
  • SMS carrier fees vary by country and provider; the numbers here are a UK-leaning estimate, not a fixed AWS price list.

Where the money goes

The system is serverless end to end, so there’s no instance ticking over when the shop is shut and no idle bill. You pay for a missed call only when one happens. At a typical small-business volume — call it 150 missed calls a month, each getting one text-back, with a handful of replies and escalations on top — here’s the whole bill, line by line.

AWS serviceWhat it does hereMonthly
Secrets ManagerTwo provider secrets — webhook signing key, SMS API key ($0.40 each)$0.80
SNS (SMS)One outbound text-back per missed call (~150), plus a few escalation texts$0.60
Bedrock (Claude Haiku 4.5)One compose call per text-back (~150)$0.45
DynamoDB (on-demand)Calls, threads, customers mirror, audit — small reads and writes$0.12
CloudWatch LogsFunction logs, 7-day retention$0.10
SESEscalation and handover email to your team$0.05
Lambda (Python 3.14, arm64)Webhook, replier, router, escalator, sweep, drive-sync$0.05
SQS + DLQBuffering between the webhook and the slower model and SMS calls$0.02
EventBridge SchedulerThe 15-minute no-reply sweep and the Drive sync$0.01
AWS BudgetsCost alarm (first two budgets are free)$0.00
Total~150 missed calls/month$2.20

The shape of that bill is the point. The only line that costs money while the system sleeps is Secrets Manager — two secrets at $0.40 each, $0.80 a month no matter what, which is over a third of the total at this volume. Everything else is genuinely usage-priced and rounds to zero at idle. The two lines that do move with volume are the ones that actually reach the customer: the SMS itself and the one Haiku call that phrases it. The Lambdas, the queue, the tables, and the schedules — all the machinery doing the real work of catching, matching, and routing — together cost less than the SMS bill alone.

The line that isn’t purely AWS

The SMS line deserves a caveat. AWS prices outbound SMS per message, and the exact rate depends on the destination country and the mobile carrier — a UK mobile is a few pence, other countries differ, and some routes add carrier surcharges. The $0.60 here is a UK-leaning estimate for around 150 outbound texts; your real number will track your country and your provider. If your telephony provider (rather than SNS) carries the outbound SMS, that cost moves onto their invoice instead and off this table — but it’s the same handful of pence per text either way. Either way, SMS is the one line worth watching as volume grows, which is exactly why the AWS Budgets alarm sits on top of the whole thing.

What ten times the volume costs

Push this to a busy business — 1,500 missed calls a month, ten times the volume — and the bill lands near $14, not $22. It’s sub-linear because the fixed lines don’t move: Secrets Manager stays at $0.80, the schedules stay at a cent, and AWS Budgets stays free. What scales is the genuinely usage-priced work — roughly $6 of SMS for ten times the texts, about $4.50 of Bedrock, and a few dollars more spread across DynamoDB, logs, SES, and Lambda. Even then, the two things that reach the customer dominate, and all the machinery in between stays close to free.

Monthly cost split at about 1,500 missed calls A single horizontal bar divided into proportional segments showing a roughly $14 monthly total at ten times the base volume. From left: SMS is the largest segment at about $6.00; Bedrock about $4.50; DynamoDB about $1.00; Secrets Manager a fixed $0.80; and a final combined segment for CloudWatch Logs, SES, Lambda, SQS and EventBridge at about $1.46. Labels sit above or below each segment. A note reads: the fixed lines do not move with volume, so the bill grows sub-linearly — the SMS and the model call are the only parts that scale. SMS ~$6.00 Bedrock ~$4.50 DDB ~$1.00 Secrets $0.80 rest ~$1.46 Monthly cost — ~1,500 missed calls — total ~$14 Fixed lines don’t move with volume; only the SMS and the model call scale, so the bill grows sub-linearly.
Fig 6. The monthly bill at ten times the base volume, about 1,500 missed calls. SMS and Bedrock are the bulk of it; the fixed lines stay put, so the total grows sub-linearly — near $14, not ten times $2.20.

The honest way to read this: the AWS bill is rounding error against what a missed call is worth. A single missed customer at a salon, a garage, or a dental practice is worth far more than $2.20, and this design catches them by the dozen. Even at $14 a month for a busy shop, the system pays for itself the first time it turns one ring-out into a booking — and the few callers who don’t reply still get a human ringing them back, with the whole story already gathered.

Design rules that shaped the cost

  • Pay per missed call, not per hour. No always-on compute means no idle bill.
  • Spend the model sparingly. One Haiku call per text-back, and only to phrase — never to decide or to route.
  • Cheap work stays cheap. Catching, matching, routing, and sweeping are plain Lambda and DynamoDB, cents at this scale.
  • Know your one fixed cost. Secrets Manager is the only line that bills while the system sleeps.
  • Watch the SMS line. It’s the part that scales and the part whose price varies, so the Budgets alarm sits right on top of it.
All posts