Support chatbot

Support answers your
customers can trust

Every answer comes from documentation that was generated from your code and checked against your running system — with a link to the exact section it came from.

And every question it can't answer goes back into Git2Docs, so the gap that failed one customer is closed before the next one asks!

On every page you publish, in your brand colour.

01 An end user asks in your docs, in your app asks 02 The chatbot retrieves, never invents queries 03 Your documentation semantic search (RAG) answers 04 A cited answer linked to the section no answer Clustered and triaged ranked by how many asked Documentation gap the code could answer it, the page didn't regenerate → validate Product signal they want something the product doesn't do to product · with demand evidence Knowledge gap the answer lives in someone's head, not the code author once · maintained with the docs the page regenerates, and is validated again Every unanswered question lands somewhere a person owns — nothing stops at a transcript.

Where the answers come from

A stale page doesn't just mislead one reader

It gets repeated, confidently, to every customer who asks — in a channel where nobody checks the "last updated" date. Documentation drift is an annoyance on a page and a support incident in a chat window. Which is why what the assistant is allowed to read matters more than how it answers.

Answers come from committed source

Derived from your repository, not uploaded to a knowledge base — so it can be checked against the code.

Documentation that failed its check can't answer

A section whose last validation failed is excluded from retrieval until it is fixed.

No second knowledge base to keep in sync

Sections index on publish and stay scoped to the published version — an AI knowledge base your team doesn't maintain, with nothing to re-upload after a release.

Verified and generated content are labelled

Each section carries what it is, so the assistant hedges where the evidence is thinner.

Product claims are cited, background isn't faked

Anything specific to your product links to its section. General knowledge can bridge, never assert.

Small products skip retrieval entirely

When the documentation fits in one prompt, the assistant reads all of it. Perfect recall, nothing missed.

The eligibility rule

What your customers never see

Most of the work of a trustworthy support answer is subtraction. Four categories of content are held back, and two are let through.

Excluded

Sections that failed validation

A documented command, flag or endpoint that didn't behave as written when it was last exercised against the running system.

Excluded

Contested sections

Where a human edit and a regeneration disagree and nobody has resolved it yet. An unresolved disagreement is not an answer.

Excluded

Low-confidence generated content

Generated content reasoned across files rather than read from the code keeps its confidence tier, and the lowest tier doesn't answer customer questions.

Excluded

Anything not in the current version

Retrieval is scoped to the published version a reader is on, so superseded pages don't surface as current behaviour.

Allowed

Verified and high-confidence sections

Author-verified content, agent-corrected content, and generated content extracted directly from the code — the documentation that earned the right to answer.

Allowed

General domain background

Bounded general knowledge about the platforms your product is built on, used to bridge a reader to an answer, never to assert what your product does.

The honest part

Saying "I don't know" is a feature, not a failure

The expensive failure in support isn't the deflection you miss. It's the answer that sounded right, cost someone an afternoon, and arrived as a ticket anyway — angrier. Every reply here is tagged by what it actually did — which is also where the honest line sits between what AI can take off an L1 queue and what belongs with a human.

A reply, with its tag
Reader

Can I pin a worker to a specific availability zone?

Assistant

Scheduling constraints are documented for node selectors and taints §4f2a91, but the documentation doesn't cover pinning by availability zone specifically. The closest page is Deployment → Scheduling.

no_answer
Tags are the measurement, not a label for the reader. Every reply is recorded as answered, partial or unanswered, which is what makes the next section possible — you can't rank what you didn't count.

The compounding part

Every question it can't answer belongs to someone

Support traffic is the highest-signal research your company will ever get: real users, their own words, at the moment they are stuck. Most of it dies in a transcript nobody opens. Here it is grouped by meaning, ranked by how many people asked, and sorted into the three things an unanswered question can actually mean.

Route 01

A documentation gap

The answer was derivable from your code and the page didn't carry it. Each cluster links to the section retrieval came closest to — usually the fastest page to fix. Close it at the source and the page regenerates, validates, and answers the next person who asks.

