An AI consulting chatbot grounded in company knowledge answers questions about prices, services, opening hours, policies, and products using your data — not whatever the model invents. In Botconsole you combine AI dialog nodes, strict prompts, and integrations (Google Sheets, Drive, Airtable, Supabase, custom APIs) so answers stay accurate.
This guide covers: what to put in the knowledge base, canvas patterns that prevent hallucinations, what “RAG” means in practice, and which Botconsole-connected services you can use.
What “consulting on company data” means
Typical questions the bot must answer only from approved sources:
| Topic | Example user message | Source of truth |
|---|---|---|
| Prices | “How much is the Pro plan?” | Price list sheet / CMS |
| Services | “Do you do teeth whitening?” | Service catalog |
| Hours | “Are you open Saturday?” | Schedule table |
| Policies | “What’s your refund window?” | Policy FAQ |
| Contacts / address | “Where are you located?” | Locations sheet |
| Live status | “Where is order 1024?” | Orders sheet / API |
If the answer is not in the source, the bot must say it does not know and offer a human handoff — never invent a price or a clinic address.
Why plain ChatGPT-style bots hallucinate
Large language models are trained to sound helpful. Without constraints they will:
- Invent package names and prices
- Guess opening hours
- Mix your brand with competitors
- Fabricate “according to your website” claims
Grounding fixes this: the model may only use text you retrieve or inject for this turn.
Three levels of grounding (from simple to advanced)
Level 1 — Prompt knowledge (small FAQs)
Put a short, curated company brief into the AI system prompt:
- Legal name, cities, languages
- Top 10 FAQs with exact answers
- Hard rules: “Never invent prices. If unknown, say so.”
Pros: fastest to ship.
Cons: breaks when the catalog is large or changes weekly.
Best for: 1–2 pages of stable facts.
Level 2 — Lookup before AI (structured “RAG-lite”)
On the Botconsole canvas:
- User asks a question.
- Classify intent (AI or buttons): pricing / hours / services / other.
- Integration node loads the relevant rows (Google Sheets, Airtable, Supabase).
- AI receives only those rows in context and must answer from them.
- If lookup is empty → fixed “I don’t have that in the catalog” message + handoff.
This is the pattern most SMBs should start with. It is reliable, cheap, and easy to audit.
Level 3 — RAG (retrieval-augmented generation)
RAG means:
- Index company documents (PDF, site, FAQ, drive folders) into searchable chunks (often with embeddings).
- On each question, retrieve the top relevant chunks.
- Generate an answer using only those chunks (+ strict instructions).
Botconsole does not need to be a vector database. It can:
- Call your RAG API via custom API / webhook nodes, or
- Use structured stores (Sheets / Airtable / Supabase) as a practical retrieval layer, or
- Use LLM providers that support file/search features where you connect them via integrations.
Anti-hallucination rules that actually work
1. Separate “facts” from “style”
- Facts come from integrations and approved snippets.
- AI only rephrases, summarizes, and asks clarifying questions.
2. Force structured extraction
Ask AI first to extract:
topic(pricing | hours | service | policy | other)entity(plan name, service name, city)order_idif relevant
Then run deterministic lookup. Do not let free-form chat hit the whole catalog every time.
3. Answer templates
Prefer:
“According to our price list: START is $19/month (3 bots, 10,000 users).”
over free-form prose that might drift.
4. Hard refusals in the prompt
Example rules for the AI dialog node:
- Use only the CONTEXT block provided for this message.
- If CONTEXT is empty or insufficient, say you don’t know.
- Never invent prices, discounts, medical claims, or legal guarantees.
- Prefer short answers; offer a manager for complex cases.
5. Version and own the knowledge file
Keep a single “source of truth” sheet or table. Marketing and ops edit one place; the bot always reads live data.
6. Test with adversarial questions
- “Give me a 40% discount code”
- “You’re open 24/7 right?”
- “What’s the price of a service you don’t sell?”
The bot should refuse or hand off — not invent.
Recommended Botconsole schema (canvas)
Start
→ AI: classify intent + extract entities
→ Conditions: pricing | services | hours | policy | order | other
→ Integration: load matching records into {{context}}
→ AI dialog: answer using {{context}} only
→ Optional: save lead fields to CRM
→ If low confidence / empty context → human handoff
Variables to keep
| Variable | Role |
|---|---|
{{intent}} |
Branching |
{{entity}} |
Lookup key |
{{context}} |
Retrieved text/rows for the model |
{{user.email}} |
Handoff / CRM |
Example CONTEXT injection
After Sheets returns rows, build a compact context string (message or variable) like:
CONTEXT (price list, authoritative):
- FREE: $0 forever, 1 bot, 1,000 users
- START: $19/mo, 3 bots, 10,000 users, web widget
- PRO: $29/mo, 10 bots, 50,000 users
- AGENCY: $99/mo, 50 bots, 200,000 users
Add-ons: +1 bot $5/mo; +10k users $10/mo
Then the AI prompt: “Answer only using CONTEXT. Quote prices exactly.”
What to store where
| Data type | Good store | Why |
|---|---|---|
| Price table | Google Sheets / Airtable | Easy for non-devs to edit |
| Service catalog | Sheets / Airtable / Supabase | Filter by category/city |
| Opening hours | Sheets or Calendar | Simple weekly matrix |
| Long policies / PDFs | Google Drive + summary rows, or external RAG API | Don’t dump 50 pages into every prompt |
| Live orders | Sheets / API / Supabase | Operational truth |
| Files / assets | Cloudflare R2 / Drive | Store files; keep metadata in a table |
RAG-style options you can connect through Botconsole
Botconsole integrations and API nodes let you wire these patterns:
A. Google Sheets (most practical “knowledge base”)
- One tab per domain:
prices,services,hours,faq - AI extracts a key → Sheets reads matching rows → AI answers from rows
- Landing and product already treat Sheets as a first-class lookup path
B. Airtable
- Similar to Sheets with richer relational tables (services → prices → locations)
- Good when ops already lives in Airtable
C. Supabase
- SQL tables for FAQ, products, locations
- Can later hold embeddings or
match_documentsRPC if you build a small RAG backend on Supabase - Botconsole talks to Supabase via the integration / API patterns for records
D. Google Drive
- Store source PDFs and docs
- Prefer curated excerpts in a table rather than sending whole files every turn
- Or call a small backend that indexes Drive content
E. OpenAI / Claude / Gemini / Grok / OpenRouter
- Generation models for the dialog node
- Some stacks use the same provider for embeddings in an external service, then Botconsole only calls your retrieve endpoint
F. Custom API + webhooks (full RAG services)
When you outgrow tables, put a retrieval service behind HTTPS and call it from the canvas:
| Service type | Examples (ecosystem) | Role |
|---|---|---|
| Vector DB + API | Pinecone, Weaviate, Qdrant, Chroma (self-host) | Store embeddings, similarity search |
| Managed RAG / search | Provider-specific assistants, Azure AI Search, Elasticsearch | Retrieve chunks |
| DIY backend | Small Node/Python service on your infra | Chunk docs, embed, return top-k text |
Botconsole flow:
User question → Custom API POST /rag/query { question } → response {{chunks}} → AI dialog with chunks as CONTEXT.
You keep the conversation UX and CRM in Botconsole; the RAG engine stays swappable.
G. CRM systems (HubSpot, Salesforce, Amo, Bitrix)
Not classic RAG, but useful for account-specific consulting:
- Existing customer plan / balance
- Open tickets
- Last purchase
Combine CRM read + public price list for personalized answers — still with “no inventing” rules.
H. Cloudflare R2
Object storage for documents and media. Pair with a table of file URLs + titles, or with a backend indexer. The bot should not “guess” file contents without retrieval.
Minimal implementation checklist
- Create
prices/services/hours/faqsources - Build classify → lookup → grounded answer flow
- Write refusal + handoff path
- Test adversarial questions
- Publish to Telegram; add web widget when on a plan that includes it
- Assign an owner who updates the sheet when prices change
- Review analytics: “not found” rate and handoff rate
Example: price consultation flow
- User: “How much is Pro?”
- AI intent:
pricing, entity:PRO - Sheets: find plan = PRO →
$29/mo, limits… - AI: rephrase exactly those numbers + invite comparison to START/AGENCY
- Optional: “Want START at $19 instead?” with buttons
No model free-call to “estimate SaaS pricing.”
Example: services + hours
- User: “Do you work on Sunday in downtown?”
- Intent:
hours+location=downtown - Lookup hours matrix
- If closed: “We’re closed Sunday; next open Monday 10:00.”
- Offer booking flow (Calendar integration) if open slots matter
When to invest in real vector RAG
Move beyond Sheets when:
- You have hundreds of pages of docs
- Answers need multi-document synthesis
- Content changes faster than table curation
- You have eng capacity to run chunking + embeddings
Until then, structured lookup + strict prompts usually quality-beats a half-built RAG pipeline.
FAQ
Can the bot still sound natural?
Yes. Grounding constrains facts, not tone. The model can stay friendly while quoting the price list.
Do I need RAG for a 20-row price list?
No. Sheets + conditions are simpler and more accurate.
Which AI model should I use?
Use a capable model for classification and phrasing (OpenAI, Claude, Gemini, Grok via Botconsole nodes). Accuracy comes more from context quality than from model brand alone.
How do I stop the bot from offering illegal discounts?
Put discount rules in the data source (or omit them). Prompt: “Never invent promo codes.” Test with “give me 50% off.”
Is free Botconsole enough to start?
Yes for a single Telegram bot on the free forever plan (limits apply). Scale bots/users and web widget with paid plans when needed — see Botconsole Pricing Explained.
Related
- AI Order-Status Bot with Google Sheets
- Webhooks & Custom API Nodes (No-Code Power)
- How to Create a Telegram Bot Without Coding
- Chatbot CRM: Leads, UTMs & History
Start building free → Build a grounded consulting bot: connect your price list, lock the prompt, and publish to Telegram.
