Guides

How to Build a Knowledge Base That Actually Answers Your Users' Questions

Most knowledge bases fail because they are too vague, too technical, or never updated. Here is how to build one that works.

DuffyBot Team8 min read

A knowledge base is just a collection of information your bot can search through when someone asks a question. Think of it as giving your bot a brain. Without one, it has nothing to work with. With a good one, it can handle most of your support tickets without a human ever stepping in.

The problem is that most knowledge bases aren't good. They're either too vague to be useful, too technical for normal users, or written once and never touched again. This guide covers how to build one that actually works, not just one that exists.

Why Most Knowledge Bases Fail

Too vague

You've seen these. Entries that say things like "Contact support for further assistance" or "Please refer to our documentation." That's not an answer. That's a redirect. If someone opened a ticket asking how to reset their password and the bot responds with "please contact support," it just wasted their time and yours. The whole point was to avoid that interaction.

Too technical

This happens a lot when developers write the knowledge base. The entries are accurate, but they're written for someone who already understands the system. Something like "Authenticate via OAuth2 using the /auth endpoint with your client credentials" is technically correct. It's also completely useless to a regular user who just wants to know how to log in.

Outdated

Someone wrote 40 entries six months ago. Since then, the product has changed, the pricing has updated, the process for verifying accounts is different. But the knowledge base still has the old info. Now the bot is confidently giving wrong answers, which is worse than giving no answer at all.

Scattered

The information exists, just not where the bot can find it. A pinned message in #announcements. A Google Doc three people have access to. An explanation someone gave in #general four months ago, buried under 200 messages. If it's not in the knowledge base, it doesn't exist.

What Makes a Good Knowledge Base Entry

A good entry does four things. Miss any of these and it's going to underperform.

It answers one specific question

Not three. Not "everything about billing." One question, answered clearly. If someone asks "how do I cancel my subscription?" the entry should tell them exactly how to cancel, step by step. Don't bundle it with "how do I upgrade" and "how do I change my payment method." Those are separate entries.

Here's a real example. Bad entry:

Warning: "For billing inquiries, including subscription management, refunds, payment methods, and invoicing, please visit our billing portal or contact a support representative."

That answers nothing. Compare it to a good entry:

Tip: "To cancel your subscription, go to Settings, then Billing, and click Cancel Plan. Your access continues until the end of your current billing cycle. No partial refunds are issued."

The second one actually solves the problem. The user gets their answer. The bot doesn't escalate. Your team doesn't get pulled in. Everyone wins.

It's written like you're talking to a friend

Forget documentation-style writing. Your users aren't reading a manual. They're frustrated and want a quick answer. Write the way you'd explain it if someone asked you in a Discord voice call.

Instead of "Users must navigate to the settings interface to configure their notification preferences," write "Go to Settings and click Notifications. From there you can turn off anything you don't want."

It uses the words your users actually use

This one is subtle but important. Your team might call it "the verification flow." Your users call it "how do I get verified" or "why can't I type in channels." If your knowledge base entry only uses internal terminology, the bot won't match it to the user's question.

Think about how a brand new member would phrase their question. They don't know your internal names for things. They describe the problem in plain language. Your entries should match that language.

It gets updated when things change

This isn't a one-time project. Every time you change a process, update a price, add a new feature, or remove an old one, the knowledge base needs to reflect that. Outdated answers erode trust fast. If the bot tells someone the wrong price or sends them to a page that doesn't exist, you've lost credibility.

Where to Source Your Content

You don't need to write everything from scratch. Most of the answers already exist somewhere. You just need to collect them.

Your existing FAQ channel

If you have a #faq or #info channel, you've already done most of the work. Go through it, pull out every question and answer, and format them as individual entries. You wrote these for a reason. Now put them where the bot can actually use them.

Your website docs or help pages

If you have a website with documentation, help articles, or a FAQ page, that content is ready to go. Don't copy-paste huge pages though. Break them into individual answers to specific questions. A 3,000-word help article is too much for one entry. Pull out the 15 specific questions it answers and make each one its own entry.

Common questions from ticket history

Look at your last 50 tickets. I'd bet that 60% of them are asking the same 10 to 15 questions. Those are your highest-value entries. Every one of those you add to the knowledge base is one less ticket your team has to answer manually.

Tip: If you're using DuffyBot or a similar AI ticket bot, check which questions get escalated to human staff. Those escalations are literally telling you what's missing from your knowledge base.

Your rules and guidelines

"What are the server rules?" and "why was I muted?" come up constantly in community servers. Add your rules to the knowledge base so the bot can reference them directly. Same goes for role requirements, verification steps, or anything else members regularly ask about.

