Skip to content

Latest commit

 

History

287 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

πŸ“ž AIVA β€” Open-Source AI Voice Agent & AI Receptionist

An AI phone receptionist / virtual receptionist that answers calls 24/7, books appointments, takes restaurant orders, answers FAQs, and speaks 8+ languages β€” built with Claude, Twilio Voice and Next.js.

Next.js TypeScript Claude Twilio License: MIT

AI receptionist Β· voice agent Β· answering service Β· appointment booking bot Β· phone order automation Β· conversational IVR replacement


What is AIVA?

AIVA is a complete, self-hostable AI voice agent (think: AI answering service / AI front desk) for small businesses β€” clinics, salons, restaurants and hotels. A caller dials your number; AIVA answers in under a second, holds a natural conversation in the caller's language, and actually finishes the job: it books the appointment, takes the order, answers the question, or hands off to a human with full context.

Unlike a phone tree or IVR, there are no menus. Unlike most "AI receptionist" SaaS products, AIVA is open source, runs on your own infrastructure, and configures itself from a plain-English description of your business.

✨ Features

Capability What it does
πŸ“ž 24/7 call answering Twilio Voice webhook β†’ Claude conversation loop β†’ natural spoken replies
πŸ“… Appointment booking Live availability checks, proactive free-slot suggestions, double-booking protection, SMS confirmations
🍽️ Phone orders Item-by-item capture validated against the live menu β€” no $0 mystery items, accurate totals
❓ FAQ answering Answers from your business knowledge base; never invents prices or policies
🌍 8+ languages Detects the caller's language mid-sentence and switches voice + speech recognition to match (English, Hindi, Spanish, French, German, Italian, Portuguese, Japanese)
🧠 Post-call intelligence Every call auto-analyzed: summary, sentiment, intent, resolution, staff action items, upsell opportunities
πŸ‘‹ Caller memory Recognizes returning customers by number β€” greets them by name, knows their history
✨ AI self-onboarding Describe your business in a paragraph; Claude generates the entire receptionist configuration
πŸ€– AI business reports Aggregate reasoning across all calls: trends, risks, concrete revenue recommendations
βœ… Action item queue Callback requests and follow-ups become a live staff task list
πŸ’¬ SMS layer Instant booking confirmations + a cron-able next-day reminder engine with dedup
πŸ“ˆ Analytics dashboard Automation rate, sentiment, intents, languages, peak hours, upsell radar
πŸ› οΈ Live knowledge editing Change services/FAQs in the dashboard; AIVA knows on the very next call

πŸ†š AIVA vs the alternatives

AIVA Traditional IVR Human answering service Voicemail
Answers instantly, 24/7 βœ… βœ… ⚠️ business hours βœ…
Natural conversation βœ… ❌ press 1… βœ… ❌
Books & orders end-to-end βœ… ❌ ⚠️ relay only ❌
Speaks caller's language βœ… 8+ ❌ ⚠️ rarely ❌
Remembers returning callers βœ… ❌ ❌ ❌
Per-call analytics & sentiment βœ… ❌ ❌ ❌
Cost Free (MIT) β€” self-host $$ $$$$ lost revenue

πŸš€ Quick start

git clone https://github.com/7XLabs/aiva.git
cd aiva
npm install
cp .env.example .env.local   # add your ANTHROPIC_API_KEY
npm run dev

Open http://localhost:3000 β€” then:

  • / β€” product landing page
  • /onboard β€” describe your business, get a working receptionist
  • /demo β€” talk to AIVA in your browser (mic or keyboard); hang up to see post-call intelligence
  • /dashboard β€” calls, appointments, orders, action items, analytics, knowledge editor

To connect a real phone number, see DEPLOYMENT.md.

πŸ—οΈ How it works

Caller ──▢ Twilio Voice ──▢ /api/voice/incoming   (greeting + <Gather> speech)
                       └──▢ /api/voice/respond    (speech β†’ Claude β†’ TwiML reply)
                                     β”‚
                                     β–Ό
                     lib/agent β€” Claude Opus 4.8 tool loop
                     β”œβ”€ check_availability   β”œβ”€ find_free_slots
                     β”œβ”€ book_appointment     β”œβ”€ take_order
                     β”œβ”€ set_language         β”œβ”€ request_callback
                     └─ transfer_to_human
                                     β”‚
                                     β–Ό
                     lib/insights β€” post-call analysis (structured output)
                     lib/digest   β€” cross-call business reports
                                     β”‚
                                     β–Ό
                     /dashboard β€” live operations view

The agent runs a bounded tool-use loop with server-side guardrails: bookings re-verify slot availability at write time, orders are validated against the live menu, out-of-hours and past-date requests are rejected with corrective feedback the model uses to recover β€” the model is never trusted to have validated anything.

πŸ“ Project structure

app/
  page.tsx               # landing page
  onboard/               # AI self-onboarding wizard
  demo/                  # in-browser voice demo (Web Speech API)
  dashboard/             # overview, calls, appointments, orders, tasks, analytics, knowledge
  api/chat               # demo conversation endpoint
  api/voice/*            # Twilio webhooks
  api/digest             # AI business report
  api/reminders/run      # SMS reminder cron endpoint
lib/
  agent/                 # Claude brain: prompt, tools, hardened loop
  insights.ts            # post-call intelligence
  digest.ts              # cross-call aggregate reports
  callerMemory.ts        # returning-caller recognition
  slots.ts               # hours-aware free-slot computation
  db.ts                  # JSON file store (swap for a DB in prod)

πŸ—ΊοΈ Roadmap

  • Calendar sync (Google Calendar / Cal.com)
  • Realtime voice (streaming STT/TTS) for sub-second turnarounds
  • WhatsApp & web-chat channels sharing the same brain
  • Postgres adapter
  • Outbound campaigns (reminder & win-back calls)

πŸ“š Documentation

πŸ§ͺ Quality

npm test          # unit tests (agent guardrails, scheduling, TwiML, i18n)
npm run typecheck # strict TypeScript
npm run build     # production build
npm run doctor    # check which integrations are configured
npm run seed:demo # fill the dashboard with realistic demo data
npm run eval      # live agent behavior evals (needs ANTHROPIC_API_KEY)

CI runs typecheck, tests and build on every push.

🀝 Contributing

PRs welcome β€” see CONTRIBUTING.md.

πŸ“„ License

MIT Β© 7XLabs

About

Open-source AI voice agent & AI receptionist β€” answers calls 24/7, books appointments, takes orders, speaks 8+ languages. Claude + Twilio + Next.js.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages