Product Block 12 · Sellable today
Missed Call Recovery
Turn missed calls into booked followups before the buyer cools off.
Best fit: Family Medical Group, medspas, dental offices, salons, contractors, and appointment businesses with high phone dependence.
Missed Call Recovery — build it without writing code
Drop the prompt below into Claude Code or Codex. The agent picks a phone-heavy prospect (medspa / dental / property mgmt / car wash), wires Twilio missed-call detection → AI-classified SMS reply within 60 sec, builds a one-page admin queue, and produces a live demo where the human calls + hangs up + watches the recovery SMS land.
You provide
You provide: (1) a phone-heavy prospect, (2) decision-maker email, (3) what the recovery SMS should offer (book a callback / answer a common question / route to staff).
You get back
You get: a hosted Twilio number for the demo, an AI-classified inbound flow with TCPA opt-out, a recovery SMS that fires within 60 sec of any missed call, and a draft cold pitch with a Loom of the live recovery.
Runtime & cost
Roughly 75 minutes wall-clock. ~$2 in Twilio test number + Claude.
You are building a Missed Call Recovery (Block 12 in the Cafecito AI new-hire playbook). Full reference at https://cafecito-ai.com/new-hire/blocks/12-missed-call-recovery. Read it. Use plan mode. Stop at every [GATE].
INPUTS YOU NEED FROM THE HUMAN (ask before doing anything else):
1. Phone-heavy prospect (medspa / dental / property mgmt / car wash / multi-loc service)
2. Decision-maker email
3. What the recovery SMS should offer: (a) book a callback, (b) answer a common question, (c) route to staff with a quick triage
ENVIRONMENT (verify):
- Working dir: /home/eratner/cafecito-ai
- Cloudflare account: f7a9b24f679e1d3952921ee5e72e677e
- Twilio cafecito-ai sub-account access
SECRETS TO CONFIRM:
- ANTHROPIC_API_KEY (Claude)
- TWILIO_SID, TWILIO_TOKEN
THE PLAN:
STEP 1 — RESEARCH + SCRIPT (10 min)
- Pull prospect site. Identify primary services + their current after-hours behavior (voicemail script if any).
- Draft the recovery SMS for their voice: "Hey, sorry we missed you — what can we help with? [Callback link / question / book here]." Match their tone (warm vs direct).
[GATE 1 — show recovery SMS draft + 3 sample inbound replies the AI will need to handle, ask "proceed?"]
STEP 2 — SCAFFOLD WORKER + TWILIO NUMBER (15 min)
- Create /home/eratner/cafecito-ai/missedcall-<prospect-slug>/.
- Provision a Twilio Miami number (305/786/954). Configure: voice webhook → returns TwiML <Response><Hangup/></Response> (we don't answer); no-answer/busy → fires status callback to /missed-call-webhook.
- Worker handles: POST /missed-call-webhook (Twilio status callback) → fires recovery SMS via Twilio.
- Bindings: D1 CALLS_DB, KV opt_out_list.
[GATE 2 — show worker.js + Twilio config, ask "deploy?"]
STEP 3 — TCPA OPT-OUT + REPLY HANDLER (10 min)
- STOP / UNSUBSCRIBE / QUIT / CANCEL → immediate confirmation reply within 2 min + flag in opt_out KV.
- Reply classifier (Claude): book / question / staff-route / negative. Each routes to a one-line response template.
- Cap: max 3 reply turns then human handoff.
[GATE 3 — test STOP flow + 3 sample replies (book/question/negative), ask "ready to deploy?"]
STEP 4 — DEPLOY + LIVE TEST (10 min)
- Apply D1 migration. Deploy via OAuth wrangler.
- Tell human: "Call the demo Twilio number from your phone. Hang up immediately. Within 60 sec your phone gets the recovery SMS."
- Verify timestamp + content.
[GATE 4 — confirm 60-sec recovery SMS lands, ask "test the reply flow?"]
STEP 5 — REPLY FLOW TEST (10 min)
- Human replies "yes, want to book" → AI sends booking link.
- Human replies "what are your hours" → AI answers from prospect site context.
- Human replies "stop" → opt-out fires within 2 min.
- Tail wrangler logs throughout.
[GATE 5 — confirm 3/3 reply paths work, ask "ready to record demo?"]
STEP 6 — DEMO LOOM (5 min, human action)
- Tell human: "Record a 60-sec Loom: dial the demo number from your phone, hang up, watch the SMS land, reply YES, watch the booking link arrive. Save URL."
STEP 7 — DRAFT THE COLD PITCH (5 min)
- Email subject: "What happens when someone calls you on a Tuesday at 6pm?"
- Email body: 4 sentences, lead with after-hours-bleed math, attach the Loom + the demo phone number, name $1.5k / $350/mo + SMS, one yes/no close.
[GATE 6 — show the draft, ask the human to send manually]
STEP 8 — SHIP THE SUMMARY
- Single-line: "[BUSINESS] missed-call recovery live · demo number [PHONE] · pitch sent."
- Append to /home/eratner/cafecito-ai/missedcall-shipped.md.
DONE.
GUARDRAILS: TCPA opt-out compliance MANDATORY before any test. NEVER use the prospect's real number for the demo — only your provisioned demo number. Cost ceiling: $5 (Twilio + Claude).
01Stack▾
- Cloudflare Workers
- Hono.js
- D1
- Twilio optional
- Claude API
- OpenAI API
- Resend optional
03Day-1 plan▾
A real prospect. A real demo. A real outbound message — all before 5pm.
-
09:00-09:30
Pick a phone-heavy prospect.
Look for phone-first CTAs, appointment language, bad reviews mentioning missed calls, or limited front-desk hours.
-
09:30-10:30
Build fake missed-call events.
Seed caller, timestamp, language, reason, urgency, and preferred callback window. Do not connect live SMS until approved.
-
10:30-12:30
Build recovery flow.
Webhook records missed call, drafts SMS/email response, classifies reply, and creates a staff task.
-
12:30-14:30
Build staff dashboard.
Show missed calls by urgency, likely value, language, and next action. One-click mark returned.
-
14:30-17:00
Call with revenue math.
Ask what a missed lead is worth, how callbacks work today, and whether a narrow recovery pilot is worth testing.
04Best practices & gotchas▾
-
Do not start with live texting unless approved.
Why: SMS spend, compliance, opt-out, and brand risk need clear boundaries.
-
Lead with recovered revenue.
Why: The buyer understands one booked appointment better than automation theory.
-
Keep staff in control.
Why: The system should prepare callbacks and replies, not impersonate the business without approval.
-
Track language.
Why: In Miami, bilingual recovery is often the fastest visible improvement.
05Prompts (copy-paste)▾
Drop these into Claude Code. Replace the [BRACKETED] fields with the prospect's details.
Classifies missed-call intent and writes a staff summary.
Classify this missed-call event.
Input:
- caller number
- timestamp
- voicemail transcript or reply text
- business type
Return JSON:
- language
- intent
- urgency
- likely_value
- recommended_staff_action
- suggested_reply
- risk_notes
Never claim medical, legal, or pricing certainty. Escalate uncertain cases to staff.
Builds a fake-data Cloudflare demo.
Build a Cloudflare Workers + Hono missed-call recovery demo.
Routes:
- GET / dashboard of fake missed calls
- POST /webhook/missed-call creates a missed-call row
- POST /reply simulates a customer reply
- POST /calls/:id/return marks callback complete
Use D1 for records and fake data by default.
Use Twilio only behind a SEND_LIVE_SMS=false flag.
Deploy and print test curl commands.
06Selling script▾
Discovery question (ask this first)
"What happens when someone calls during lunch, after hours, or while the front desk is already on the phone?"
The frame
The money is not in replacing your front desk. It is in recovering the buyer who already raised their hand and got silence. A 30-second text back and staff summary can save the lead before they call the next business.
The demo play
Show a fake missed call at 7:12pm, the instant bilingual response, the customer reply, and the staff dashboard with urgency and suggested callback.
Objections
-
"We call everyone back."
"That is good discipline. This makes callbacks faster, prioritized, and easier to track, especially after hours and across languages."
-
"We cannot text patients/customers automatically."
"Then we run approval mode first: draft only, staff sends. The workflow value is still there."
-
"Our phone system is complicated."
"The first pilot can be a forwarding number or webhook mirror. We do not need to replace your phone stack."
The close
"Give me one missed-call channel for two weeks. $2,500 to stand it up, $400/month after. If we do not recover enough appointments to justify it, we stop."
07Pricing notes▾
Anchor on one recovered appointment per month. Add Twilio/VAPI only when the buyer approves live communications and spend caps.