BFSI Voice Bots
Banks, NBFCs, and insurers deal with two things a generic chatbot doesn’t: money and regulation. A BFSI voice bot needs to explain loan products, quote indicative numbers, and walk a customer through eligibility, all without ever sounding like it’s guaranteeing an outcome the institution hasn’t actually approved.
This guide covers the architecture and guardrails common to BFSI voice bots, then walks through the Loan Advisory Agent example as the concrete implementation. For the collections side of BFSI (payment reminders, follow-ups), see the Collection Agent covered in the IVR / Contact Center guide.
In short: never let the bot state a guarantee, route reasoning-heavy questions to sarvam-105b and routine ones to sarvam-30b, and add a pronunciation dictionary for financial acronyms before launch.
Architecture
- Structured extraction from the LLM step: loan amount, tenure, product → CRM / LOS lookup
Identity and context
Most BFSI conversations need account or applicant context (existing customer vs. new lead, product type) before the LLM can give a specific answer. Fetch this before or during the greeting turn rather than mid-conversation. It avoids the bot promising numbers it then has to walk back.
Conversational advisory turn
STT, LLM, then TTS, as in any voice agent. The difference is the system prompt: it carries explicit compliance language (see Pitfalls) and instructs the LLM to give indicative ranges, not guarantees.
Structured extraction for handoff
When a customer wants to proceed (apply, schedule a callback), extract the structured details (product, amount, tenure) using Structured Outputs rather than parsing free text. Hand the result off to your CRM or loan-origination system.
Recommended models & params
Latency targets
- Follow the same streaming-first defaults as every vertical here: streaming STT, streaming TTS, and
min_endpointing_delay=0.07on LiveKit. - Budget extra time-to-first-token whenever you route a query to
sarvam-105bfor reasoning-heavy questions. Since this is a deliberate quality/latency trade-off, tell the user something’s happening: a short acknowledgement phrase (“Let me check that for you”) synthesized immediately while the LLM call is in flight keeps the pause from reading as a dropped call. - Keep routine turns (balance, due date, “what documents do I need”) on
sarvam-30bwithreasoning_effort=Nonespecifically so they stay fast. Don’t route everything through the higher-latency model by default.
Pitfalls
Sounding like a guarantee
Never let the bot say a loan is approved, a rate is final, or a claim will definitely pay out. The Loan Advisory Agent system prompt explicitly instructs the model to give indicative ranges and state that approval “depends on detailed assessment.” Copy that pattern rather than leaving it implicit.
Acronym pronunciation
“EMI,” “SIP,” “NBFC,” and your bank’s own abbreviations: none of these are guaranteed to be read the way you expect out of the box. Add a pronunciation dictionary scoped to each target_language_code you support before launch, not after a customer flags it.
Number formatting
Loan amounts and EMIs are exactly the kind of large numbers that need commas for correct pronunciation: 5,00,000 rather than 500000. See Key Considerations.
Treating this as a closed-domain bot
Customers will ask about disputes, fraud, or complaints mid-conversation. Build an explicit, low-friction escalation branch to a human rather than letting the LLM attempt a scripted answer to something it shouldn’t be resolving.
PII in logs and prompts
Account numbers, loan amounts, and personal financial details flow through your STT, LLM, and TTS calls. Make sure your logging, analytics, and any transcript storage follow the same data-handling standards as the rest of your BFSI stack. This is an application-layer concern: the API doesn’t enforce it for you.
Full example
The Loan Advisory Agent guide has the complete, runnable code (Pipecat-based). The compliance-relevant part of the system prompt:
This system prompt is a starting point, not a compliance sign-off. Have your legal/compliance team review the exact language before deploying a BFSI voice bot in production.
See also: IVR / Contact Center for the collections use case within BFSI.