Skip to content

7XLabs/Aiva

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

287 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

License

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors