Skip to content

Repository files navigation

🚀 Nova — Zero-Click AI Multi-Agent CRM

AI-Powered, Voice-First, Self-Updating CRM built on Google Cloud

Nova eliminates manual CRM data entry by listening to sales communications and automatically extracting structured CRM fields using AI. Instead of typing notes, logging calls, or updating deal stages, Nova transcribes conversations, extracts contacts, deals, sentiment, and action items, and persists everything into BigQuery with zero human input.

Built for the VC Big Bets Track hackathon. Nova demonstrates how modern AI infrastructure can remove the administrative burden that makes most CRMs go stale.


🤔 Why This Exists

Traditional CRMs like Salesforce and HubSpot are powerful, but they depend on humans entering data consistently. In practice, that doesn't happen. Sales teams spend hours logging calls, typing meeting notes, updating deal stages, and filling contact fields. The result is incomplete CRM data, lost follow-ups, stale pipelines, and teams spending more time feeding the CRM than actually selling.

The insight behind Nova came from talking to sales teams during a hackathon: they don't lose deals because of bad conversations. They lose them because nothing gets logged after the call. The information exists — it's in the call recording, the email thread, the voice note. It just never makes it into the CRM.

Nova solves this by treating every communication as a data source. Calls get transcribed, emails get parsed, and AI extracts the structured fields that a CRM needs — automatically, in real-time, with no forms, no dropdowns, and no typing.


🏗️ Architecture

Nova System Architecture


🤖 The 5 AI Agents

Nova is built as a multi-agent system where each agent owns a specific responsibility in the pipeline. This separation matters because each stage has different failure modes, latency requirements, and scaling needs.

1. Ingestion Agent

Receives raw communications from all sources (emails, Zoom transcripts, voice notes, call recordings) and routes them into the AI pipeline. Acts as the entry point that normalizes different input formats into a standard structure the downstream agents can process.

2. Transcription Agent

Converts audio recordings into text using Google Cloud Speech-to-Text. Supports WAV, MP3, and FLAC formats. We chose Google's ASR over alternatives like Whisper because of its native GCP integration, streaming support, and strong performance on conversational audio with multiple speakers.

3. Extraction Agent

The core intelligence layer. Powered by Gemini 2.5 Pro on Vertex AI, it takes transcribed text and extracts structured CRM fields: contact name, company, deal value, follow-up date, next action, sentiment, and deal stage.

Why Gemini on Vertex AI? Three reasons:

  • Structured output reliability — Gemini handles JSON schema enforcement well, which is critical when the output feeds directly into BigQuery without human review
  • Long context window — sales calls can be 30-60 minutes; Gemini handles the full transcript without chunking
  • Vertex AI integration — native deployment on GCP means no cross-cloud latency and straightforward auth/monitoring

We engineered structured prompts with explicit field definitions, edge case handling, and format constraints to ensure reliable extraction across varied input formats (short emails vs. hour-long calls vs. informal voice notes). Achieving 92% field population accuracy required iterating on prompt design, not model switching.

4. Data Freshness Agent

Monitors for signals that CRM data is going stale: job title changes, response gaps, calendar changes, and external company updates. Automatically flags at-risk relationships and updates fields without human intervention. This is what separates Nova from a one-time extraction tool — it keeps the CRM alive over time.

5. AI Search & Insights Agent

Uses embeddings + Vertex AI Matching Engine for vector search over all CRM data. Enables natural language queries like:

  • "Show me all CTOs contacted last month"
  • "Which deals are at risk?"
  • "Summarize investor conversations this quarter"

Achieves <200ms RAG search latency by pre-computing embeddings at ingestion time and storing them in Vertex AI's vector index, so search is a nearest-neighbor lookup, not a full re-embedding.


🛠️ Tech Stack & Why Each Choice

Component Tool Why
Backend Python, FastAPI FastAPI for async request handling and auto-generated API docs. Records persist directly into BigQuery via FastAPI microservices, eliminating a separate ETL layer
Frontend Next.js Server-side rendering for fast initial load, React components for interactive CRM dashboard
LLM Gemini 2.5 Pro (Vertex AI) Long context, structured output, native GCP integration
Speech-to-Text Google Cloud Speech-to-Text Multi-format ASR (WAV, MP3, FLAC), speaker diarization, GCP-native
Vector Search Vertex AI Matching Engine Managed vector index with low-latency ANN search, scales without infra management
Database BigQuery Serverless, handles analytical queries over growing CRM data without provisioning, integrates with Vertex AI
Containerization Docker Consistent environments across dev/staging/prod
Deployment Google Cloud Run Serverless container deployment, scales to zero when idle, auto-scales under load

⚡ Performance

Metric Result
Daily communications processed 10,000+
Concurrent requests supported 1,000+
RAG search latency <200ms
CRM entry time reduction 80%
Structured extraction accuracy 85–92%

🔄 Example Workflow

Zoom call ends
       │
       ▼
Transcript generated via Speech-to-Text
       │
       ▼
Gemini extracts structured CRM fields
(contact, company, deal value, sentiment, next steps)
       │
       ▼
BigQuery updated via FastAPI (no manual entry)
       │
       ▼
Vector index refreshed with new embeddings
       │
       ▼
Deal stage & relationship risk auto-recalculated

🔑 Key Design Decisions

Why no separate ETL layer? Traditional CRM pipelines extract data, transform it in a staging layer, then load into the database. Nova skips this by having the Extraction Agent output structured JSON that maps directly to the BigQuery schema. FastAPI validates and persists in one step. Fewer moving parts means fewer failure points and faster time-to-data.

Why structured prompts over fine-tuning? We considered fine-tuning Gemini on CRM-specific data but found that well-engineered structured prompts with explicit field definitions achieved 92% accuracy without the overhead of training data collection, model management, and retraining pipelines. For a hackathon-to-production path, prompt engineering was the right tradeoff.

Why multi-agent over monolithic? Each agent can fail, retry, and scale independently. If the Transcription Agent hits a rate limit, it doesn't block the Extraction Agent from processing already-transcribed data. If we need to swap Google Speech-to-Text for Whisper, only one agent changes. This modularity made rapid iteration during the hackathon possible and keeps the system maintainable long-term.


🚀 Future Roadmap

  • Fine-tune Gemini models on domain-specific CRM datasets for higher extraction accuracy
  • Add reinforcement learning for deal-risk scoring based on historical outcomes
  • Slack and WhatsApp live integrations for real-time capture
  • Real-time investor pipeline dashboard with streaming updates
  • Relationship strength scoring model using interaction frequency, sentiment trends, and response patterns

👩‍💻 Authors

  • Anusree Mohanan — MS in Information Systems, Northeastern University
  • Tanvi Kadam — MS in Applied Machine Learning, Northeastern University

📄 License

MIT

About

Nova is a Zero-Click CRM powered by AI agents that automatically converts conversations into structured customer intelligence. Built on Google Cloud with Vertex AI and semantic search, Nova processes thousands of communications daily, eliminates manual CRM updates, and delivers real-time relationship insights.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages