← INDEX/WORK/PTC-AI-OPERATOR

№ 09 — AGENTIC VOICE AI

PTC AI Operator

An AI operator that answers the marketing line, follows the script, and books the appointment — trained by mining 3,200 real calls.

TYPEWork improvisation · PTC
YEAR2026
ROLEArchitect · Engineer · Trained on the operators it relieves
STATUSGreenlit & paid · Phase 1 in build
SCOPEVoice AI · Telephony · Call mining · Integrations

Why this exists

Professional Travel Center’s marketing line rings all day with prospects responding to mail campaigns. Human operators answer during business hours and book about 42% of answered calls into group sales presentations; after hours and on weekends, callers hit voicemail and die there. The fix: one shared platform, two AI agent roles — an Inbound Marketing Operator that answers, qualifies, and books appointments 24/7, and a Customer Service agent that captures member requests with pre-fetched research. The owner greenlit it as a real, paid build.

The part that makes it work is the training data. Before writing a line of agent prompt, I built a Playwright harvester over the company’s call-tracking system and mined ~3,200 recorded calls with outcome labels — then read 79 full transcripts line by line. The result is a script-as-performed: the exact beats top operators run, objections ranked by real frequency, phonetic-alphabet email readbacks, timezone handling, and the wording that loses calls. The AI doesn’t follow the script as written; it follows the script as it actually wins.

What I engineered

CALL MINING

A harvester over 3,200 real calls

Playwright automation over the iovox call-tracking layer — login/recon/full-harvest modes, deep-pagination survival, idempotent re-runs. 79 transcripts pulled (booked and lost calls both), objections ranked by frequency, and the human booking baseline measured: 42% of answered calls. That number is the benchmark the AI has to beat.

VOICE

ElevenLabs ConvAI on the live line

The company’s RingCentral marketing number forwards via answering rule to a bridge DID fronting the ConvAI agent — so soft launch is literally a phone-system rule: humans keep business hours, AI takes nights and weekends. Recording-consent and AI-disclosure greeting on every call; off-script callers transfer to a human in hours, queue for callback after.

BOOKINGS

Real appointments, not demo rows

A direct client for the company’s fulfillment-system API (reverse-engineered from its Swagger spec): customer lookup → create → appointment write, validated against live per-slot capacity. Resilience rule: if the API errors mid-call, the agent completes the booking conversationally and the platform queues, retries, and flags — a caller never hears “our system is down.”

API

The glue layer

Express + TypeScript tool endpoints, Bearer-authed per role, with an HMAC-verified post-call webhook ingesting transcript and recording — conversation_id ties every write together. Session capacity is enforced atomically in a Postgres function, never trusted to the agent prompt.

ISOLATION

Two stores, three enforcement layers

Owner’s hard rule: prospect data and member data never touch. Two separate Supabase projects with separate credentials, row-level security within each, and route guards in the dashboard — isolation by architecture, not policy. Three user roles see exactly their queue and nothing else.

DASHBOARD

Queues + the built-in ROI report

Next.js dashboard with per-role working queues — appointment rosters with capacity, statuses, transcript and audio playback — plus an owner overview comparing the AI against the 42% human baseline: calls answered, bookings, show rate, cost per call.

ROLE 2

The deal-hunter CSR, already built

The second agent’s MVP shipped first: 24/7 member-request intake with pre-fetched deal research and a confirmation-only email — AI output never reaches a customer unsupervised. Its domain model is PTC-Database, my Next.js + Prisma rebuild of the company’s request database.

OWNER OPS

Deliverables an owner can sign

Branded navy-and-gold PDFs — the plan, the scope, the call-mining report, an operator coaching card distilled from the mined calls (now coaching the humans too). Plus compliance built in from day one (recording consent, AI disclosure, TCPA, A2P 10DLC), a one-click Render deploy blueprint, and a written incident postmortem for a DNS outage found along the way.

In the wild

Training pipeline — 3,200 mined calls distilled through a Playwright harvester and pattern mining into the agent's system prompt, benchmarked against the 42% human baseline
THE TRAINING LOOP — 3,200 CALLS → HARVESTER → PATTERN MINING → SYSTEM PROMPT, BENCHMARKED AT 42%
Live call architecture — answer via RingCentral bridge, availability and booking through the Bearer-authed API, instant email and SMS confirmation, HMAC-verified post-call audit
ONE CALL, END TO END — ANSWER → BOOK → EMAIL → TEXT → AUDIT, THREADED ON conversation_id
3,200CALLS MINED FOR THE SCRIPT
79TRANSCRIPTS READ LINE-BY-LINE
42%HUMAN BASELINE TO BEAT
24/7ANSWER RATE VS BUSINESS HOURS
ElevenLabs ConvAITwilio · RingCentralPlaywrightExpress · TypeScriptSupabase Postgres · RLSNext.jsPrismaHMAC webhooksResend · SMTPRenderSerper · Brave Search

Forward-deployed engineering in its purest form: standing inside a real business, seeing the phones, the script, and the booking system as one system — then mining the company’s own calls into training data and shipping an AI operator the owner greenlit, funded, and staked real revenue on.