Dealer Co‑Pilot (Tata Motors) — MVP
Requirements
Version: 0.1 (MVP)
Date: 22 Aug 2025
Owner: <Your Team / PO>
Stakeholders: Dealer Ops, Sales Excellence, Marketing, IT/Security, Regional Business Heads
1) Vision & Objectives
Vision: A multi‑channel Dealer Co‑Pilot that provides contextual next actions, resolves selection dilemmas,
and surfaces market performance insights for Tata Motors dealers. It should work on WhatsApp, a dealer-
facing app, and the web, powered by an enterprise MCP (tool) framework plus agentic RAG.
Primary Objectives (MVP): - Answer dealer questions on product, price, availability, and offers with high
accuracy. - Recommend next best actions (NBA) during lead handling (e.g., book test drive, generate
quote, share brochure). - Resolve selection dilemmas (variant/trim/finance choice) using customer
constraints and local inventory. - Surface quick insights (stock aging, top variants, pending bookings) at
the dealer level. - Do all of the above via WhatsApp and the dealer app UI with strict RBAC and audit
trails.
MVP Outcomes (success criteria): - ≥ 85% task completion for top 10 intents (see §4).
- < 2.5s median response for RAG answers; < 5s for tool+RAG actions.
- ≥ 90% factual accuracy on curated knowledge base (KB).
- ≥ 4.5/5 CSAT from pilot dealers.
2) In‑Scope vs Out‑of‑Scope (MVP)
In‑scope (MVP): - Channels: WhatsApp (Business API) and Dealer App (web/mobile) chat widget. - Core
intents: product Q&A, inventory/ETA checks, price & offers, lead/test‑drive booking, quote creation, simple
dealer insights. - Agentic RAG answering + tool use via MCP handlers (see §6).
- English + Hindi responses.
Out‑of‑scope (MVP): - Voice calling, advanced analytics dashboards, complex finance eligibility checks,
service/after‑sales workflows, OEM ERP write‑backs beyond lead/booking creation, omnichannel customer
handoff, multilingual beyond English/Hindi.
1
3) Personas & Roles (RBAC)
• Sales Consultant (SC): front‑line conversation with customers; creates leads, books drives, shares
quotes.
• Sales Manager (SM): approves special offers, views dealer insights, manages escalations.
• Dealer Principal (DP): roll‑up insights, KPI snapshots.
• OEM/HO User: content admin, model/offer updates; audit & monitoring.
Permissions are enforced via JWT/OAuth claims (role, dealer_id, location, channel).
4) Top Dealer Intents (MVP) — with Priority & Definition of Done
1. Product Q&A (P0): Specs/warranty/accessories.
DoD: Accurate answer with cited KB passages + link to brochure.
2. Variant Recommendation / Selection Dilemma (P0): Recommend a variant/trim based on budget/
fuel/body type, waiting period, and safety/feature asks.
DoD: Recommendation + rationale + 2 alternatives; indicates stock/ETA.
3. Price & On‑Road Estimation (P0): Ex‑showroom + RTO + insurance + mandatory accessories; apply
current schemes.
DoD: City‑specific breakup + PDFable quote skeleton.
4. Offers & Schemes (P0): Corporate/exchange/seasonal offers.
DoD: Validity window, eligibility notes; tool call for scheme ID.
5. Inventory & ETA (P0): VIN/variant/color availability at dealer; pipeline ETAs.
DoD: In‑stock list + next 30/60 day expected arrivals.
6. Lead Creation (P0): Create lead with contact; consent check.
DoD: Lead ID returned; WhatsApp opt‑in recorded.
7. Test‑Drive Booking (P0): Slot search and booking.
DoD: Confirmed slot + calendar invite link.
8. Quote Creation & Share (P1): Generate quote draft; share via WhatsApp/email.
DoD: Quote ID, downloadable PDF link.
9. Dealer Quick Insights (P1): Top sellers, aging stock, pipeline vs target.
DoD: A 5‑line summary with 3 actionable nudges.
10. Competitor FAQ (limited) (P2): Controlled answers against approved briefs.
DoD: Response limited to approved content; disclaimer footnote.
5) Channels & UX
WhatsApp: Menu chips for common actions; deep links for quote/test‑drive; one‑tap consent capture.
Dealer App Chat Widget (web/mobile): Rich cards (inventory tiles, offer cards), inline form modals (lead,
test‑drive), copy/share buttons.
Cross‑session state: Keep the last context (lead/customer) for 30 min inactivity; allow /reset.
2
Conversational patterns: - Clarify → Answer → Next Action triad.
- Citations for KB answers; reasoned recommendation for dilemmas; guardrailed tool calls with preview
before commit.
6) Architecture (Agentic + MCP + RAG)
High‑level components: - Conversation Orchestrator (LLM): plans, calls tools, composes answers;
supports English/Hindi. - RAG Subsystem: Indexer → Vector DB (with model/offer docs) → Retriever (MMR,
filters) → Context builder. - MCP Tool Layer (Handlers): secure tools with schema & RBAC.
- Channel Adapters: WhatsApp BAPI; Web/Mobile SDK. - Telemetry & Policy: Observability, PII redaction,
abuse filters.
Core Agents (logically): - Planner Agent: builds a plan (answer vs tool) and resolves slot‑filling.
- KB Answerer: retrieves + cites; hallucination guard (threshold on semantic match; abstain if low).
- Tool Agent: executes MCP handlers with parameter validation.
- Critic/Verifier: checks factual claims and price math; enforces policy & RBAC.
- Nudge/NBA Agent: computes next best actions from context (e.g., “Book test drive for Saturday
morning?”).
MCP Handlers (MVP list): - search_kb(query, filters?) → passages[] -
get_inventory(dealer_id, model?, variant?, color?, window_days?) → [{vin_masked,
model, variant, color, eta, status}] - get_price(city, model, variant,
onroad_breakup?) → {ex_showroom, rto, insurance, accessories_min, accessories_opt,
onroad} - get_offers(city, date?, corp_code?) → [{offer_id, title, valid_from,
valid_to, terms}] - create_lead(dealer_id, customer, consent) → {lead_id} -
book_test_drive(dealer_id, model, slot, customer) → {booking_id} -
create_quote(lead_id, price_obj, offer_ids[]) → {quote_id, pdf_url} -
get_insights(dealer_id, metric, window) → summary -
get_veals_allocations(dealer_id, model?, variant?, color?, window_days?) → [{model,
variant, color, allocation_qty, eta_window, status_code}] (read‑only; returns minimal fields)
Guardrails: - Tool calls require role & scope match; risky actions show a commit preview. - KB answers
must include citation score ≥ τ; otherwise “I don’t have a verified answer.” - Numeric outputs (price) run
through validation rules (city tax tables present; totals sum check).
Latency budget (targets): Retrieval ≤ 400ms; LLM gen ≤ 1.5s; tool call ≤ 2s; end‑to‑end P50 ≤ 2.5s
(RAG) / 5s (tool).
7) Knowledge Base (RAG) — Content, Ingest, Governance
Seed corpus (MVP): - Model brochures/specs, feature comparisons, color charts. - Warranty & service policy
extracts (sales‑relevant subset). - Pricing policy notes, city‑wise fee tables (controlled source). - Current
3
offers/schemes circulars. - Sales SOPs & objection‑handling briefs; competitor comparison one‑pagers
(approved).
Ingestion: nightly batch + manual “hot publish” for urgent circulars.
Chunking: 400–800 tokens with overlap; model/variant metadata tags; city/state tags for price content.
Embeddings: pluggable (OpenAI/BGE/Instructor); store in vector DB with metadata filters.
Citations: document title, section, last_updated.
Governance: Content owner approvals; versioning; expiry/validity fields; audit trail of changes.
8) Data & Integrations
Systems of Record (typical): - DMS/Inventory: in‑stock VINs, pipeline ETAs (dealer_id scoped). - CRM:
leads, contacts, bookings (read/write limited to dealer). - Pricing/Finance: ex‑showroom by city, RTO/
insurance tables, offers API. - VEALS (Vehicle Allocation & Logistics System): allocation windows, inbound
schedules, and status codes. Read‑only in MVP and proxied; never indexed into KB; masked at source.
Integration style (MVP): REST/GraphQL façade with cached reads; webhooks for updates where available;
all write ops idempotent. VEALS access via private link/VPN and mTLS; responses are field‑whitelisted
and redacted before reaching the LLM.
Sample API Contracts (mock):
GET /api/v1/inventory?dealer_id=DLR123&model=Nexon&window_days=30
→ 200 [{vin_masked:"**XXXXXX7890" , model:"Nexon", variant:"XZ+", color:"Grey",
eta:"2025-09-05", status:"in_stock"}]
GET /api/v1/price?city=Pune&model=Nexon&variant=XZ+
→ 200 {ex_showroom:1035000, rto:105000, insurance:42000, accessories_min:8000,
onroad:1182000}
GET /api/v1/veals/allocations?dealer_id=DLR123&model=Nexon&window_days=60
→ 200 [{model:"Nexon", variant:"XZ+", color:"Grey", allocation_qty:3,
eta_window:"2025-09-01..2025-09-15", status_code:"ALLOCATED"}]
POST /api/v1/leads
{dealer_id:"DLR123", customer:{name:"Akash", phone:"+91..."}, consent:true}
→ 201 {lead_id:"L-009812"}
8.1) VEALS Integration & Data Minimization (MVP)
Objective: Use VEALS for availability/ETA without exposing sensitive or regulated fields.
4
Allowed fields to UI/LLM: model, variant, color, availability_status, eta_window (date
range), allocation_qty (integer), dealer_city .
Always masked/blocked: full VIN, allocation IDs, internal route/vehicle IDs, staff IDs, customer PII, exact
truck/train details, GPS, comments/notes.
Access pattern: backend proxy → field allow‑list → policy checker → short‑lived cache (≤5 min) →
response to LLM/UI. No VEALS payloads in prompts/logs.
Write operations: None in MVP. Reservation/reallocation is out‑of‑scope.
Compliance: DPDP‑Act data minimization; audit logs store only request hashes and counts, never payloads.
9) Conversation Design — Key Flows
A. Selection Dilemma → Recommendation 1) Capture constraints (budget, fuel, body style, must‑have
features, waiting tolerance).
2) Retrieve KB for model shortlist; score by constraint fit.
3) Call get_inventory to filter by local availability/ETA.
4) Return Top 1 + 2 alternatives with pros/cons, ETA, on‑road estimate, and Next actions (book TD,
generate quote).
B. Price & Offers → Quote Draft 1) Retrieve city price via get_price ; fetch get_offers .
2) Compose on‑road with applied schemes (guardrails for eligibility).
3) Preview → create_quote (PDF link) → one‑tap share on WhatsApp.
C. Lead & Test‑Drive Flow 1) Check consent/opt‑in; create_lead .
2) Search slots; book_test_drive ; confirm and share invite.
Error handling: natural‑language apology + retry suggestion; log correlation_id.
10) Non‑Functional Requirements (NFRs)
• Security: OAuth2/OIDC, mTLS for server‑to‑server; PII encryption at rest; token‑scoped dealer
access.
• Privacy: WhatsApp opt‑in logging; “forget me” workflow; VEALS zero‑retention (no payloads in logs/
prompts; redaction at the proxy).
• Reliability: 99.5% uptime (pilot), graceful degradation (RAG only if tools down).
• Observability: traces for each tool call, prompt/response logging with PII hashing, dashboards for
latency/accuracy; data‑leak scanners on prompts.
• Localization: English/Hindi with consistent terminology.
5
10.1) Safety & Guardrails — Detailed
• Ask‑vs‑Act separation: model must generate a commit preview before any write (lead, TD, quote);
user confirmation required.
• RBAC/ABAC: enforce role + dealer_id + city; deny tool calls outside scope.
• Content filters: toxicity/hate/self‑harm; block; log; continue only if safe.
• PII/VEALS redaction: NER‑based scrubbing + allow‑list renderer; blocked fields never reach prompts
or UI.
• Citation threshold τ: abstain or ask clarification if retrieval score < τ; show "I don’t have a verified
answer" with KB links.
• Schema validation: all tool I/O validated against JSON Schema; reject/repair strategy with explicit
error messages.
• Rate limits & quotas: per user and per dealer; exponential back‑off; circuit breaker on failing
backends.
• Numerical verifiers: deterministic price and tax calculators cross‑check LLM math; failure → return
calculator output with note.
• Prompt hardening: instruction sandwich; tool‑only functions listed; ignore user‑supplied tool
names; strip Markdown links to unknown hosts.
• Auditability: immutable logs with correlation_id; red‑team playbook; monthly penetration tests.
11) Metrics & Telemetry
• Conversation: #sessions, avg steps, fallback rate, handoff rate.
• Quality: answer accuracy (human‑rated), tool success rate, quote math validation pass‑rate.
• Business: TD bookings/SC uplift, quote‑to‑sale conversion proxy, aging stock reduction.
12) Testing & Evaluation Plan
12.1 Offline evaluations (pre‑pilot): - Retrieval quality: Recall@k (k∈{3,5,8}), nDCG@k, MRR; per‑tag
breakdown (model/variant, city, offer). Target: Recall@5 ≥ 0.9, nDCG@5 ≥ 0.85. - Groundedness/
factuality: Human‑labeled set of 200 prompts; rate exact‑match answers and citation correctness. Target:
≥90% factual; ≥95% correct citation spans. - Math/verifier tests: Price compositions, discount math,
totals, and tax tables; property‑based tests with fuzzed inputs. Target: 100% arithmetic pass on golden set. -
Tool contract tests: JSON Schema validation of tool I/O; negative tests (missing fields, out‑of‑scope city).
Target: 0 schema violations. - Hindi quality: BLEU/chrF proxies + human fluency/adequacy on 40 prompts.
Target: ≥4/5 average. - Safety red‑team: jailbreak attempts, prompt injection, data‑leak prompts (VEALS/
PII). Target: 0 critical leaks, ≤2% low‑severity issues.
12.2 Online evaluations (pilot): - Task completion for top 10 intents; P50/P95 latency per intent; fallback
rate; tool‑success rate. - Human‑in‑the‑loop rating: 5‑point rubric after randomly sampled sessions; weekly
calibration. - Business proxies: test‑drive booking rate, quote share rate, time‑to‑quote; compare to control
dealers. - Safety monitors: real‑time detector for PII/VEALS fields; auto‑page SRE on violation.
6
12.3 Golden set governance: - Curate from synthetic + sanitized historical queries; versioned; 20% Hindi;
add adversarial cases monthly. - Track metric drift; trigger retraining/threshold updates when ±5% deviation
persists 7 days.
12.4 Experimentation: - A/B prompt templates; retrieval re‑ranker on/off; tool‑call planner depth 1 vs 2;
Hindi post‑edit vs raw. - Guardrail threshold sweeps (semantic‑match τ, toxicity τ) with Pareto plots of
accuracy vs refusal.
13) Rollout Plan (6 weeks MVP)
• W1: Confirm scope, access to APIs, seed corpus; define schemas; RBAC design.
• W2: Build ingestion + vector store; implement search_kb ; stub MCP handlers.
• W3: WhatsApp + web chat adapters; implement get_price , get_offers , get_inventory
(read‑only).
• W4: Lead + TD booking writes; quote PDF; Hindi responses; critic/validator.
• W5: Tuning prompts/guardrails; golden set eval; dealer UAT.
• W6: Pilot go‑live (3 dealers); dashboards; runbook & training.
14) Acceptance Criteria (MVP)
• Functional: Each P0 intent demonstrably completes E2E within latency budgets with RBAC enforced;
RAG answers have ≥ 1 citation.
• Quality: ≥ 90% accuracy on golden set; ≤ 10% fallback rate; tool success ≥ 95% (non‑network
errors).
• Security/Privacy: All PII encrypted; audit logs immutable; WhatsApp consent captured; automated
checks confirm that only allow‑listed VEALS fields appear in prompts/UI.
• Operations: Dashboards live; on‑call & incident runbook ready; content governance workflow
operational.
15) Risks & Mitigations
• Stale price/offer data: add validity windows; show last‑updated; allow manual hot‑publish.
• Inventory API gaps: cache + mark freshness; clearly label ETA confidence.
• Hallucinations: enforce citation threshold; abstain; fall back to snippets.
• Tool misuse: strict RBAC + commit previews; rate limits; anomaly alerts.
• Hindi nuances: curated bilingual lexicon; evaluate on Hindi subset.
• Data leakage (VEALS/PII): proxy redaction, allow‑list renderer, prompt scrubbers, zero‑retention
logs; regular red‑team tests.
7
16) Operating Model
• Owners: PO (scope), Tech Lead (arch), Content Owner (KB), Channel Owner (WhatsApp), Security
Owner.
• Runbook: incident response, hotfix flow, content rollback, red‑flag escalation (compliance).
17) Implementation Details (Reference)
LLM: pluggable provider via abstraction; temperature ≤ 0.3 for facts, ≤ 0.6 for recommendations.
Embeddings: e5/BGE/OpenAI; dimension auto‑handled by vector DB.
Vector DB: Pinecone/pgvector/Qdrant (choose 1).
Orchestration: LangGraph or in‑house state machine; MCP for tools.
Backend: FastAPI/Node; Redis cache; Postgres for ops data; S3/Blob for PDFs.
Frontend: React (web) and React Native (mobile) chat widget.
Prompt Skeletons: - System: “You are Dealer Co‑Pilot for Tata Motors. Always cite the KB for factual claims.
If confidence < threshold, request clarification or abstain. Respect role, dealer_id, city. When
recommending, list top pick + 2 alternatives with reasons and ETA. Offer next actions using tool names.
Never expose blocked VEALS fields (VIN full, allocation IDs, logistics details).” - Tool call template:
“Before calling a tool, summarize intent and parameters. After tool result, verify math; then propose next
action. Conform to the field allow‑list when rendering VEALS data.”
Example Next Actions (chips): Book Test‑Drive , Create Quote , Share Brochure ,
Show Similar In‑Stock , Apply Offer .
18) Appendix
A) Golden Intents — sample prompts (EN/HIN): Product spec queries; variant comparisons; price
breakdown for <city>; current offers; inventory/ETA for <model>; lead creation; TD booking; quote
generation; quick insights.
B) KB Metadata Fields: doc_id, title, section, city, model, variant, last_updated,
valid_from, valid_to .
C) Validation Rules: price totals must equal component sum; offers only within validity; consent required
for outbound share; phone format E.164.
D) Glossary: RAG, MCP, NBA, RBAC, ETA, CSAT.
19) Phase 2 (P2) Scope & Roadmap
Objective: Extend from assistive Q&A + simple actions to proactive, personalized selling and deeper
integrations.
8
P2 Intents (additions): - Finance Pre‑Check (read‑only): EMI calculators, bank tie‑ups, eligibility heuristics
(no bureau calls). - Accessory/Cross‑sell: recommend packs by model/usage; add to quote. - Competitor
Compare (expanded): curated, versioned briefs with auto‑citations; gap analysis cards. - Campaign/NBA
2.0: nudge to push aging stock; time‑bound offers; target lists from CRM segments. - Post‑TD Follow‑ups:
templated outreach via WhatsApp with opt‑in. - Voice beta: mobile app mic input with partial transcripts
(no call integration yet).
P2 Channels/UX: - Richer cards (compare tables), quote configurator, finance sliders, persistent customer
thread.
P2 Integrations & MCP Handlers: - calc_emi(amount, rate, tenure) → {emi, total_interest}
- list_accessories(model, variant) → [items] -
recommend_accessories(model, profile) → [items] - get_campaign_targets(dealer_id,
rule) → [contacts] - send_whatsapp_template(contact_id, template_id, vars) →
{msg_id}
P2 Architecture Enhancements: - Re‑ranker (cross‑encoder) on retrieval; lightweight session memory
store; feedback‑to‑training loop. - Guardrail policies expressed as Rego (OPA) for consistency across
services.
P2 Metrics Targets: - Task completion ≥ 90% on expanded intents; P50 < 2.2s on RAG flows. - +10–15%
uplift in TD bookings vs MVP pilot; +5% quote share rate.
P2 Acceptance Criteria: - All P0 + new P2 intents pass E2E; leakage monitors clean for 30 days; zero P1
security incidents.
Out‑of‑Scope for P2 (future P3): service/after‑sales cases, DMS writebacks for invoicing, full telephony
integration, credit bureau checks.
One‑Slide Executive Summary (MVP)
What: WhatsApp + Dealer‑app Co‑Pilot that answers, recommends, and acts.
How: Agentic RAG + MCP tools (inventory, price, offers, lead, TD, quote).
Win: Faster decisions, fewer errors, higher TD/quote conversion, clear insights.
6‑week pilot with 3 dealers; measure accuracy, latency, completion, and uplift.