Product 6 min read Grafite Team
How Grafite Finds Topics in Your Meetings, and What It Does With Them
Topics Are Not a Single Feature, They Are Four Sources Feeding One System
When you open Explore and see a topic like "budget planning" or "Acme renewal" with a count next to it and a list of the meetings it came from, it looks like one clean feature. Underneath, it is four different sources of topics, a set of merge rules, and a review step, all working together. This post walks through exactly how, because the honest version is more useful than the marketing version, and it tells you what to do when a topic does not show up the way you expected.
Where Topics Actually Come From
AI summaries. On the Professional plan, every summarized meeting automatically runs a topic extraction pass as part of generating the summary. This is the highest-volume source, since most of your meetings likely get a summary already.
Hashtags you write. Type a #topic directly into any note, on any plan, and it becomes a real topic, linked the same way an AI-extracted one would be. This works whether or not the note has a summary at all, which matters more than it sounds like, more on that below.
The on-device model on the Mac desktop app. If you are running summaries locally on desktop with a model capable enough to do it, topic extraction runs as a step in that local pipeline, no cloud call, no Professional plan required. Smaller on-device models do not produce reliable topics, so this only kicks in with a model that can handle it.
Attachment digests. When you attach a document to a note or folder, Grafite generates a short digest of it, and that digest can surface topics too, the same way a meeting summary does.
Each of these sources exists for a different reason, not as redundant paths to the same result. Hashtags exist because you sometimes know exactly what something is about before any AI touches it, and forcing a wait for extraction would be slower than just typing the word. On-device extraction exists because not everyone wants their meeting content leaving their machine, and topics should not be a reason to change that choice. Attachment digests exist because documents carry real subject matter that a transcript never captures on its own.
Merging Duplicates Without Losing Anything
Raw extraction produces near-duplicates constantly. "Acme Corp" and "Acme" are the same account. "Microsoft Teams" and "Teams" are the same product. Left alone, your topic list would fill up with fragments instead of a clean picture. Grafite's rules catch the obvious cases automatically: the same name with different spacing or plurals, and the same product referenced with or without a vendor prefix.
Anything less obvious becomes a merge suggestion instead of an automatic action, shown as a notice you can accept, keep separate, or dismiss. Nothing merges without your say-so unless it is genuinely unambiguous.
Parent Topics: Why "Microsoft Teams" Sits Under "Microsoft"
Beyond flat duplicates, Grafite builds hierarchy. A topic like "Microsoft Teams" gets recognized as a subtopic of the broader "Microsoft," based on shared words, and that relationship gets applied automatically and is fully reversible if it is wrong. This means when you look at everything you have discussed about "Microsoft," you see the parent topic's own mentions plus everything rolled up from its subtopics, rather than having to check three related topics separately.
Explore's Topics table shows this structure directly, and search over topics includes subtopics too, so a search for the parent surfaces the children's meetings as well.
What Free and Personal Plans Get
Nothing about topic extraction from hashtags, on-device extraction, name matching, or curation requires a paid plan. On Free and Personal, you get:
- Topics from
#hashtagsyou write yourself - Name matching, so a note that mentions an existing topic by name links to it automatically
- Duplicate proposals for obvious near-matches
- Automatic, reversible subtopic relationships
- Full curation: merge, rename, set or remove a parent, mark something as not a subtopic, hide topics you do not want cluttering the list
- Counts, search, and roll-ups across everything you have
None of this needs a paid model call, which is part of why it works the same regardless of plan.
What Professional Adds
The Professional plan adds the parts of this that genuinely need a model to understand meaning rather than just match text:
- Automatic AI topic extraction on every summarized meeting, with no manual step
- On-demand extraction you can trigger yourself on a specific note
- Backfill, so older notes that predate your upgrade can get topics retroactively
- An AI grouping pass that looks for topics that share no obvious words but are still the same idea, run automatically when it is due
- Suggested links and likely-same pairs, surfaced as review suggestions in Explore, never applied without you accepting them
The distinction is not arbitrary. Anything that can be read directly off the words in a note, spelling variants, exact name matches, shared-word subtopics, works the same everywhere because it is mechanically reliable and costs nothing to run. Anything that requires actually understanding what a topic means, recognizing that two differently-worded topics are the same underlying idea, runs on a cloud model and is part of the paid tier.
The Honest Limitation: Notes Without a Summary
If a note has no AI summary, whether it is a typed note you never ran a summary on, or an imported transcript brought in without one, it only picks up topics from hashtags you write yourself. Automatic extraction, whether cloud or on-device, runs as part of the summarization pipeline, so a note that skips summarization skips that pass too.
The practical fix is straightforward: if a note matters enough that you want it connected to your topic graph, add a hashtag or two while you are writing it. It takes a few seconds and guarantees the note shows up wherever that topic does, regardless of plan.
This is the kind of limitation we would rather state plainly than have you discover by noticing a note missing from a topic page. It is also a small, deliberate argument for developing the habit of hashtagging notes you care about, even ones you also intend to summarize later. A hashtag costs nothing and never depends on which plan you are on or which AI route a summary ends up taking.
Why This Design, Not a Simpler One
It would be simpler to run every note through a cloud model and call it done. We split it this way because a lot of topic organization does not need a model at all, it needs consistent rules, and running those for free means every account, regardless of plan, gets a real topic graph rather than an empty one waiting for an upgrade. The Professional tier is reserved for the genuinely hard part: understanding meaning well enough to know that two different-sounding topics are actually the same thing.
Read the fuller picture of how capture, summaries, and topics fit together in from conversations to a knowledge base.
Try Grafite and watch your topic graph build itself as you keep taking notes. Grafite Core is free forever.
Share this article
