Sajjad Mahessar Good Merch Group Free audit
~/sajjad $ cat projects/call-routing ← cd ../projects Systems

Automated call routing

Live

Inbound phone system replacing manual call handling. A keypad menu routes callers to three departments with independent answer detection; no-answer calls fall through to voicemail with a transcription emailed out.

Type
Telephony
Category
Systems
Built with
Twilio Studio · Functions · TwiML · SendGrid
Project
14 of 37
The published call flow showing keypad routing to three departments with answer detection
INBOUND GATHERKEYPAD 1 · RESERVATIONS 2 · KITCHEN 3 · MANAGEMENT V/MAIL+ TEXT PRESS 0
The published flow — three departments, each with its own answer detection

What I built

  • Three-department keypad menu with a press-zero replay loop, and voicemail-on-no-answer delivering transcription by email including the caller's number for callback.
  • Serverless function handling delivery through a verified sender domain.
  • Controls: a ten-minute per-call cap, monthly spend alerting, and UK-only dialling permissions with every other geography disabled.

What went wrong

  • The initial business profile was rejected on an email-domain mismatch. Diagnosed it, corrected the registered contact, secured an approved bundle.
  • When the geographic-number route stayed blocked, pivoted to a national number to get live and kept the original line in service via divert.
  • Callers heard the greeting cut off mid-sentence. The raw TwiML and flow logs showed the gather was accepting speech alongside keypad on a one-second timeout, so line noise triggered a barge-in. The platform makes speech language a required field, so it couldn't be disabled — I restructured the flow to move the greeting outside the gather entirely.
Booking system

Table booking system

In-house reservations, 395 bookings migrated

PostgreSQL/SupabaseEdge FunctionsDatabase webhooksRLS
Partner scheme

Partner voucher redemption

150 single-use codes, redeemed once

PostgreSQL / SupabaseRLS + SECURITY DEFINERSingle-file HTMLPython (ReportLab)
No charge

I’ll find the money before you pay me anything.

Send me your software subscriptions and I’ll come back with what’s replaceable and what it’s worth — free, and yours to keep either way. How it works →

Contact

Want the same done to your cost base?

Open to operations, automation and technical operations roles — and to talking with anyone running a multi-site business who suspects they're paying for software they could own instead.