Owned by docs

Route 02

A product signal

Sometimes the documentation is fine and the product is the gap — people are asking for something it doesn't do. Those clusters are separated out and kept as a capability request with evidence attached: how many distinct people asked, which versions they were on, and their own words.

Owned by product

Route 03

A knowledge gap

Some answers were never in the code to begin with — a compatibility matrix, a migration caveat, the reason behind a default. These surface as the content your team knows and has never written down, authored once and then maintained alongside everything generated.

Owned by support and engineering

What you can actually report

The numbers a support lead needs in a QBR, without instrumenting anything.

Answer quality

Answered, partial and unanswered over 30 days, with thumbs and volume beside it.

Which documentation carries support

The sections cited most often — the pages doing the deflection, rarely the expected ones.

Where it's falling short

The most-asked questions it couldn't answer, each pointing at the page that closes it.

Documentation health

Ownership, confidence tier and validation status across your current sections.

Freshness

When documentation last regenerated, and the gap before that.

Demand signals

Capability requests from real support traffic, rolled up by how many asked.

Four questions to ask any documentation chatbot

Including this one. They're the questions that separate a retrieval layer from an accuracy claim — and they're worth asking of a documentation MCP server too, since agents query the same sections your customers do.

Ask it something that doesn't exist.

Invent a flag and ask what it does. A bot grounded in checked content tells you it isn't documented. A bot grounded in plausibility describes it for you.

Can an answer tell you where it came from?

Not a link to a page — the section. If a claim can't be traced to a specific piece of content, nobody can audit the answer after a customer acts on it.

What happens to content that's known to be wrong?

Ask whether a page flagged as inaccurate is still eligible to answer from. For most tools it is — the flag lives in a dashboard, not in the retrieval path.

Where do the questions it couldn't answer go?

If the answer is "a transcript", the bot is a deflection tool and nothing more. The questions it fails are the most valuable thing it produces.

FAQ

Questions this approach raises

How do you stop a support chatbot from confidently giving a wrong answer?
Two controls, and neither is a better prompt. First, what it is allowed to read: answers are drawn only from documentation sections that were generated from committed source and passed validation against the running system, so a page that contradicts the code is not available to answer from. Second, the grounding rule: any claim specific to the product must cite the section it came from, and when the retrieved sections don't answer the question the assistant says so and links the closest page rather than filling the gap. The check itself is runtime validation: documented commands and API calls exercised against your live deployment.
Does the chatbot need a separate knowledge base?
No. The documentation Git2Docs generates from your repository is the knowledge base. Sections are indexed when they publish and scoped to the published version, so there's no second knowledge base to curate, sync or re-upload after a release.
What happens when the documentation doesn't cover the question?
The assistant says the documentation doesn't cover it and points at the closest relevant page instead of inventing an answer. Every reply is tagged answered, partial or unanswered, so the misses are counted rather than lost, grouped with similar questions, and ranked by how often they're asked.
What do unanswered support questions do for the documentation?
They become the work queue. Unanswered questions are clustered by meaning, ranked by frequency, and routed three ways: a documentation gap, where the answer was derivable from your code and the cluster links to the section that should have carried it; a product signal, where people are asking for something the product doesn't do, kept as a capability request with evidence of how many distinct people asked and on which versions; and a knowledge gap, where the answer was never in the code and has to be authored once. Documentation gaps close at the source — the page regenerates and is validated again.
Can the chatbot answer general technical questions, not just product questions?
Yes, within bounds. Statements about the product must be cited from the documentation. General background about the platforms and technologies the product is built on is allowed uncited and in scope, so a reader asking a bridging question gets an answer — without that background ever being used to assert product behaviour. You can see it running on real documentation in the gallery.

Give your customers an answer worth trusting

Generate documentation from your repository, measure it against your code, and let it answer your customers. Free for 30 days, no card.