Skip to content
Try Free →

How to build an internal knowledge-base chatbot

Last updated: · 6 min read

What an internal KB bot actually does

An internal knowledge-base chatbot is a search-and-Q&A interface trained on your company's private documents. It answers in plain English with citations to the source so employees can verify. Concretely, it replaces three patterns that waste 10 to 30 minutes per question:

  1. "Where's the doc for...?" Slack messages to colleagues asking for a link. The bot finds the doc, quotes the relevant paragraph, links to it.
  2. "What's our policy on...?" Questions to HR or finance about expense limits, PTO, security policy. The bot quotes the policy doc.
  3. "How do I...?" Onboarding-type questions about internal tooling, deploy processes, request workflows. The bot walks the user through the steps from the relevant runbook.

The win is asymmetric: every employee asks the bot, the bot answers from canonical docs, you stop interrupting subject-matter experts to look up things that are already written down.

Why this is harder than it sounds

Three problems most teams run into when they try to DIY this:

  1. Content is everywhere. Confluence, Notion, Google Drive, Slack threads, Zendesk help articles, a few Markdown files in GitHub. A useful bot has to read all of them.
  2. Access control matters. HR documents shouldn't surface to engineering. Finance policy shouldn't surface to interns. The bot needs to know who's asking.
  3. Hallucinations are a fireable offense in internal context. If the bot invents an answer about your PTO policy and an employee acts on it, that's a real problem. Source citations and refusal-to-answer fallbacks aren't nice-to-haves.

AskVault handles all three.

The four ingestion sources that matter most

Most companies have content scattered across these four systems:

  • Confluence. Long-form team docs, design specs, postmortems, onboarding guides. Connect via the Confluence integration in Knowledge > Add Source > Confluence. AskVault crawls every space you grant access to, indexes them, and re-syncs on a schedule you pick.
  • Notion. Modern teams have moved here. Connect via OAuth. Pages, databases, sub-pages all index.
  • Google Drive. Folders of PDFs, DOCX, slide decks, spreadsheets. Connect via OAuth and pick which folders to index. Useful for HR policy folders, legal contract repositories, and onboarding decks.
  • Slack. Historical discussions in #engineering, #hr-faqs, etc. AskVault can index channel history (read-only) so the bot can answer "how did we resolve this incident last time?" with citations.

Three more for completeness: Zendesk for customer-facing help articles you want internal teams to be able to search, GitHub for README files and internal documentation in repos, and direct file uploads for one-off PDFs and DOCX files that aren't in any system. Plus manual snippets and Q&A pairs for tribal knowledge that never made it into a doc.

Setup, step by step

This is the minimal path to a working internal KB bot:

  1. Create a workspace. Name it something like "Internal Helpdesk".
  2. Connect ingestion sources. Start with Confluence or Notion (whichever has most content). Add Google Drive folders for HR and finance policies. Add Slack channels for engineering and product discussions.
  3. Run the initial index. 90 seconds for 50 pages; longer for larger corpora. Confluence and Notion are usually 5 to 30 minutes for a real company's content.
  4. Set up identity verification. Under Settings > Identity Verification, copy the workspace HMAC secret. Use it in your SSO middleware to sign each employee's user_id before passing it to the widget.
  5. Tag documents with audiences. HR documents get audience: ["hr_team", "managers"]. Finance gets audience: ["finance_team", "executives"]. Everything else stays open. Audience tags are set under Knowledge Hub > [select] > Audience.
  6. Deploy the widget. Embed it on your internal portal, your company wiki home page, or wherever employees land first. Or use the Slack channel and let employees DM the bot directly.

That's the whole setup. Re-crawl is scheduled (daily or weekly per source) so the bot stays current.

Sizing the bot to your company

