The QuackChat Playbook: How to Level Up Your Chatbot From Day One to Autonomous Agent
Key Takeaways
- A great chatbot isn't a switch you flip — it's something you level up. Start by feeding it your knowledge, then make it sound like you, then teach it to capture leads, then let it learn from every conversation, and finally let it take real action like booking appointments.
- Level 1 is the foundation: point it at your website, upload your documents, and check what it actually indexed. Everything downstream is only as good as the knowledge you feed in.
- Levels 2 and 3 turn a generic bot into your bot — your colours, your voice, your welcome message — and then into a salesperson that greets visitors proactively, captures their details in conversation, and escalates to a human when it should.
- Level 4 is where it gets smart over time. Thumbs-up/thumbs-down feedback feeds a learning loop, analytics show you exactly what people ask (and what you couldn't answer), and a quality engine keeps answers grounded in your content instead of made up.
- Level 5 is the ceiling: an agent that does things. For clinics on Gensolve, Cliniko, or Nookal, the bot checks live availability and books, reschedules, or cancels appointments inside the chat — with the customer confirming every write.
- You don't have to do all five at once. Each level is useful on its own, and each one stacks on the last.
Contents
- Level 1 — Lay the Foundation: Feed It Knowledge
- Level 2 — Make It Yours: Appearance, Voice & Behavior
- Level 3 — Turn Visitors Into Customers: Engage, Capture & Deploy
- Level 4 — Make It Smarter Over Time: Quality, Learning & Analytics
- Level 5 — Let It Take Action: Live Booking & the Agentic Layer
- Bonus — Running a Fleet of Bots
- Your Leveling-Up Checklist
- Frequently Asked Questions
A chatbot that's been set up properly feels like a member of your team. A chatbot that's been left on defaults feels like a toy. The difference isn't the underlying model — it's how much of the platform you actually used.
This is the full playbook. We'll go feature by feature, in the order you should tackle them, from the very first crawl to a bot that books appointments on its own. Work through it top to bottom, or jump to whichever level you're ready for.
THE FIVE LEVELS
──────────────────────────────────────────────────
L1 FOUNDATION Feed it your knowledge
L2 IDENTITY Make it look and sound like you
L3 CONVERSION Capture leads, engage, deploy
L4 INTELLIGENCE Quality, learning, analytics
L5 ACTION Let it book and transact
Each level stacks on the one before it.
Level 1 — Lay the Foundation: Feed It Knowledge
Everything your bot ever says comes from the knowledge you give it. Get this layer right and the rest of the playbook compounds. Get it wrong and no amount of styling will save you.
Create the bot. A bot needs three things to exist: a name, an optional description (just for your own reference), and a source URL — the website it learns from. The name and avatar are what your customers see; the source URL is where the magic starts.
Crawl your website. Point the bot at your site and it reads your pages, breaks them into searchable chunks, and indexes them. You control the shape of that crawl:
- Source URL — the starting point for the crawl.
- Max pages — how many pages to index. More pages means broader coverage; start generous and trim if needed.
- Max depth — how many links deep from the start page the crawler will follow. Depth 1 is your homepage and what it links to; higher depth reaches into the far corners of your site.
- Include paths — glob patterns that whitelist parts of your site (for example, only crawl
/services/*and/faq/*). - Exclude paths — glob patterns that blacklist parts of your site (skip
/blog/*or/legal/*). Excludes win over includes. - Domain whitelist — which domains the crawler is allowed to expand into, so it doesn't wander off your site.
While it runs, you get a live progress view that moves through real phases — discovering URLs, crawling pages, embedding the text, uploading to the search index, and (optionally) building a knowledge graph. You don't have to wait for the whole thing: once the first batch of chunks is indexed, the bot is marked chat-ready, so you can start testing answers while the deeper crawl finishes in the background.
Upload documents. Not everything lives on a web page. You can upload PDF, DOCX, PPTX, XLSX, and TXT files — price lists, policy docs, product manuals, FAQs you've never published — and they're parsed and indexed exactly like crawled pages. Drag and drop them in, watch each file's status move from processing to ready. Rule of thumb: crawl for anything that's already on your public site, upload for the knowledge that only lives in a file.
Manage your indexed pages. This is the part most people skip, and it's the highest-leverage habit in the whole playbook. The Indexed Pages view shows you exactly what the bot learned:
- Every indexed page with its URL, when it was last ingested, how many chunks it produced, and how many entities were extracted.
- Add a single page by URL when you publish something new and don't want to re-crawl everything.
- A pending queue showing pages still being processed.
- Delete a page that shouldn't be in the knowledge base (an outdated promo, a duplicate).
- Reingest a single page after you've edited it, or reingest all to refresh the whole site.
- Rescrape the entire site when you've done a big redesign.
- A content-preview drawer so you can read the exact text and chunks the bot will answer from — invaluable for spotting why an answer is off.
Let it generate sample Q&A. After a crawl, the bot can auto-generate example questions and answers drawn from your content, complete with quality badges and "you're missing content about X" gap suggestions. It's a fast sanity check on what your bot can confidently handle — and you can regenerate it any time.
Test before you trust. The built-in playground is a full chat interface: streaming answers, the sources behind each one, suggested follow-up chips, and thumbs-up/thumbs-down feedback with an optional comment. Ask it the hard questions a real customer would. If it stumbles, you'll usually find the fix back in Indexed Pages — a missing page, a thin page, or a page that needs re-ingesting.
THE FOUNDATION LOOP
──────────────────────────────────────────────────
Crawl site + upload docs
|
v
Review Indexed Pages
(what did it actually learn?)
|
v
Test in the playground
|
v
Spot a gap → add/reingest the page
|
v
Repeat until it answers like you would
Level 2 — Make It Yours: Appearance, Voice & Behavior
A bot that knows your business but looks and sounds like every other widget on the internet leaves trust on the table. Level 2 is where it becomes unmistakably yours.
Build the theme. The Appearance settings give you a full theme builder with a live preview that updates as you change things:
- A theme preset to start from, plus a light / dark / auto colour mode (auto follows the visitor's own system preference).
- A complete colour palette: primary accent, background, body and secondary text, the user's message bubble (background and text), the assistant's message bubble (background and text), and the input field (background, border, text). You can tune every surface, not just the accent.
- Optional dark-mode overrides so the bot looks intentional in dark mode, not just inverted.
- A border-radius preset to match your brand's softness or sharpness.
- Automatic brand-colour detection — during the crawl, the bot picks up your site's colours so it starts on-brand before you touch a thing.
Set your branding. Give the bot a display name and upload a custom avatar so the widget header is yours, not a generic icon. On the right plan you can also hide the "Powered by QuackChat" badge for a fully white-labelled widget.
Shape its voice and behavior. The Behavior settings control how it talks and what it does:
- Custom system prompt — this is the bot's persona and house rules. Tell it your tone (warm and casual, or precise and formal), what to emphasise, what to never say, and how to handle things it doesn't know. Because answers are grounded in your indexed content, a good system prompt steers style while the knowledge base keeps it honest — the bot answers from your pages rather than making things up.
- Suggested questions — up to five starter chips that appear at the top of the chat, so visitors aren't staring at a blank box wondering what to ask. Leave them empty and the bot offers smart, capability-aware defaults; set your own to steer people toward what you want them asking.
- Citations toggle — by default, the bot shows little
[Source]markers and a sources dropdown so customers can see where an answer came from. You can turn this off. Flipping citations off hides those source markers and the sources dropdown in the widget entirely — the answer reads as clean prose with nothing to click. Importantly, it's a display-only switch: the bot still retrieves and uses your sources behind the scenes, and every source is still recorded in your Logs for your own auditing. You're only changing what the customer sees, never what the bot knows.
Write the first and last words. Two short pieces of copy do a lot of work:
- The welcome message — the greeting a visitor sees when they open the widget. Make it specific ("Ask me about our hours, services, or pricing") rather than generic.
- The disclaimer message — a short notice shown in the widget. It defaults to something sensible for your bot's capabilities (clinics automatically get a medical-safety disclaimer), and you can customise it to fit your business.
A quick note on what's under the hood: the bot is powered by leading large language models (Gemini by default, with OpenAI, Anthropic, and Cohere also supported), so the language quality is there — your job at Level 2 is to point that quality at your brand and your rules.
ANATOMY OF AN ON-BRAND WIDGET
──────────────────────────────────────────────────
Header Your avatar + your bot's name
Greeting A specific, useful welcome message
Chips Suggested questions you chose
Bubbles Your colours, light or dark
Answers Your tone, grounded in your content
Citations On for trust, or off for clean prose
Footer Your disclaimer (badge optional)
Level 3 — Turn Visitors Into Customers: Engage, Capture & Deploy
A bot that waits silently in the corner converts a fraction of what it could. Level 3 turns it from a help desk into a quiet, tireless salesperson — and gets it live on your site.
Engage proactively. Instead of waiting to be clicked, the bot can start the conversation based on what a visitor is doing. There are four triggers, each independently configurable:
- Time on page — reach out after someone's been reading for N seconds.
- Scroll depth — speak up once they've scrolled a certain percentage down the page (a strong "they're interested" signal).
- Exit intent — catch them with a message when their cursor heads for the close button.
- Return visitor — greet someone who's been here before differently from a first-timer.
For each trigger you set a delay, a custom message (or use the default), and a frequency — once per session, once per day, or every visit, so you're inviting, not nagging. You can go further with per-page rules: glob URL patterns (like /pricing* or /services/*) that fire a different message on different pages, with ready-made templates for pricing, docs, and contact pages to start from. A proactive bubble auto-hides on a timer and pauses if the visitor hovers it.
Capture leads in conversation. Forms convert badly because they feel like a toll booth. A conversational capture feels like a natural next step. Turn on lead capture and decide the timing — collect a name and email before the first message (a gate) or after the bot has been helpful (lower friction, usually higher quality). Everything captured lands on the Leads page, with:
- Stat tiles for totals and recent activity.
- A searchable table of every lead with their name, email, and the page they came from.
- CSV export (with safe formatting so spreadsheets can't be tricked into running formulas from the data).
- One click to jump straight to that lead's conversation so you have full context before you follow up.
Hand off to a human when it matters. Some questions need a person. Enable human handoff, set a handoff email, and choose a confidence threshold — after a set number of shaky, low-confidence answers, the bot offers a "connect with a human" path instead of bluffing. Every escalation is counted, so you can see how often it happens and why.
Deploy it. When it's ready, go live in minutes. The Deploy page gives you a copy-paste embed snippet:
<script
src="https://quackchat.app/widget/quackchat-widget.js"
data-bot-id="YOUR_BOT_ID"
data-position="bottom-right">
</script>
Paste that before your closing </body> tag and the widget appears. There are guided installation paths for plain HTML, WordPress, Shopify, and custom setups, plus a live preview so you see exactly what visitors will get. Two controls keep it safe: an allowed-domains whitelist so your widget only runs on sites you approve, and per-minute and per-hour rate limits to protect you from abuse.
THE CAPTURE FUNNEL
──────────────────────────────────────────────────
Visitor lands
|
v
Proactive nudge (time / scroll / exit / return)
|
v
Bot answers their question
|
v
Lead captured in conversation
|
v
Human handoff if it's needed
|
v
You follow up with full context
Level 4 — Make It Smarter Over Time: Quality, Learning & Analytics
Levels 1 to 3 get you a great bot today. Level 4 makes it a better bot every week — and shows you the receipts.
Understand the quality engine. You don't have to manage most of this, but it helps to know why the answers are good. Under the hood the bot uses a stack of retrieval techniques to find the right passage of your content for each question — hybrid search (matching on both keywords and meaning), contextual embeddings (chunks that carry their surrounding context so they're easier to retrieve accurately), re-ranking (a second pass that pushes the most relevant passages to the top), HyDE (drafting a hypothetical answer to search more precisely), and semantic chunking (splitting your content at meaningful boundaries). Two of these are yours to switch on per bot: the knowledge graph, which you can enable at crawl time (graph indexing) and then use at chat time (use graph at query) to connect related facts across pages — useful when answers depend on relationships between entities, not just a single passage.
Measure answer quality. Turn on response evaluation and the bot scores a sample of its own answers on faithfulness (is the answer actually supported by the sources?), relevance (were the right sources retrieved?), and context precision (how much of the retrieved context was useful?). You set the sample rate — evaluating a small percentage is enough to spot a trend without slowing anything down. It's an early-warning system for answer drift.
Let it learn from feedback. This is the flywheel. Every thumbs-up and thumbs-down a visitor leaves feeds a four-phase learning loop: aggregate the feedback, re-score your sources by how well they've performed, extract the genuinely good question-answer pairs as learned examples, and (optionally) analyse the comments people leave to find recurring themes. You control when it runs (minimum sessions, minimum feedback, a cooldown, a confidence threshold) and explore the results across tabs:
- Sources — every page with a feedback-driven quality score. Protect a great source so it's never down-weighted, or reset one that's accumulated noisy feedback.
- Examples — the high-quality Q&A pairs it learned. Delete any you don't want.
- Events — a timeline of feedback, learning cycles, and quality changes.
- Topic Gaps — questions people ask that your content doesn't answer well, with a status you can move from open to acknowledged to resolved. This is a to-do list for Level 1: each gap is a page you should add or improve.
- Insights — aggregate trends and recommendations.
And if a learning cycle ever makes things worse, there's a rollback to restore the previous state.
Read the analytics. The Analytics page is your command centre. Pick a date range (7 / 14 / 30 / 90 days) and you get:
- Stat tiles with sparklines and period-over-period deltas: conversations, messages, average response time, deflection rate, estimated time saved, and estimated ROI.
- A conversations area chart showing volume over time.
- A feedback donut breaking down helpful vs unhelpful.
- Top questions — what people actually ask, ranked.
- Unanswered queries — the questions where the bot wasn't confident. This pairs with Topic Gaps as your single most useful list: it tells you exactly what content to write next.
- A conversion funnel tying it all to outcomes — bookings, leads, and after-hours captures.
Hit Summarise for the plain-English version. Numbers and charts are for digging in; the Summarise button in the Analytics header is for stepping back. It plays a short, plain-language recap of what your bot actually did over the period — conversations it handled after hours, questions it answered, front-desk time it saved — the kind of value that never shows up as a direct booking. It's there from day one (it reads gracefully even before you've collected much), and it's especially worth a look at the end of a trial to see the difference the bot made.
Dig into conversations. The Logs page is the transcript archive. Search by question, user, or session; page through every conversation; open a detail drawer to read the full transcript with the sources and timing behind each answer; and delete anything you need to. (Remember: even with citations switched off for customers, the sources are always here for you.) A separate performance view shows query metrics and session timelines for when you want to tune speed.
Glance at the overview. The bot's Overview page is the at-a-glance version of all this — headline tiles, recent conversations, a knowledge donut, and crawl progress — so you can check the pulse without diving into full analytics.
THE IMPROVEMENT LOOP
──────────────────────────────────────────────────
Visitors chat + leave 👍 / 👎
|
v
Learning loop re-scores sources,
extracts good answers
|
v
Analytics surface Top Questions
+ Unanswered + Topic Gaps
|
v
You add the missing content (Level 1)
|
v
Next week's bot is measurably better
Level 5 — Let It Take Action: Live Booking & the Agentic Layer
The final level is the biggest jump. Until now your bot has answered. At Level 5 it acts — it checks live data and writes changes back into your business systems, inside the conversation. The flagship example is appointment booking for healthcare clinics, and it's worth seeing in full because it shows what the agentic layer can do.
Three levels of "booking." Not every booking bot does the same thing, and the difference is the whole point:
THREE LEVELS OF CHATBOT BOOKING
──────────────────────────────────────────────────
1. ANSWER-ONLY
Answers questions, then says "call us to book."
→ The customer still has to phone during hours.
2. BOOKING-LINK HANDOFF
Narrows down what they need, then drops them on
your online-booking page, pre-qualified.
→ Fewer dead-end enquiries, but they still
finish the booking themselves.
3. LIVE TRANSACTIONAL BOOKING
Checks real availability, registers new patients,
and writes the appointment into your practice
software — inside the chat.
→ The loop closes. No phone, no second step.
Which practice software supports what. Live action depends on what your system allows, so the capability maps directly to your provider:
PRACTICE SOFTWARE SUPPORT
──────────────────────────────────────────────────
Gensolve Live booking — check, book, reschedule,
cancel, register new patients, in chat
Cliniko Live booking — same full transactional flow
Nookal Live booking — same full transactional flow
Halaxy Live availability — shows real open slots
in the chat (booking handed off)
Other PMS Smart booking handoff — the bot
pre-qualifies the customer and routes
them to your booking page
Set it up with the wizard. Connecting your practice software is a guided flow in the dashboard: pick your provider, enter your API credentials (and region or base URL if needed), choose which locations and which services / appointment types are bookable, set your patient-notification preferences, configure the identity-verification step, and run a test before going live. Because the bot already trained on your website at Level 1, it knows your services, hours, and fees on day one — there's nothing to write from scratch.
What the bot can actually do. Behind the scenes, the agent has a toolkit it uses as the conversation calls for it:
- Check availability — real open slots for the right practitioner, service, date range, and location.
- Search for a patient — find an existing record by name, email, or phone.
- Request patient intake — pop a structured form to collect a new patient's details.
- Create a patient — register a brand-new patient record.
- Book an appointment — write the appointment into your system.
- Cancel an appointment — remove an existing booking.
- Reschedule an appointment — move one to a new time.
- List services — fetch your bookable appointment types and fees.
- Get a patient's appointments — look up what they already have booked.
- Request verification — confirm a returning patient's identity before any change.
The flows, in plain terms. A returning patient asks for a slot; the bot checks live availability, shows real options, the patient picks one, confirms, and it's booked. A new patient has no record, so the bot collects their details through an intake form, creates the record, and books — all in one conversation. A reschedule or cancel is sensitive, so the bot verifies identity first (for example, phone plus date of birth) before it will move or cancel anything.
Safety is built in, not bolted on. Writing to a clinical system is not something to do casually:
- Every write requires explicit confirmation. Book, reschedule, cancel — each one pauses and shows the customer a confirmation card with the details before anything is committed. The bot proposes; the customer says go. There's no silent auto-booking.
- Patient notifications are yours to control, with per-connection toggles for booking, cancellation, and reschedule emails.
- Credentials are encrypted at rest, never exposed in the chat.
- A health strip and activity feed let you monitor every connection — last sync, recent bookings, and any errors — at a glance.
This generalises. Appointment booking is the showcase, but the pattern — a bot that checks live data and takes a confirmed action inside the conversation — is what "agentic" means. It's the difference between a chatbot that talks about your business and one that helps run it.
LIVE BOOKING, INSIDE THE CHAT
──────────────────────────────────────────────────
"Can I see someone Thursday?"
|
v
Bot checks LIVE availability
|
v
Shows real open slots → customer picks one
|
v
New patient? → intake form → create record
|
v
Confirmation card → customer taps Confirm
|
v
Appointment written into your software.
No phone call. No second step.
Bonus — Running a Fleet of Bots
Once you've leveled up one bot, you'll likely want more — one per brand, per site, or per location. The Projects hub is the home base: a grid of all your bots with status badges (live, indexing, failed, draft), search, and a button to spin up a new one. The cross-bot dashboard aggregates everything — global tiles, a status breakdown, conversations ranked by bot, and alerts when something needs attention — so you can manage a portfolio without opening each bot one at a time. And when you're not sure how a feature works, the in-app Guides walk you through it.
Your Leveling-Up Checklist
THE PLAYBOOK, AT A GLANCE
──────────────────────────────────────────────────
L1 FOUNDATION
[ ] Crawl your site (tune pages, depth, paths)
[ ] Upload your documents
[ ] Review Indexed Pages — fix gaps
[ ] Test in the playground
L2 IDENTITY
[ ] Theme: colours, light/dark, avatar, name
[ ] System prompt: set the voice + rules
[ ] Welcome message + suggested questions
[ ] Citations on (trust) or off (clean)
L3 CONVERSION
[ ] Proactive triggers + per-page rules
[ ] Lead capture (pick before/after timing)
[ ] Human handoff (email + threshold)
[ ] Embed the widget + set allowed domains
L4 INTELLIGENCE
[ ] Turn on response evaluation
[ ] Enable learning; work the Topic Gaps
[ ] Read Analytics + Unanswered weekly
[ ] (Optional) knowledge graph
L5 ACTION
[ ] Connect your practice software
[ ] Choose bookable services + locations
[ ] Confirm the confirmation gates
[ ] Go live and get your phone line back
You don't have to reach Level 5 to win. A Level 1 bot that's been fed well already beats a contact form. But every level you climb makes the bot more useful, more yours, and more capable of doing real work — so pick the next one and go.
Frequently Asked Questions
Where should I start?
Level 1, every time. Crawl your site, upload your key documents, then open Indexed Pages and actually look at what the bot learned. A well-fed foundation makes every other feature better; styling a bot that doesn't know your business is polishing the wrong thing.
How long until it's actually good?
It's useful within minutes of the first crawl. It gets good as you close the loop: test it, find what it can't answer, add that content, and repeat. Once it's live, the learning system and the Unanswered-queries list tell you exactly what to improve, so "good" becomes a weekly habit rather than a one-time project.
Do I need to be technical?
No. Crawling, theming, lead capture, and analytics are all point-and-click. The only place you'll paste code is the deploy step — a single <script> tag — and there are guided instructions for WordPress, Shopify, and plain HTML.
Will it make things up?
It's designed not to. Answers are grounded in the content you indexed, every answer can cite the page it came from, and you can turn on response evaluation to score how faithful answers are to their sources. When it isn't confident, you can have it hand off to a human rather than guess.
Can I hide the sources from customers?
Yes. The citations toggle in Behavior settings turns off the source markers and the sources dropdown in the widget, so answers read as clean prose. It's display-only — the bot still uses your sources to answer, and they're still recorded in your Logs for your own review.
Can it really book appointments?
On Gensolve, Cliniko, and Nookal, yes — it checks live availability and books, reschedules, or cancels right inside the chat, including registering a brand-new patient first. Halaxy shows real availability with a booking handoff, and any other system gets a smart, pre-qualified handoff to your booking page. Every write asks the customer to confirm before anything happens.
How does it get smarter over time?
Every thumbs-up and thumbs-down feeds a learning loop that re-scores your sources and extracts your best answers, while Analytics surfaces your Top Questions, Unanswered queries, and Topic Gaps. Those lists tell you precisely what content to add next — so the bot improves because you're feeding it the right things, not by guesswork.