Knowledge Base

Set up the Knowledge Base so your bot answers tickets from your own documentation and learns from your staff

The Knowledge Base connects your documentation, Discord channels, text files, and GitHub repositories to your bot. When a customer asks a question in a ticket, the bot answers from that content, shows where the answer came from, and hands the ticket to staff when it does not know. It also learns new answers from tickets your staff close. This page is for the admin setting it up for the first time.

The Knowledge Base is available on Pro (2 sources) and Enterprise (15 sources). GitHub repository sources are Enterprise only. Turning the AI answers on and off is a dashboard setting; there is no slash command for it. Upgrade your plan

How it works

  1. Add sources: web pages, Discord channels, text files, or GitHub repositories.
  2. The bot reads them: each source is indexed when you add it and again on the schedule you choose.
  3. The bot answers: when a ticket message looks like a question, the bot waits a few seconds for follow-ups, searches your sources, and posts an answer with a source line and a match score.
  4. Staff stay in control: staff replies pause the bot, customers can press Talk to Staff, and when the bot has no answer it escalates.
  5. The bot learns: when a ticket closes, the staff answers in it become question-and-answer entries. Confident ones go live immediately; the rest wait in Staff Q&A for review.

Getting started

Open the Knowledge Base page

Go to Dashboard → Bots, pick your bot, open Servers, pick the server, and open AI & Knowledge → Knowledge Base. The page has six tabs: Sources, Answering, Auto support, Learning, Staff Q&A, and Analytics.

Enable it

Click Edit, switch on Enable Knowledge Base, and click Save Changes. The master switch on AI Features → General must also be on.

Add your first source

On Sources, click Add Knowledge Source, choose Web Page, Discord Channel, GitHub Repository, or Text File, fill in the fields, and save. The first index is queued automatically. Wait until the source shows Ready.

Describe your community

On Answering, fill in Product Profile & Custom Instructions: your community name, what you support, your product names, and any topics the bot must leave to staff. This is what stops the bot answering questions that are not yours to answer.

Test it

Open a test ticket and ask a question that your documentation answers. Within about 10 seconds the bot posts an answer with 👍 and 👎 buttons under it.

Source types

TypeWhat it readsLimits
Web PageOne page, or a page plus the pages it links to (set Pages to Read)Up to 100 pages per source on Pro, 500 on Enterprise. HTTPS only.
Discord ChannelMessages from a text channel the bot can seeThe newest 20 messages on Pro, 100 on Enterprise. Very short messages are skipped. Include Bot Messages is off by default.
Text FileA .txt or .md file you upload; only its text is sentUnder 256 KB and 50,000 characters. Only the server owner can add or remove text sources. Files cannot be edited after upload; remove and re-add to replace.
GitHub Repository (Enterprise)Markdown files from a connected repository, optionally limited to a branch and folderConnect GitHub first from the Sources tab. Re-syncs automatically on each push to the chosen branch.

Use specific pages such as pricing, guides, or an FAQ instead of a broad landing page. Focused pages give cleaner answers. For a text file, start every topic with a Markdown heading and keep each section under 3,000 characters; the upload dialog warns you when a file has no headings.

Full details for each type, refresh schedules, and source statuses are on Adding Sources.

Worked example: a game server

A community running a survival game server wants the bot to answer the same questions it gets every day.

  1. Sources: add the server's rules page as a Web Page with Pages to Read set to 1 page, add the #faq channel as a Discord Channel, and upload a .md Text File with headings such as ## How do I join, ## Ranks and perks, and ## Refunds.
  2. Product Profile: Company/Community Name Ember Survival, Support Scope We help with joining the server, ranks, store purchases, and in-game bugs, Product Names Ember Survival, VIP rank, Legend rank, Forbidden Topics ban appeals, staff applications.
  3. Custom Instructions: Be friendly and brief. Always give the server IP as play.example.com. For purchase problems, ask for the order number before anything else.
  4. Answering: leave Match Strictness at 50% and Respect Staff Presence on so the bot steps back whenever a moderator is already replying.
  5. Learning: leave Autonomous Ticket Learning on so that once a moderator has explained how rank transfers work in a ticket, the bot answers the next person itself.

After a week, open Analytics to see which sources get 👍 votes and Staff Q&A to approve the pending entries.

What the customer sees

An answer is a normal message from the bot in the ticket, replying to the customer's question:

  • The answer text, in the style you chose (Concise, Balanced, or Helpful).
  • A line Source: <source title> when Show Source Information is on.
  • A small grey footer: Confidence: 78% • Generated by AI. Staff can verify important details. The match score appears when Show Match Score is on; the AI notice is always shown and cannot be turned off.
  • 👍 and 👎 buttons when Enable Vote Buttons is on. 👎 asks for a reason and, optionally, the correct answer.

When the bot has nothing relevant it says I don't have enough knowledge base information to answer that. Use the button below to request staff help. with a 🙋 Talk to Staff button. Pressing it posts a Staff Assistance Requested card and confirms A staff member has been notified and will be with you shortly! Only the ticket creator or staff can press it, and it is only sent once per ticket.

If Auto-Escalate to Staff is on, the bot also posts a 🤖 AI Escalation card in the ticket with the customer's question under User Question and the note Escalated due to insufficient knowledge. With Ping Staff on Escalation on, the card mentions your staff roles (or the button's own ping role when one is configured). After an escalation the bot stays quiet in that ticket for the Ticket Escalation Duration (7 days by default; Permanent keeps it out for good).

Learning from closed tickets