Structure It Right

How you organize your knowledge base matters almost as much as what's in it. Bad structure means the bot has to wade through noise to find the right answer.

Group by topic

Most support questions fall into a handful of categories. Account issues, technical problems, billing, getting started, rules and policies. Group your entries by topic. This isn't just for the bot, it also makes it much easier for you to spot gaps and keep things up to date.

One topic per entry

Resist the urge to create mega-documents. An entry called "Everything You Need to Know About Our Server" is going to perform terribly. The bot doesn't know which part of a 2,000-word entry to pull from when someone asks a specific question. Keep each entry focused on a single topic or question.

A good rule of thumb: if an entry answers more than two closely related questions, split it up.

Include question variations

People ask the same question in wildly different ways. "How do I get verified?" could also be "I can't type in any channels," "how do I access the rest of the server," or "it says I need to verify but I don't know how." If your entry only covers the first phrasing, it might miss the others.

You don't need to list every possible variation. But including two or three common ways people ask the question helps the bot make better matches. Some bots let you add tags or alternate phrasings specifically for this purpose.

The Feedback Loop

Here's where a knowledge base goes from "okay" to genuinely useful. It's the part most people skip.

Once your bot is answering questions, start paying attention to what it can't answer. Every time the bot escalates a ticket to a human, that's a signal. It means one of two things: either the question is too nuanced for a bot to handle (some questions genuinely are), or the answer isn't in your knowledge base.

For the second category, the fix is simple. Write the answer. Add it to the knowledge base. Next time someone asks, the bot handles it.

  1. Check which questions the bot escalates to your staff regularly.
  2. For each one, ask: is the answer already in the knowledge base?
  3. If no, write the entry and add it.
  4. If yes, the entry might be poorly written or using the wrong language. Rewrite it using the words the user actually used in the ticket.

Do this once a week for a month. You'll be amazed at how quickly the bot's resolution rate climbs. For more on this iterative approach, see our post on cutting ticket volume by 70%. A knowledge base that started at 20 entries and handles 40% of tickets can easily hit 80% within a few weeks, just by filling in the gaps that real users expose.

Over time, this becomes almost self-maintaining. The gaps get smaller, the escalations drop, and your team spends less time on repetitive questions. That's the whole point.

Common Mistakes to Avoid

Dumping your entire website into the knowledge base

More content is not always better. If you paste your entire website, terms of service, blog posts, marketing pages, and all, into the knowledge base, you're drowning the signal in noise. The bot has to search through thousands of words of irrelevant content to find the one paragraph that answers the question. This leads to worse answers, not better ones.

Be selective. Only add content that directly answers questions your users actually ask. Your "About Us" page and your blog post about company culture don't belong in a support knowledge base.

Writing in corporate speak

"We are committed to providing an exceptional user experience and are constantly working to improve our platform" tells the user absolutely nothing. It's filler. If someone asks why a feature is broken, they want to know when it'll be fixed, not that you're "committed to excellence."

Write like a human. Be direct. If you don't know when something will be fixed, say "We don't have an exact timeline yet, but we're working on it." That's honest and useful.

Never checking if the answers are still accurate

Set a monthly reminder. Thirty minutes. Go through each entry, check if it's still correct, update what's changed. This is the same problem as the "Outdated" section above, but it's worth repeating because it's the most common way a good knowledge base quietly becomes a bad one.

Start Here

Don't try to build the perfect knowledge base on day one. You'll burn out and it still won't be perfect. Here's what to do instead:

  1. List your top 20 most-asked questions. You know what they are. You've answered them a hundred times.
  2. Write clear, specific answers for each one. Short paragraphs, plain language, step-by-step where needed.
  3. Add them to your bot's knowledge base. Most bots have a dashboard or command for this.
  4. Wait a week. See what the bot handles well and what it escalates.
  5. Fill the gaps. Add answers for the questions it missed. Rewrite any entries that aren't matching well.

That's it. Twenty entries, written well, will handle the majority of your support volume. Everything after that is refinement.

The best knowledge base isn't the biggest one. It's the one that answers the questions your users actually ask, in the language they actually use, with information that's actually current. Start small, iterate often, and let your users' real questions guide what you add next.

DuffyBot

About DuffyBot

DuffyBot is an AI-powered support bot for Discord servers. It reads your knowledge base and answers support tickets automatically, with confidence scoring and staff handoff when it is not sure. Set up in 15 minutes, free tier included.

Learn more →

Ready to stop the ticket chaos?

Set up in 15 minutes. Free tier included. No credit card required.

14-day money-back guarantee on all paid plans