How we host a property's phone number and how Clara hands a caller off to a person — what we run today, what the vendors actually support, and the recommended path. Written for the Western Slope RingCentral onboarding and the Camellia missed-hand-off pain.
Proposed — this week vs. next · deep dive added 2026-09-08
A missed hand-off is a dead end for the team today. Clara bridges a caller to a person using ElevenLabs' built-in transfer tool, which is a black box: we can't choose what the team member's phone shows, we get no signal when nobody picks up, and the team member's phone log just shows a missed call from Clara's number — not the caller's.
Unless the team member opens the follow-up email Clara sends afterward, that call is simply lost. This is the single most-reported problem across AI-receptionist setups like ours, including two RingCentral community threads describing our exact configuration: a third-party AI running on Twilio, handing calls back into RingCentral.
Ask from Fede: "This is an old problem, done many times. Don't reinvent the wheel. If Twilio and ElevenLabs have tools that work reliably and we're not using them, I want to know." Target experience: everything recorded including the hand-off leg; the team phone shows the original caller; if the hand-off lands in voicemail or nobody answers, Clara pulls the caller back and offers to take a message; callers who are used to extensions can still reach a person. All claims below are sourced; anything unsourced is marked as such.
| Behavior we want | Who documents it | What they call it |
|---|---|---|
| Team phone shows the original caller on hand-off | Retell ("Displayed Caller ID: User's Number"), Vapi (callerId = customer number), Synthflow (caller's original number, Twilio-purchased numbers only), My AI Front Desk (admin picks caller's number or the AI's), EliseAI (warm transfer shows the original caller's number to the agent) | Caller ID passthrough, gated behind a setting, works best on Twilio-owned numbers |
| Detect voicemail or no answer on the human leg, then return to the caller | Synthflow ("Human Detection Timeout" plus six transfer outcomes), Retell (voicemail detection), Bland ("Hold Timeout" with fallback message), Funnel Leasing (after 2 to 3 failed attempts routes to the office line and proactively offers to reconnect), PATLive (returns to a live receptionist after N attempts), EliseAI (scripted line: "No one was available to answer the call. I can take a message for you, or is there anything else I can assist you with directly?") | Transfer fallback |
| Record the whole call including the hand-off | My AI Front Desk ("entire call, including transferred portion"), Dialpad (segments before and after transfer), EliseAI (full call to portal). Caution: Amazon Connect documents that recording STOPS once an agent leaves an externally transferred call, so this is not a universal baseline | Continuous recording |
| Reach a person by name, extension, or keypad | Dialpad and RingCentral and Nextiva (dial-by-name and dial-by-extension directories), GoTo ("Dial by Name Directory Routing"), Retell (keypad digits captured by default during the AI conversation), Vapi (native keypad input), Bland (interprets incoming keypad presses) | Directory routing; keypad in parallel with speech |
Surprises: the mature human receptionist services (Smith.ai, Ruby, Abby, Nexa, PATLive) do not publicly document what caller ID staff see on a transfer. The property-management AI vendors (AppFolio Realm-X, Knock, Entrata, Colleen, ResMan, Yardi) document almost nothing on any of the four; only EliseAI and Funnel are specific. Keypad-during-AI-conversation is a 2024 to 2025 feature, not settled tech, and most AI receptionist startups dropped the keypad entirely.
| Tool | Vendor | What it gives us | Works with our current native setup? |
|---|---|---|---|
| Fallback URL on the phone number | Twilio | If ElevenLabs is unreachable, Twilio runs a simple backup: ring a person or take a voicemail. Five-minute console setting. None of our lines has one. | Yes, it lives on the number, independent of who owns the call. Confirm with Twilio that an ElevenLabs-imported number still honors it. |
| Keypad input during the conversation ("dtmf_input_settings") | ElevenLabs, added 2026-08-31 | Callers can press digits while talking to Clara. Directly serves the extension habit. | Yes. No reliability data yet; test at the Willows. |
| Blind transfer mode | ElevenLabs | The only transfer mode documented to preserve the original caller's number on the team phone. | Yes, one config flag. Loses the whisper; no no-answer signal. |
| Voicemail detection system tool | ElevenLabs | Detects a voicemail greeting and can play a message or bail. | Presumed yes. Accuracy not published. |
| Call token on the dialed leg | Twilio | Carries the original caller's verified identity onto the leg we dial, so the team phone shows the real caller with proper trust signing instead of a low-trust forwarded number. | Only if we run the dial ourselves. |
| Answering machine detection on the dialed leg | Twilio | 94% accuracy, near 100% in message-end mode. The mature way to know a hand-off hit voicemail. | Only if we run the dial ourselves. |
| Dial action callback with the dial outcome | Twilio | The exact mechanism for "nobody picked up, bring the caller back to Clara." | Only if we run the dial ourselves. |
| Whisper and "press 1 to accept" on the dialed leg | Twilio | Team member hears who is calling and accepts before the bridge. | Only if we run the dial ourselves. |
| Dual-channel recording on the dialed leg | Twilio | Guaranteed recording of the human leg. | We already do this at call start; it stays true under our own dial. |
| Caller name lookup | Twilio | Name, not just number, on the team phone and in the email. US only, small per-lookup fee. | Yes. |
| Voice Integrity registration | Twilio | Registers our numbers with the carrier spam-analytics programs so our calls stop being labeled. | Yes. |
| ConversationRelay | Twilio | Twilio-first architecture where Twilio owns the call and uses ElevenLabs voices. Native keypad, hand-off, recording. | No, it is a different architecture. Large rebuild. |
| Workflows visual builder with transfer nodes | ElevenLabs | Success and failure edges on tool nodes. | Yes, but failure-edge behavior for transfers is not fully documented. |
Gaps confirmed on the ElevenLabs side: no documented caller ID behavior for conference transfers, no ring timeout, no "resume after failed transfer," no transfer outcome in the post-call webhook, and an open bug where the transfer cuts Clara off mid-sentence.
| Path | What it gets us | What it cannot do | Size |
|---|---|---|---|
| A. Stay native, configure harder | Fallback URL; keypad input; blind transfer for caller ID; voicemail detection; caller name lookup | No reliable "bring the caller back" on no-answer; no whisper if we go blind; caller ID on conference mode stays undocumented | Small, settings plus a Willows bench |
| B. Native conversation, our own hand-off through Twilio | Every target behavior: original caller with trust signing, whisper, voicemail detection, return to Clara on no-answer, structured message, continuous recording, keypad and name routing | Needs a custom transfer tool, a small bridge handler, and confirmation that Clara can take the caller back after a failed dial | Medium, the June "own the dial" option; the same shape Retell, Vapi, and Bland implement internally |
| C. Twilio-first (ConversationRelay or SIP trunk) | Cleanest control | A rebuild of the call layer; ElevenLabs SIP mode has no whisper | Large, not now |
This week (Western Slope goes live on forwarding):
Next two to four weeks, one property at a time:
Questions to put to support before relying on anything: ElevenLabs, what caller ID does conference transfer present, is there any ring timeout or resume-on-failure, does recording continue after the agent leaves. Twilio, does the fallback URL fire on an ElevenLabs-imported number, and can an agent regain the caller after our own dial reports no-answer.
~/westernslope-data/phone-tree.md, probed 2026-09-05.| Rank | Pitfall | Source |
|---|---|---|
| 1 | Caller ID replaced by the AI's number on the transfer leg | RingCentral forums, Retell community, Canadian carrier reports |
| 2 | ElevenLabs conference transfer cutting off early | ElevenLabs / Twilio field fix |
| 3 | Voicemail mistaken for a person, so the AI "succeeds" into a voicemail box | Field reports |
| 4 | Codec and touch-tone distortion on multi-hop bridges | Field reports |
| 5 | Echo and half-duplex audio right after a transfer | Retell community |
| 6 | Unowned caller ID blocked or spam-flagged | Twilio spam remediation docs |
| 7 | Per-leg cost stacking — Twilio bills each leg, plus a small fee to receive a transferred call | Twilio billing docs |
| 8 | Single-vendor outage with no fallback | ElevenLabs status history |
| 9 | Ring-timeout and busy-line handling gaps | Field reports |
| 10 | Recording consent on the transferred leg in all-party-consent states | Recording-law surveys |
| Option | What it is | Fixes | Leaves broken / cost |
|---|---|---|---|
| A | Keep everything as is | Nothing — cheapest, zero rework | Dead-end missed calls, late no-answer detection, the cut-off bug |
| B | Switch ElevenLabs to blind transfer | Caller ID on the team phone shows the real caller | Loses the whisper and Clara's announcement; still no no-answer signal; still nothing on failover. Not enterprise-grade. |
| C recommended | Own the hand-off on Twilio. Clara's transfer becomes a tool call to our backend, which moves the live call into our own bridge: dial the team member with the caller's real number (or Clara's, per property), whisper who's calling, detect voicemail, ring up to N seconds, and if nobody answers bring the caller back to Clara to take a message, then email the team with the caller's number. | Real no-answer signal instead of after-the-fact recording analysis (a deletion, not an addition); two-channel recording of the human leg comes for free; full control over caller ID, ring timeout, voicemail detection | Rewiring the transfer tool on every specialist agent; a new Twilio bridge handler; a bench run at the Willows; an overnight soak; then rollout one property at a time. Risk of spam labels when presenting the caller's real number — default is Clara's number plus whisper, with "show the caller" as a per-property switch. |
| D | Twilio-first with ElevenLabs behind a SIP trunk | Maximum control and recording regardless of transfer mode | Bigger rebuild; ElevenLabs SIP mode has no whisper; ElevenLabs SIP routing had the July incident. Not now. |
Option C was called "own the dial" in the June design note and was deferred then as too much rewiring.
Yes, once the main number forwards to Clara. Callers say the name; Clara transfers to that person's direct number. Direct lines keep working for anyone who already has them.
A PropFlow number, not the caller's. Under option C it can show the real caller instead, with the spam-label trade-off described above.
Yes — with Clara at the top we record every call end to end, including the hand-off leg, today and under option C. Only the SIP REFER transfer mode would lose the recording, and we don't use it.
Internal: docs/planning/unknown-caller-transfer-no-answer-detection.md (June 2026 design, options 2a–2d); agents/clara/lib/voice/post-transfer.ts (recording at answer, outcome classification); config/phone-registry.json; agents/clara/lib/voice-agents/prototypes/western-slope-portfolio-triage.ts (bridge callerId).