Voice AI product

AI Voice Receptionist

Zallo Receptionist—multi-tenant AI phone agent with NestJS APIs, Supabase, Vapi/Twilio, Stripe billing, and dual Next.js portals.

AI Voice Receptionist project preview

Background & Context

Missed calls after hours and during peak periods leak revenue for clinics, medspas, and service businesses. Full-time front-desk coverage is expensive; voicemail does not qualify leads, answer FAQs, or book appointments. Zallo Receptionist (brand zallo.ai, product SKU REC) is the voice AI product in the Zallo suite: platform operators onboard tenants; each business configures calendar, CRM, FAQs, and voice; callers talk to a Vapi-orchestrated assistant that can book, reschedule, cancel, and search FAQs against live tenant data.

Tekvers engineered a multi-tenant SaaS: NestJS 11 CQRS admin-api and client-api, Next.js admin-portal and client-portal, Supabase PostgreSQL (62 migrations) with Auth JWT and RLS, Twilio telephony, Vapi webhooks/tool-calling, Stripe subscriptions/entitlements, Docker Compose + Caddy production path, and a marketing site with apply funnel. An erp/ folder in the monorepo is a separate enterprise suite—not part of the voice compose runtime.

The shipped core is substantial: 100+ documented API routes, voice tools for services/providers/availability/appointments/FAQs, CRM contacts/segments/lead stages, SMS/email modules, POS paths, API keys, and outbound webhooks. Roadmap docs may describe future work; portfolio claims stick to controllers, migrations, and portal routes that exist.

The Challenge

SMBs needed always-on inbound call handling that books and answers from real business data—while a platform team needed safe multi-tenant onboarding, billing, and ops tooling. Without a coherent voice ai product foundation, AI Voice Receptionist stakeholders faced fragmented tools, slow handoffs, and limited visibility—classic failure modes Tekvers designs against.

The Solution

AI Voice Receptionist: Zallo Receptionist—multi-tenant AI phone agent with NestJS APIs, Supabase, Vapi/Twilio, Stripe billing, and dual Next.js portals. Always-on front-desk model that books against real availability and FAQs. Tekvers delivered a maintainable voice ai product system for AI Voice Receptionist using NestJS, Next.js, Supabase, TypeScript, with phased rollout, operator workflows, and documentation suited to long-term ownership.

Our Approach

  1. Tenant isolation & dual surfaces

    Platform users (`platform_users`) manage tenants, phone numbers, applications, billing catalog, and voice-ops via admin-api/portal. Tenant members use client-api/portal with granular permissions for calendar, CRM, FAQs, calls, team, and branding—statuses spanning onboarding / active / suspended.

  2. Voice tool-calling against live data

    Inbound Twilio/Vapi calls hit `POST /api/webhooks/vapi`. The API resolves the tenant by phone number, builds per-tenant assistant config (`VapiAssistantBuilder`), and executes tools: `listServices`, `listProviders`, `checkAvailability`, `bookAppointment`, `findAppointments`, `cancelAppointment`, `rescheduleAppointment`, `searchFaqs`, plus transfer/unavailable handling. End-of-call reports persist transcripts and outcomes.

  3. Billing, CRM, and suite-ready modules

    Stripe plans/features/addons with tenant checkout and customer portal; contacts with import/export, tags, segments, and lead stages; public booking links; Google/Microsoft calendar OAuth connectors; marketing site apply → `POST /api/public/tenant-applications`.

What We Delivered

  • Multi-tenant admin-api + client-api (NestJS 11 CQRS) with documented route catalog
  • Admin and client Next.js portals for platform ops and tenant configuration
  • Supabase PostgreSQL schema with Auth JWT and RLS policies
  • Vapi webhook pipeline with dynamic per-tenant assistant and booking/FAQ tools
  • Twilio SMS/voicemail webhook paths and phone-number assignment flows
  • Stripe subscription catalog, entitlements, and tenant self-serve sessions
  • CRM, scheduling, FAQ knowledge base, SMS/email, API keys, and webhooks modules
  • Docker Compose + Caddy deploy path; marketing site with apply/pricing/industries

Outcomes & Impact

  • Always-on front-desk model that books against real availability and FAQs
  • Centralized tenant lifecycle for platform operators (applications → phones → active)
  • Monetization path via Stripe plans and feature entitlements
  • Clear SKU boundary: Receptionist compose stack vs sibling ERP code in-repo

Businesses stop losing inbound demand to missed calls—Zallo Receptionist handles the first conversation with tool-backed booking and FAQ answers, while humans take over on transfer. Platform teams run many tenants from one Tekvers-built multi-tenant voice product.

Technology Stack

  • NestJS
  • Next.js
  • Supabase
  • TypeScript
  • Vapi
  • Twilio
  • Stripe

Services Delivered

Guides & articles from this niche

Planning a similar platform? Share your scope and we will map architecture, delivery phases, and a realistic timeline.