Customers in Nepal message businesses on Facebook Messenger, WhatsApp, Viber, Instagram and websites at all hours. A well-planned chatbot can answer routine questions instantly, collect orders and leads, and hand difficult cases to staff. A poorly planned one frustrates customers and damages trust. This guide covers planning steps, language challenges and pitfalls specific to the Nepali context.
Step 1: start with real conversations
Export or review 200 to 500 recent customer messages across channels. Group them by topic and count frequency. Most businesses discover that a handful of questions dominate:
- Price and availability ("Yo kati parcha?")
- Delivery areas, time and charges
- Payment methods (eSewa, Khalti, bank transfer, cash on delivery, IME Pay and others)
- Opening hours and location
- Order tracking
- Return or exchange policy
- Appointment or booking requests
Your first bot should cover these well, nothing more.
Step 2: choose the channels
Where do your customers already talk to you?
- Facebook Messenger and Instagram: very common for retail, food, beauty and services.
- WhatsApp and Viber: popular for direct communication; business APIs have rules, costs and approval steps that vary, so check the current terms.
- Website chat widget: good for visitors and lead capture.
- SMS or voice: useful in areas with low internet use, though more limited.
- Telegram: easy for prototypes.
Start with one channel and expand. Each platform has its own policies and technical constraints.
Step 3: handle Nepali, English and romanised Nepali
Customers write in several ways:
- English
- Nepali in Devanagari
- Romanised Nepali ("delivery kati din lagcha?")
- A mix of all, with spelling variations ("kati/kati/kati", "cha/chha")
Options:
- Rule and keyword matching with synonyms lists for romanised variants works for simple FAQs.
- Embedding-based matching with a multilingual model can recognise similar meaning across languages, with testing on romanised text.
- Language models can understand mixed text and generate friendly replies, but they need clear instructions and grounding in your facts.
- Normalisation: convert to lower case, remove extra spaces, map common spelling variants.
Always test with real messages from your customers, including typos.
Step 4: decide the bot's role and limits
Write down:
- What the bot can answer and do (FAQs, product details, order status, booking)
- What it must not do (negotiate prices, promise delivery times it cannot confirm, give medical or legal advice)
- When it hands over to a human (anger, complaints, payment problems, repeated misunderstanding, explicit request)
- Office hours for human handoff and how you handle messages outside them
Honesty matters: say that it is an automated assistant and let people reach a human easily.
Step 5: prepare the knowledge
Create a clean, up-to-date source of truth: a spreadsheet or document with products, prices, delivery rules, policies and hours. For a language-model bot, use retrieval (RAG) so the bot answers from this content and says "I don't know" otherwise. Assign someone to update it whenever prices or policies change. Out-of-date answers about price or stock are a major source of complaints.
Step 6: connect to your business systems
The biggest value comes when the bot can do things, not just talk.
- Check stock and price from your inventory or billing system
- Create an order or a lead in your CRM
- Look up order status using order number plus phone verification
- Book appointments
- Send a payment link or details
When building ERP and billing systems, I find a thin, well-documented API layer is the key: the chatbot calls the same secure endpoints as the web and mobile apps, with authentication and rate limits, rather than touching the database directly.
A simple FAQ matcher
This example uses a multilingual embedding model to match a customer message to the closest FAQ, and falls back to a human when unsure.
import numpy as np
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("paraphrase-multilingual-MiniLM-L12-v2")
FAQS = [
("How long does delivery take?", "Inside Kathmandu valley we deliver in 1 to 2 days. Outside the valley it takes 3 to 5 days."),
("What payment methods do you accept?", "We accept cash on delivery, eSewa, Khalti and bank transfer."),
("What are your opening hours?", "We are open from 9 am to 7 pm every day except Saturday."),
]
vectors = model.encode([q for q, _ in FAQS], normalize_embeddings=True)
def reply(message: str, threshold: float = 0.5) -> str:
v = model.encode([message], normalize_embeddings=True)[0]
scores = vectors @ v
best = int(scores.argmax())
if scores[best] < threshold:
return "Sorry, I am not sure. I will connect you with our team."
return FAQS[best][1]
print(reply("delivery kati din lagcha?"))
print(reply("tapai haru kati baje samma khulcha"))
Test thresholds with many real examples, including romanised Nepali, and review failed matches weekly.
Pitfalls to avoid
- Trying to cover everything on day one. Launch with a narrow scope.
- No human handoff. Customers hate being trapped.
- Outdated information. Wrong prices or stock status cause disputes.
- Ignoring romanised Nepali and typos.
- Over-promising with AI. Hallucinated delivery dates or discounts can create obligations or anger.
- Collecting sensitive data carelessly. Do not ask for passwords, card numbers or OTPs. Keep phone numbers and addresses secure.
- Poor tone. Match your brand's respectful, friendly voice; avoid machine-like replies. Use the right honorific level (tapai).
- Not measuring. Track resolution rate, handoffs and unanswered questions.
- Platform dependency. Rules and costs of messaging platforms change; keep your customer data and logic independent.
- Spam-like behaviour. Do not send unsolicited bulk messages. Follow platform policies and local rules on marketing messages.
Privacy and trust
Tell customers what data you collect and why. Store only what you need, restrict access, and follow applicable data-protection laws and platform policies. If using an external AI provider, check how prompts and customer data are handled.
Launch and improve
- Test internally with staff and a few friendly customers.
- Launch quietly on one channel and monitor every conversation at first.
- Add the most common unanswered questions to the knowledge base.
- Review metrics weekly, then monthly.
- Expand features gradually: order tracking, booking, payments.
Costs to consider
- Platform and messaging fees
- AI model usage if applicable
- Development or no-code tool subscription
- Staff time for content updates and monitoring
Compare these with the time saved and the extra sales captured from after-hours replies.
Frequently Asked Questions
Do I need a programmer?
Simple FAQ bots can be built with no-code tools. Integrations with your own systems usually require development.
Can a chatbot understand Nepali?
Many modern models can handle Nepali reasonably, but quality varies, especially for romanised or mixed text. Test with real messages.
Will customers accept a bot?
Many do for quick answers if it is helpful and a human is available when needed.
How much does it cost?
From very low for simple tools to larger budgets for custom AI systems with integrations. Start small and measure the benefit.
Conclusion
A good Nepali business chatbot starts from real customer questions, covers a narrow scope, understands local language habits, uses accurate up-to-date information and offers a smooth handoff to people. Launch small, measure and improve.