A coaching institute's front desk fields the same 20 questions on WhatsApp all day: fees, batch timings, demo classes, syllabus, location. During admission season a Jaipur NEET-coaching centre we worked with was missing enquiries after 7 PM simply because nobody was on the phone. We built a WhatsApp FAQ bot on Claude Haiku and the Meta Cloud API that answers admissions questions instantly, captures the lead's name and target exam, and hands off to a human when it's unsure. One weekend, and utility-template replies inside the 24-hour window are now free. Here's the build.
~20
Repeat questions the bot now answers
₹0
Per reply inside the 24-hour service window (post Jul 2025)
24/7
After-hours enquiry capture
2 days
Weekend build to live on the number
## How do you build a WhatsApp FAQ bot for a coaching institute?
Connect the Meta WhatsApp Cloud API to a small backend, route each incoming message to Claude with the institute's fees, batches, and syllabus as context, and reply with a grounded answer. Add a confidence-based fallback that hands off to a human for anything off-script, and capture the sender's name and target exam as a lead. With the institute's number verified, a weekend is enough to ship a working v1.
## Why this matters now (May 2026)
Two things changed the math. First, Meta's July 2025 pricing update made WhatsApp billing per-message and — this is the part that matters — made utility-template and service replies inside the 24-hour customer-service window free. That means answering a student who messaged you first costs nothing for Meta's part. Second, fast, cheap models like Claude Haiku make grounded FAQ answers affordable at a fraction of a paisa per reply. For an Indian coaching institute, where admission enquiries spike at night and on weekends, an always-on bot that captures leads is the difference between a filled batch and an empty seat. Our in-house edtech product
PenLeap taught us how parents and students actually phrase these questions — we reused that intent map here.
The timing matters because WhatsApp is where Indian admission enquiries already happen. Parents don't fill web forms or wait on hold — they message the number on the hoarding or the one a friend forwarded. Before the pricing change, automating those replies meant paying per conversation, which made an always-on bot a cost centre that finance pushed back on. Now that inbound replies inside the window are free, the objection disappears: the bot pays for itself on the first extra enrolment it catches, and everything after is upside. That shift is why a project that was hard to justify in 2024 is an easy yes in 2026.
## The 4 things this bot must get right
A FAQ bot for admissions isn't a chatbot toy. Get these four right and parents trust it; get them wrong and you've automated annoyance.
🎯
Intent routing
Sort each message into fees, batches, demo booking, syllabus, location, or "other". Claude classifies intent, so phrasing like "kitni fees hai" and "what's the cost" both land on fees.
📚
A grounded knowledge base
Answers come only from the institute's real fees, batch timings, and syllabus passed as context. The bot never invents a discount or a class that doesn't exist.
🤝
A clean human fallback
When confidence is low or a parent asks something off-script ("can we pay in installments?"), the bot offers a callback and pings the admissions team — it never guesses.
📝
Lead capture
Every conversation quietly logs name, target exam, and class, then writes a lead row. A filled enquiry beats a perfect answer the institute can't follow up on.
## What you'll need
A weekend build, assuming the WhatsApp number is already verified. Verification through Meta can take a few days, so start that first.
Prerequisites
- A Meta Business account + verified WhatsApp Business number (start verification early)
- WhatsApp Cloud API access + a permanent access token
- A backend to receive webhooks (Node/Python on a ₹740/month VPS, or a serverless function)
- A Claude API key (Haiku is enough for FAQ routing)
- The institute's real KB: fees by course, batch timings, demo slots, syllabus, address
- A Google Sheet, Notion, or CRM for the captured leads
## The weekend build (step by step)
Build it in this order and test each piece before moving on. The hardest part is the webhook handshake, so get that green first.
1
Step 1: Verify the webhook with Meta
Point the Cloud API webhook at your backend URL. Meta sends a GET with a verify token; echo back the challenge to complete the handshake. Verification: the webhook shows "verified" in the Meta dashboard and a test message hits your endpoint as JSON.
2
Step 2: Echo a reply through the Send Message API
On any inbound message, call the Cloud API /messages endpoint to send a fixed reply. This proves your token, phone-number ID, and send path all work. Verification: you message the business number and get an automated reply back within a second or two.
3
Step 3: Add Claude with a grounded system prompt
Replace the fixed reply with a Claude call. The system prompt contains the institute's fees, batches, and syllabus, plus a hard rule: "Answer only from the facts above. If the answer isn't here, say you'll connect them to the team." Verification: ask about a real fee and get the right number; ask about something absent and get the fallback, not a hallucination.
4
Step 4: Classify intent + handle the fallback branch
Have Claude return a small JSON object: { "intent": "...", "answer": "...", "needs_human": true|false }. When needs_human is true, send a "Our team will call you shortly" reply and notify admissions. Verification: an off-script question ("EMI option?") sets needs_human true and triggers the handoff.
5
Step 5: Capture the lead
Across the conversation, collect the sender's name, target exam, and class with one or two natural questions, then write a row to your Sheet/CRM with their WhatsApp number. Verification: a completed chat produces exactly one lead row with phone, name, and exam filled in.
6
Step 6: Respect the 24-hour window + templates
Free-form replies are allowed only within 24 hours of the user's last message. To re-engage later (e.g. "your demo is tomorrow"), use an approved utility template. Verification: replies to a fresh message are free-form; a follow-up after 24 hours correctly uses a template.
Free-window math (post Jul 2025): A student messages first, so your replies fall inside the 24-hour service window — free on Meta's side. You only pay for business-initiated templates (a utility message in India is roughly ₹0.115 plus your BSP's markup). For an inbound-heavy admissions bot, most replies cost you nothing but the Claude token.
## The 4 mistakes that get a coaching bot uninstalled
We've seen each of these turn a helpful bot into a complaint. They're all avoidable.
1. Letting the bot invent fees or discounts. An ungrounded model will confidently quote a wrong number, and a parent will hold you to it. Hard-rule the prompt to facts-only and add the human fallback. 2. No human escape hatch. Parents asking about installments, scholarships, or a sick child need a person — a bot that loops them is worse than no bot. 3. Spamming templates outside the window. Blasting marketing templates gets your number quality rating downgraded and risks a block. 4. Ignoring Hinglish. Real enquiries are "sir NEET ki batch kab start hogi" — test on actual code-mixed messages, not clean English, or your intent routing falls apart.
## What it costs to run, per conversation
The post-July-2025 pricing makes inbound bots cheap. Here's the breakdown for a typical admissions chat.
| Cost component | When it applies | Approx. cost |
| Reply inside 24h service window | Student messaged first | ₹0 (Meta side) |
| Claude Haiku tokens / reply | Every AI answer | Fraction of a paisa |
| Utility template (business-initiated) | Reminders, follow-ups | ~₹0.115 + BSP markup |
| VPS hosting | Always-on backend | ~₹740/mo total |
| BSP platform fee | If you use a BSP vs raw Cloud API | Varies (10–30% markup) |
## Real example: filling the night shift
Before the bot, the Jaipur centre's enquiries dropped to near zero after 7 PM. After launch, after-hours messages got an instant grounded answer and a logged lead, and the admissions team started each morning with a queue of warm enquiries instead of a silent inbox. As
Hrishikesh, our CTO, puts it: the win isn't replacing the front desk, it's catching the parent who only had time to ask at 10 PM.
Admission enquiries have a brutal half-life. A parent comparing three coaching centres will message all three and enrol with whoever answers first and clearest. When your centre is the one that stayed silent until morning, the other two have already booked the demo. The bot doesn't need to be smarter than your counsellor — it needs to exist at 10 PM when the parent is finally free and the counsellor has gone home. Speed of first reply, not depth, is what converts at this stage. We build these on the same conversational stack behind
TalkDrill, our in-house English-speaking app (see the
TalkDrill build for the architecture), and the broader pattern is what our
AI and automation team ships for service businesses. For a retail variant of this bot, see our weekend build of a
WhatsApp order-bot for a sweet shop; for a Hindi-NLU walkthrough, our
Hindi-first chatbot tutorial pairs well.
## Frequently asked questions
### How much does a WhatsApp FAQ bot cost to run for a coaching institute?
Very little for an inbound bot. Since July 2025, replies inside the 24-hour customer-service window are free on Meta's side, so you mostly pay fractions of a paisa in Claude tokens plus ~₹740/month for hosting. You're only charged for business-initiated utility templates, roughly ₹0.115 each plus any BSP markup.
### Do I need the official Cloud API or a BSP?
Either works. The raw Meta Cloud API is cheapest and gives full control but needs developer setup. A BSP (Business Solution Provider) adds a dashboard and easier onboarding for a 10–30% per-message markup — good if you don't have a developer to maintain the integration.
### How do I stop the bot from inventing fees or class timings?
Ground it. Pass the institute's real fees, batches, and syllabus in Claude's system prompt with a hard rule to answer only from those facts and to defer to a human otherwise. Pair that with a confidence-based fallback so anything off-script triggers a callback instead of a guess.
### Can the bot understand Hinglish enquiries?
Yes. Claude handles code-mixed Hindi-English well, which matters because real admission enquiries are phrased like "NEET ki batch kab start hogi". Test intent routing on actual Hinglish messages rather than clean English so the classifier holds up in production.
### How long does it take to build?
A weekend for a working v1, assuming your WhatsApp Business number is already verified. Start Meta's number-verification process early, since that approval can take a few days and is the main thing outside your control.
### What's the 24-hour window and why does it matter?
WhatsApp lets you send free-form replies only within 24 hours of a user's last message — the customer-service window. Inside it, and especially for utility messages, replies are free post-July-2025. Outside it, you must use a pre-approved template to re-engage, which is what business-initiated charges apply to.
Want a WhatsApp bot live on your number this month?
We build grounded WhatsApp FAQ and lead-capture bots for coaching institutes and service businesses — intent routing, human fallback, and CRM logging included. Typical project: ₹45k–₹85k. Suitable if you're losing after-hours enquiries to a silent inbox.
Book a 20-min Call