Learning is on for newly configured knowledge bases and runs with no command. The settings live on the Learning tab under Ticket Learning.

  1. A ticket closes (by staff, by inactivity auto-close, or because the user left). Tickets with fewer than 3 messages are skipped.
  2. The bot extracts question-and-answer pairs where staff gave the answer, redacts personal data, and scores each pair.
  3. Pairs at or above the Auto-Approve Confidence Threshold (50% to 100%, default 70%) go live at once and are searchable in the next ticket. With Notify on Auto-Approve on, an Auto-Learned from Ticket #123 card lands in the logs channel showing the confidence, category, question, and answer, with an Undo button that removes the entry.
  4. Pairs below the threshold wait in Staff Q&A as Pending. A Pending Review card for the ticket with Approve, Edit, and Reject buttons is posted to the logs channel so staff can act from Discord.
  5. Max Auto-Approvals Per Day (1 to 200, default 50) caps how many pairs go live per day; pairs over the cap wait as Pending even when they scored above the threshold.
  6. With Smart Merge & Dedup on, a new pair that overlaps an existing entry is treated as a duplicate, an enrichment (a new detail added to the existing answer), or a supersession (a newer fact replaces the old one) instead of becoming a near-duplicate. Auto-Apply Merges applies enrichments and corrections only to entries the system learned itself and nobody edited, capped by Max Auto-Merges Per Day (1 to 100, default 20), and posts a KB Entry Updated or KB Entry Superseded card with Undo. Everything else becomes a review proposal in Staff Q&A showing the proposed updated answer or added detail.
  7. Periodic Consolidation (off by default; Weekly, Every 2 weeks, or Monthly) merges existing duplicate entries into one and archives stale unused ones, then posts a Knowledge Base Consolidated summary.

Reviewing what was learned

Open the Staff Q&A tab. The tab badge shows the pending count. Filter by All, Pending, Approved, Auto-approved, or Rejected, search, and use Approve, Edit (edit and approve in one step), Ignore, or Delete on each entry. Create Q&A adds a hand-written entry that is available immediately. Purge Pending deletes every pending entry at once and cannot be undone. Deleting an approved entry also removes it from search.

Limits by plan

ProEnterprise
Sources per server215
Pages per web source100500
Discord messages per channel source20 newest100 newest
GitHub repository sourcesNoYes
AI tokens per month10M30M
Refresh a source by handOnce every 24 hoursOnce every 24 hours

Answers cost tokens from the bot owner's monthly allowance. Ticket History to Use, Help Content to Review, Best Match Boost, and Wider Understanding on the Answering tab all trade accuracy for tokens; the tab shows an estimate of how many answers your plan's allowance covers with the current settings.

Troubleshooting

SymptomCauseFix
The bot never answersEnable Knowledge Base or the Enable AI Features master switch is off, or no source is ReadyTurn both switches on and wait for at least one source to finish indexing
The bot answers some people but not the ticket creatorThe creator is on the AI User Blacklist, hit a User Token Limit, or wrote fewer characters than Minimum Message LengthCheck the blacklist on Answering, reset the user under AI Features → General, or lower the minimum
The bot stops answering once a staff member typesStop on Staff Response or Respect Staff Presence is onBoth are deliberate. Turn them off on Answering if you want the bot to keep helping alongside staff
Answers say "I don't have enough knowledge base information" for questions your docs coverMatch Strictness is too high, or the relevant page was not read (see Pages to Read)Lower Match Strictness toward 50%, and open the source to check its page or message count
The bot invents detailsSource Safety was turned offTurn Source Safety back on; it checks every answer against your sources
A learned entry is wrongThe staff answer in the closed ticket was wrong or incompletePress Undo on the card in the logs channel, or Edit or Delete it in Staff Q&A
No Auto-Learned or Pending Review cards appearNo logs channel is configured, or Notify on Auto-Approve is offSet a logs channel with /setup; pending entries still appear in Staff Q&A
Voting or feedback fails with TC018Voting is unavailable for that message (for example the feature was turned off after the answer was posted)See TC018

Common questions

How long does the bot wait before answering? 10 seconds by default (Response Delay, 5 to 60 seconds). It waits so that a question typed across several messages is answered once.

Can I stop the bot answering during working hours? Yes, on Enterprise: turn on Respond Outside Business Hours Only on the Answering tab and configure business hours. On other plans use Wait for Staff Before AI Responds, which holds the answer for 10 to 300 seconds and cancels it when a staff member replies.

Does the bot learn from every closed ticket? It tries when Autonomous Ticket Learning is on, the ticket has at least 3 messages, and staff answered in it. Personal data is redacted, weak pairs go to Staff Q&A for review, and at most Max Auto-Approvals Per Day entries go live per day.

How do I teach the bot something it got wrong? Press 👎 on the answer, choose a reason, pick Other Issue to open the form, and fill in Correct Answer (helps AI learn). The bot confirms with Correction Learned! and uses it for future answers. You can also add the answer directly with Create Q&A on the Staff Q&A tab.

Can the bot answer general questions that are not in my docs? Only if you turn on General-Knowledge Fallback (Pro and higher) on the Answering tab. It then answers generic technical questions such as browser or networking basics with the note General AI knowledge, not from this server's knowledge base. Billing, account, security, and legal topics still go to staff.

Why did the bot close a ticket by itself? AI Auto-Close on the Answering tab was on and the customer explicitly asked to close the ticket. Turn it off if you want staff to close every ticket.

Can I keep the AI away from one user? Yes. Add their Discord user ID to the AI User Blacklist on the Answering tab. Staff still see their tickets as normal.

Last updated on

On this page