EdenicEdenic
← Selected work

Voice · Telephony · 24/7 Mobile Locksmith

Every callback masked, local, and recorded.

24/7 Mobile Locksmith had an AI agent answering every call — but when technicians rang customers back, the real number was exposed and nothing was recorded. An Edenic engineer built a serverless masking layer that gives each customer a local number and a private extension, and records every callback.

Twilio Serverless FunctionsNode.jsTwilio SyncProgrammable VoiceTwiMLAI voice agentCRM workflowsSlack
0

servers to run it

5

local area codes covered

8/8

production tests passed

24/7

live call flow, never interrupted

Snapshot

Client

24/7 Mobile Locksmith — an emergency locksmith operator across North Carolina

The problem

Technicians calling customers back exposed the customer's real number, with no recording for QA

The build

A masking + extension-routing layer between the AI voice agent and the CRM

Constraint

Deployed into a live account handling real emergency calls — zero disruption

The pain

  • Every callback exposed the customer's real phone number to whoever dialled
  • Callbacks showed an out-of-area caller ID, so customers ignored them
  • No recording on outbound callbacks — nothing to review for quality or disputes
  • Any fix had to sit inside a live 24/7 emergency call flow without breaking it

Objectives

  • Give every customer a masked number plus a unique extension
  • Match a local area code so the callback shows a familiar caller ID
  • Record every callback automatically, on both channels
  • Add no servers, and no downtime on a business that runs around the clock
Call flow — overview

Inbound

Customer calls
AI voice agent

Masking layer

Post-call webhook
Extension minting
Area-code match

Storage

Extension map
30-day expiry

Callback

Technician dials mask
Keys extension
Recorded connect

Downstream

CRM workflow
Slack notification
Idempotent webhook processingProtected function endpointsDual-channel recordingFallback TwiML on error

What we built

Extension-based masking

After each AI call, the system mints a unique short extension bound to that customer and hands the technician a masked number instead of the real one.

Local caller ID matching

The inbound number is matched to a masking number in the same area code, with a fallback when no local match exists — so callbacks look local, not like spam.

Recorded callbacks

Dialling the masking number and keying the extension routes to the customer and starts a dual-channel recording automatically.

Idempotent webhooks

The voice platform retries its post-call webhook. Processing is idempotent, so a retry can never mint a second extension for the same call.

Zero infrastructure

Everything runs as serverless voice functions with a managed key-value store for extension mappings, on a 30-day expiry. Nothing to patch or keep alive.

Shipped without disruption

Built and tested against a live account with existing numbers and active workflows; every change went out in an agreed after-hours window.

Key takeaways

  • Customer numbers are never exposed to the people calling them back
  • Local caller ID lifted the odds a customer actually answers
  • Every callback is recorded, so quality and disputes are reviewable
  • No servers were added — the whole thing runs serverless and expires its own data

Got a call flow to fix?

This is the calibre of engineer Edenic sources, vets, and places. Talk to a founder.

Talk to a founder ↗