Abstract
The Retell Phone Bridge is iSimplifyMe's production AI phone receptionist. A Python FastAPI server on AWS Fargate answers inbound calls to iSimplifyMe through Retell's voice platform, and Claude Opus 5 on AWS Bedrock carries each conversation.
When a call ends, Claude Opus 5.5 classifies the caller, and every prospect or client call becomes a lead in Apex. This dossier covers the call path, the model choice, what the agent knows, screening, outcomes, and what happens after the call.
Problem
A business phone line draws solicitations alongside real inquiries. The first kind should cost as little as possible.
The second needs an accurate answer, a meeting on the calendar, and a CRM record at any hour, with no voicemail in between.
Automated follow-up email that runs without human review creates compliance and quality risk. A lead captured at 2am deserves a response a person approved, not a drip that fires on a timer.
Approach
Call path
Retell provides the number, the speech recognition, and the voice. For each call it opens a WebSocket to the server, which runs on ECS Fargate behind an Application Load Balancer with TLS.
The server streams Claude's reply as it is generated, and the prompt holds each reply to one or two spoken sentences.
Whenever a caller pauses, Retell asks for a new reply; one turn can produce several requests. The server answers only the newest one.
A superseded reply stops generating and never runs its tools, so a caller who pauses while spelling an email address cannot set off a second booking.
Model choice
Live calls run on Opus 5 with extended thinking turned off, because the caller hears silence until the first word arrives. In a separate side-by-side run of scripted calls through the production streaming path, six scenarios three times each, Opus 5 streamed the first word of a reply in about 1.2 seconds at the median, measured before speech synthesis.
Opus 5.5 does not allow thinking to be turned off, and its median in the same run was about 2.9 seconds. It writes the post-call analysis instead, where a few seconds cost nothing; if it is unavailable, the analysis falls back to Opus 5.
What the agent knows
The agent's knowledge is drawn from the live site: services, the engagement floor, and the trust posture. It sits in the system prompt, so an answer needs no lookup round trip.
The agent quotes the $50,000 engagement floor only when a caller asks about price. Guard tests hold the phone copy to the site's published pricing and claims.
Screening
A gate runs before the greeting. It reads the carrier's STIR/SHAKEN attestation and checks an allowlist and a blocklist of numbers and number prefixes.
An unverified caller hears a screening greeting that asks who is calling. A silent line is ended after two unanswered reminders, or one for an unverified caller.
A number is blocked after two calls the post-call analysis flags as spam. Returning callers are recognized by phone number and greeted by name when the system has one.
Outcomes
The agent works toward one of three outcomes: a discovery call booked on the calendar while the caller is on the line, a message with the caller's name and reason, or, for vendors, a pointer to email.
After the call
Opus 5.5 reads the transcript and returns one structured result: the caller's type (prospect, client, vendor, robocall, personal, or unknown), name, company, reason, a summary, a spam flag, and a lead score from 1 to 10. Calls where the caller never spoke skip the model.
Prospect and client calls go to Apex through its lead intake, which emails the team and runs the same checks as any other lead it receives. A caller who says an AI engine sent them is attributed to that engine.
A Slack card with the summary and the caller's number posts for every call where someone spoke.
When a caller with a lead score of 4 or higher leaves an email, a second card lets a person approve a follow-up for day one, three, or seven, or skip it. No follow-up sends until someone clicks.
At 7am Central, if the previous day had calls, a digest posts to Slack; it also goes out by email when a prospect or client called.
Status
- Live, answering inbound calls to iSimplifyMe around the clock.
- Live calls: Claude Opus 5 on AWS Bedrock. Post-call analysis: Claude Opus 5.5, with Opus 5 as the fallback.
- Prospect and client calls become Apex leads, attributed to the phone channel or to the AI engine the caller names.
- Every greeting tells the caller the call is recorded. Recordings and transcripts are archived to S3.
- Deploys run from GitHub Actions to ECS over OIDC, with no stored AWS keys. Three CloudWatch alarms (server errors, no running task, unhealthy targets) alert by email.
- A scripted-call harness, run after prompt, knowledge, and model changes, replays nine caller scenarios through the production streaming path.
Links
- Related → Apex Portal · AI Concierge · Sentinel