See what your documentation could not answer
Your readers are already telling you what is missing. AI Insights records every question your AI could not answer, ranks them by how often they failed, and tells you why each one failed — so "what should I write next" stops being a guess.
Analytics tells you what was read. This tells you what was missing.
Page analytics can only measure pages you already have. If a hundred readers asked about something you never documented, there is no page to show a zero on — the demand is invisible. A question that failed is the one signal that points at content which does not exist yet.
"Unanswered" is not one problem
A flat list of failed questions tells you something is wrong but not what to do about it. Sonat tags every gap with the reason it failed, and each reason asks for different work.
refused The engine found related topics and still could not answer from them.
A genuine content gap. The subject is adjacent to something you have written, but the specific answer is not in it — write the topic.
no_sources Retrieval came back completely empty.
Either nothing covers this at all, or the content exists and is not indexed. If most of your gaps land here, check indexing before writing dozens of topics.
no_results A plain site search for the question matched nothing.
Coverage or wording. Sometimes the topic exists but uses your internal vocabulary rather than your readers'.
disliked The AI answered, and the reader marked the answer unhelpful.
The topic almost certainly exists and is wrong, stale, or unclear. Find and fix it — do not write a duplicate.
One number that says what to do
The report leads with the count of questions your documentation could not answer, because that is the number you can act on. Questions asked, answer rate and the time estimate sit beside it as context, not as four competing headlines.
The refusal split is the diagnostic worth reading. Refusals where documents were retrieved point at a writing backlog. Refusals where retrieval came back empty point at missing — or unindexed — content. They look the same in a total and mean opposite things.
Is it getting better?
Answered and unanswered are stacked rather than drawn as two lines, so the height of a bar is the day's volume and the band on top is the gap. Two separate lines let a quiet week read as an improvement.
Which topics carry the load
The topics your answers actually lean on, ranked by how often they were cited. These are the pages worth keeping accurate — and each one links straight into the editor, so fixing one is two clicks from noticing it.
Example data.
Your AI can read the gaps and write the answer
The gap report is not only a page. It is also a tool on the Sonat MCP Server, so an assistant like Claude can read what your documentation failed to answer, check whether anything already covers it, draft the topic in your structure, and publish it. A person still approves the publish — the agent proposes, your team decides.
Reading your content and seeing what it missed, in one place, is what turns a documentation chatbot into something that improves your documentation.
See the MCP toolsWhat it does not record
A dashboard loses its credibility the first time a customer checks it against something they already know. So here are its edges, before you find them.
-
Short queries never reach the AI
Searches under three words are treated as keyword lookups and do not trigger an AI answer, so they never appear as AI gaps. The report covers questions asked in sentences — which are the harder ones.
-
Near-duplicate questions are separate rows
"reset password" and "how do I reset my password" rank as two gaps today. Grouping questions into themes is on the roadmap; until then, expect to read the table with an eye for repetition.
-
The assistant widget is not counted yet
Questions asked through the embeddable assistant widget on third-party sites are not yet recorded. Questions asked in your published manuals and through the MCP server are.
-
Time saved is an estimate, and says so
Answered questions multiplied by 15 minutes, with the assumption printed on screen. We cannot know whether a reader who got an answer would otherwise have raised a ticket, so it is an upper bound rather than a measurement.
Frequently asked questions
What is a content gap in documentation?
A content gap is a question your readers asked that your documentation could not answer. It is different from a page that gets no traffic: a gap is demand you can see, with no supply behind it. Sonat records every question the AI could not answer, ranks them by how often they failed, and tags each one with the reason it failed.
How does Sonat know when the AI could not answer?
The answer engine reports the outcome as a field, rather than anything guessing from the text. When retrieval returns no documents at all, the question is a refusal by definition. When documents are retrieved and the model still cannot answer, it signals that directly. Because the outcome is structured data and not a sentence, it works the same way in every language your readers write in.
Is this the same as my website analytics?
No, and they answer different questions. Web analytics tells you which pages were read. AI Insights tells you which questions went unanswered — including questions about subjects you have no page for at all, which analytics can never show you because there is nothing there to measure.
Which plans include AI Insights?
AI Insights is available on the Business plan and above. Search analytics — query volume, top queries and zero-result searches — is available on every plan, including Free.
Can an AI agent read the content gaps?
Yes. The gap report and the headline numbers are both exposed as tools on the Sonat MCP Server, so an assistant like Claude can read what your documentation failed to answer, check whether anything already covers it, draft the topic and publish it. A person still approves the publish.
What does 'support time saved' mean?
It is an estimate, and the page says so on screen. It multiplies answered questions by 15 minutes — roughly the time it takes someone to read and reply to a written support request. It is an upper bound by construction, because we cannot know whether a reader who got an answer would otherwise have opened a ticket. Treat it as a sense of scale, not a measured saving.