Voice calling agent
A multi-tenant agent that answers inbound calls and runs outbound campaigns to book appointments, in English and Hindi.
Architecture and build: API, queue workers, post-call processing, dashboard.
Dashboard
A Next.js dashboard for onboarding, campaign setup, contact upload and call logs.
Core API
Fastify and TypeScript: clients, campaigns, contacts, and the webhook that receives every call event. API keys for programs, sessions for dashboard users.
Store
PostgreSQL with five tables: clients, campaigns, contacts, calls and appointments.
Queues
BullMQ on Redis, one queue per concern: outbound calls, post-call processing and notifications.
Voice layer
Vapi handles speech in both directions and calls back into the API for the calendar tools.
Post-call processor
Turns the call-ended event into a stored transcript, an outcome, an email and a webhook call.