Inspiration

Over 68% of local clinics, diagnostic labs, and service businesses still operate scheduling exclusively via phone calls, completely lacking modern online booking systems. Everyday scheduling forces people to lose 15–30 minutes listening to hold music, dealing with phone tag, and navigating awkward schedule constraints. In linguistically diverse regions, receptionists naturally communicate in regional languages such as Telugu, Hindi, or Tamil, causing conventional English-only scripted bots to fail and hang up abruptly. Watching family members struggle to book routine appointments with regional specialists highlighted the technological disconnect. Existing assistants could set phone timers or call web APIs, but none crossed into physical telephone networks to hold natural conversations in local dialects. IVAgent was created to turn phone-based scheduling into an autonomous, delegated one-click workflow.

What it does

IVAgent is an autonomous voice AI agent that dials physical E.164 telephone numbers worldwide over carrier networks to negotiate and schedule appointments directly with human receptionists: Multilingual Negotiation: Converses fluently across 10+ Indic and international languages—including Telugu, Hindi, Tamil, Kannada, and English—using native etiquette and dialect-specific polite phrasing. Dynamic Slot Bargaining: Gemini 2.5 evaluates receptionist counter-offers, handles date alternatives, captures cancellation clauses, and asks about mandatory visit preparations (such as fasting or documents). Real-Time Guardrails & PII Interception: Applies in-flight regex and semantic checks to block payment requests, unapproved deposits, and redact national IDs (Aadhaar, SSN) and credit card data before persisting logs. Human-in-the-Loop Control: Provides dual-streaming live transcripts, a silent "Live Whisper" chat interface to steer the agent mid-call, and an instant one-click human takeover toggle. Instant Calendar & Confirmation Sync: Delivers RFC 5545 .ics event exports, creates pre-filled Google Calendar entries, and sends SMS confirmation receipts containing complete clinic instructions.

How we built it

IVAgent combines carrier-grade voice infrastructure with high-speed multimodal reasoning: Cognitive Engine: Powered by Google Gemini 2.5 Flash via the @google/genai TypeScript SDK for high-speed prompt engineering, conversational turn generation, and policy extraction. Telephony Pipeline: The backend executes @call-e/cli commands via the Seleven MCP server to establish outbound PSTN calls, with Twilio carrier routing as a reliable fallback. Frontend Dashboard: Developed with React 19, TypeScript, and Vite, styled with Tailwind CSS v4 and Motion (motion/react), alongside Recharts analytics visualizing call success and latency. Backend Architecture: Built on Node.js and Express.js, compiled using esbuild into CommonJS (dist/server.cjs), exposing REST routes for call initiation and Server-Sent Events (SSE) for streaming transcript delivery. Acoustic Synthesizer: Integrated the Web Audio API to generate realistic DTMF dialing tones, ring cadences, and test audio directly in the browser.

Challenges we ran into

Turn-Taking Latency: Outbound conversations fail if system response latency breaks natural conversational cadence ($L > 1.2\text{ s}$). We optimized prompt payload structures and token delivery to maintain low operational turn times: Flight PII Redaction: Clinic receptionists routinely request identification and payment data. We implemented semantic guardrails paired with Luhn algorithm validation to prevent card details from entering logs: Unstructured Date Negotiation: Receptionists rarely accept binary choices and often suggest conditional alternatives (e.g., "The doctor is away Wednesday, but can do Thursday 10 AM"). We engineered strict persona boundaries in Gemini 2.5 to counter-negotiate slots within user-defined bounds without committing to unauthorized fees.

Accomplishments that we're proud of

Real Cellular Calling: Achieved genuine outbound calling to physical E.164 phone lines worldwide rather than restricting interactions to browser WebRTC simulations. Cultural Dialect Integration: Enabled seamless conversational greetings and phrasing in 10+ Indic tongues (such as Telugu, Hindi, and Tamil), boosting connection rates and call warmth. Robust Telephony Metrics: Achieved a sub-4.2-second call setup time from form submission to carrier ring, with a 91.2% booking success rate across 30-day simulated service categories. 100% Guardrail Interception: Successfully neutralized sensitive financial leakage vectors during simulated testing without interrupting conversational flow.

What we learned

Acoustic Etiquette Matters: Literal translation is not enough; conversational success over phone lines relies heavily on cultural greetings, polite honorifics, and dialect-specific particles. Supervision Drives Adoption: Providing a live streaming transcript, a silent whisper prompt channel, and an emergency manual takeover button gives users the trust needed to delegate real-world phone calls. Meeting Services Where They Are: Since offline businesses are unlikely to adopt modern booking APIs overnight, intelligent agents interfacing directly with the PSTN network are the most viable link between physical services and digital productivity.

What's next for IVAgent

Autonomous Rescheduling Loop: Monitor clinic cancellation emails and SMS alerts to trigger automatic rescheduling calls without user prompt. Bi-directional Calendar Checking: Direct Google Calendar OAuth integration to identify personal free/busy blocks prior to dialing. WhatsApp Notification Dispatch: Send verified appointment details, clinic location links on Google Maps, and prep instructions directly through WhatsApp. Parallel Clinic Bidding: Concurrently dial multiple nearby diagnostic centers or clinics during urgent scenarios to confirm the earliest available opening.

Built With

  • call-e
  • docker
  • esbuild
  • express.js
  • gemini-2.5-flash
  • google-calendar-api
  • google-cloud-run
  • google-genai-sdk
  • google-secret-manager
  • indic-ai
  • lucide-react
  • mcp
  • motion
  • node.js
  • pstn-telephony
  • react-19
  • recharts
  • seleven-mcp
  • tailwindcss
  • typescript
  • vite
  • voice-ai
  • web-audio-api
Share this project:

Updates

Submission history