I let an AI make phone calls, then took the word "booked" away from it
Description and use
An automation recipe where an AI phone agent places reservations, but completion decisions are moved from the model to deterministic code to avoid false confirmations and errors.
Problem
AI phone‑call agents often misinterpret or fabricate confirmations, leading to incorrect reservations, price acceptance, or voicemail loops.
Outcome
The system reliably completes reservations only when the callee explicitly confirms, avoiding false bookings, price overcharges, and voicemail loops. Fuzzing uncovered parsing bugs (e.g., comma‑split prices). Real‑world tests with GPT‑Live and Twilio achieved sub‑second response and no errors in a 6‑minute call.
Workflow
- 1. Start two AIs in the browser (caller and callee) with npx oathra demo.
- 2. The caller initiates a reservation call; the callee responds with availability and offers alternatives.
- 3. The caller accepts an alternative and provides a name.
- 4. The callee says "you're all set"; the runtime records this as the confirmed field.
- 5. The runtime checks that all fields are verified and constraints hold before marking the call as MISSION COMPLETE.
- 6. For real calls, run oathra setup phone to choose voice engine and carrier, then oathra call --to
<number>to dial. - 7. Use oathra eval --adversarial to fuzz the system and catch edge cases.
Evidence
It said "your table is booked" when the restaurant had said no such thing.
The result is not a summary. Every field is anchored to something the other party said.
oathra eval --adversarial 10000 # never-confirm / wrong-restate / negate-then-offer / silent-hangup / caller-echo-trap
- Record date: 2026-09-17T20:45:29.551Z