Knowledge Gaps is currently in private Beta and enabled for selected customers. If you’d like access, reach out to the team on Slack or via the in-app chat.
- A severity bucket (Low, Medium, High, or Critical) driven by ticket volume and 30-day trend.
- A classification of why it’s a gap: no content exists, or content exists but wasn’t sufficient.
- Example tickets, an item and problem type, and a lifecycle state so you can see whether it’s growing, quiet, or archived.
Views
The Gaps tab has three mutually exclusive views. Click any summary stat at the top to switch.
Filter open gaps by severity, search by label or example question, and set a date range from the header.
How gaps are detected
Detection runs automatically on a weekly cycle, per workspace. Each run pulls escalated tickets since the last successful run, matches them against existing gaps, clusters what remains, splits mixed-topic clusters, classifies each cluster, and recomputes severity, trend, and lifecycle for every gap in the workspace.If a scheduled run is still finishing when the next one is due, the next run is skipped rather than queued behind it. Runs that fail don’t advance the watermark, so the next run automatically re-covers the same window with no gaps or double-processing.
What counts as an escalation
An escalation is any ticket where the AI agent could not resolve the customer’s question. For each one, detection records:- Knowledge-base signal: whether the agent tried a KB lookup and what came back.
- No content: searched and found nothing.
- Had content: searched and found something, but it didn’t resolve the question.
- Not searched: the agent never attempted a lookup.
- Item and problem type: the product or system involved and the kind of problem, extracted from the ticket. Synonyms and casing are canonicalized so one gap doesn’t silently swallow unrelated topics with similar wording.
- Queue and agent attribution: for per-queue reporting.
Running detection on demand
Use Sync from the Gaps tab to force an immediate run using the same pipeline as the weekly schedule.Severity and trend
Every gap gets a severity bucket, recomputed on every run from ticket volume and 30-day trend. How volume and trend combine:- Volume contributes 60% of the score. It saturates once a cluster hits about 150 tickets. Beyond that, more tickets don’t raise volume further.
- Trend contributes 40%. Trend is the percentage change in new tickets over the last 30 days compared with the prior 30 days.
- A flat cluster scores neutral, so it isn’t rewarded or penalized.
- A growing cluster scores higher and can rank above a bigger but flat one.
- A declining cluster scores lower and sinks in the list on its own.
- New clusters without prior-window history are treated as flat, so they aren’t penalized or inflated on their first appearance.
A gap’s severity can change even with no new tickets. The scoring window slides forward in time with “today”, so an unchanged cluster can drop a bucket purely because comparable activity fell out of the trailing 30-day window. This is expected.
Emerging topics
Some escalations are too rare or too early to hit the clustering threshold on their first pass. Rather than being dropped, they’re held in a pending pool and automatically re-fed into every subsequent weekly run. Once enough similar tickets accumulate, they graduate into a real, visible gap.- Shown in the Emerging view, framed as “not a confirmed gap yet, but showing up.”
- A stray that goes 21 days without gathering enough companions ages out.
- Tickets where the agent never attempted a KB lookup are never pooled.
Cluster lifecycle
Every cluster has a lifecycle state that’s maintained automatically as part of each weekly run.
Labels and descriptions are refreshed automatically once a cluster has grown meaningfully since it was last labeled, so the name stays accurate as more tickets land in it.
A cluster that has stopped growing keeps its existing label even if it feels dated. Label refresh only fires after meaningful new growth. This is intentional to avoid churn on stable clusters.
What you can do with a gap
Open any gap to see its label, description, example tickets, item and problem type, ticket volume, severity, trend, and lifecycle state. From there you can:- Generate a KB article from the cluster. This uses every ticket in the gap to draft a single, comprehensive article covering the topic.
- Open example tickets to see the underlying customer questions and confirm the cluster matches what you’d expect.
- Archive a gap manually if you have already resolved it or if the topic is no longer relevant.
Learn more about generating a KB article from a gap
Common issues
Nothing is showing up in Gaps
Nothing is showing up in Gaps
Detection is a weekly cycle. On a brand-new workspace, results appear after the first scheduled run. Use Sync to force an immediate first run if you don’t want to wait.
An obviously repeated question isn't showing as a gap
An obviously repeated question isn't showing as a gap
Most likely it’s still in the Emerging view because it hasn’t accumulated enough tickets yet, or the agent never attempted a KB lookup on those tickets (which routes them out of the gaps list entirely), or the tickets fall outside your current date range.
A cluster's label looks stale
A cluster's label looks stale
Labels only refresh after a cluster has grown meaningfully since its last relabel. A cluster that has stopped growing keeps its old wording. This is expected.
A cluster's severity changed with no new tickets
A cluster's severity changed with no new tickets
Expected. Severity uses a trailing 30-day comparison window that slides forward with today, so a bucket change without new activity is the math working, not a bug.
A gap I fixed still shows as "not yet covered"
A gap I fixed still shows as "not yet covered"
Live coverage status isn’t wired up in the current Beta. Every gap displays the same default coverage state. This is on the roadmap.
Glossary
- Gap / cluster: a group of similar customer questions that the knowledge base doesn’t currently answer well.
- Severity: Low, Medium, High, or Critical, driven by ticket volume and 30-day trend.
- Trend: the 30-day change in how often a topic is coming up, compared with the prior 30-day window.
- Emerging: questions that resemble each other but haven’t yet reached enough volume to be called a confirmed gap.
- Archived: a gap that has gone quiet for 90+ days and was either resolved or naturally faded.