A rough sizing guide based on how much content you have:

  • Up to 100 docs. Free or Starter plan (₹2,499/mo). One workspace, web widget plus Slack. Good for a 5 to 20-person team.
  • 100 to 500 docs across 3-4 sources. Growth plan (₹4,999/mo). Multiple workspaces if you want department-specific bots, all channels including WhatsApp for mobile-first teams, identity verification, brand-free widget.
  • 500 to 2,000 docs, regulated content (legal, HR-sensitive). Business plan (₹8,499/mo). 15 workspaces, voice channel for accessibility, advanced audit logs.
  • 2,000+ docs, strict compliance, dedicated infra. Enterprise. Signed BAA for HIPAA-relevant content, SSO/SAML, custom data residency, audit logs extended to 6 years.

The content-volume number matters more than employee headcount. A 50-person startup with two dozen docs fits the Free tier. A 30-person law firm with 1,200 case files and policy documents needs Business+.

Compliance and access control

Three controls matter for an internal KB bot in any regulated context:

  • Identity verification (HMAC). Every chat turn carries a signed token proving who's asking. Without it, audience tags can be spoofed by anyone with DevTools open. Always enable HMAC verification before going live. Growth+
  • Audience tags per document. HR documents tagged ["hr_team", "managers"] are invisible to a query from someone whose verified context lacks those roles. The bot can't reveal the document exists.
  • Audit log. Every state-changing action (workspace edits, document deletes, conversation rebroadcasts) is recorded with the acting user and timestamp. Retained 365 days on standard plans, 6 years on Enterprise.

Combined: you can prove to legal who saw what and when.

Common use cases

A few patterns we see most often in early customers:

  • IT helpdesk. "How do I reset my VPN password?", "Which laptop do I order?", "How do I request access to AWS?" Bot answers from the IT runbook + onboarding deck.
  • HR self-service. "What's our parental leave policy?", "How do I update my emergency contact?", "Where do I file an expense?" Bot quotes the relevant policy doc.
  • Engineering onboarding. "How do I deploy to staging?", "Where's the docs for our payments service?", "Who owns the customer-success table?" Bot pulls from internal wiki + GitHub READMEs.
  • Customer-success enablement. Internal-only bot indexed on every customer-facing help article + product docs. CS reps query it during live calls instead of switching tabs.

Deploy via Slack

For most internal teams, the right channel isn't a website widget. It's Slack. AskVault's Slack integration deploys the bot as a Slack app:

  • Direct messages. Employees DM the bot directly with a question. The bot replies in-thread with citations.
  • @-mentions in channels. Mention the bot in #engineering and it answers in-channel. Useful for "anyone know how X works?" questions that would otherwise need a human.
  • Slash commands. /askvault what's our PTO policy? from any channel. Quick search without leaving the conversation.

Slack setup is a one-click OAuth flow under Deploy > Slack. Required scopes: chat:write, app_mentions:read, channels:read, users:read. Identity verification works through Slack's user identity, so the same audience-tag rules apply.

FAQ

How do I keep the bot's knowledge fresh?

Set up recurring crawl under each source's settings. Daily for Confluence and Notion (since these change frequently), weekly for Google Drive folders, every commit for GitHub if you wire up the webhook. The bot uses the most recent indexed version. Growth+

Can employees flag a wrong answer?

Yes. Every response has a thumbs-up / thumbs-down. Down-votes fire the knowledge.gap_detected webhook so you can investigate and update the source doc. Bad answers are usually a content problem (the source is outdated or unclear), not a bot problem.

Does this replace our human HR or IT team?

No. It deflects the 60 to 70% of questions that are already answered in your docs. The remaining 30 to 40% (situational, judgment calls, sensitive matters) still go to humans, but with the bot having already filtered out the easy ones.

How do I handle confidential content that even logged-in employees shouldn't see?

Don't put it in the bot's knowledge base. The audience tag system is strong but it's not a substitute for not-ingesting-in-the-first-place. If a document should be visible to only 3 people, keep it in a private vault, not in a shared knowledge base.

Can I get usage analytics?

Yes. Under Analytics in the dashboard: top questions, unanswered queries, response time, satisfaction scores, peak hours, knowledge coverage. CSV export on Business+. Business+

Was this page helpful?