Notion AI news, read structurally

Every 2026 Notion AI release pushed the agent further inside Notion. Fazm shipped a file indexer that walks past the perimeter.

This is a reader's guide to Notion AI updates in 2026, read as one continuous story instead of a feature list. The story has a shape: every release expands the agent's reach inside Notion or against cloud partners Notion has signed integrations with. The story leaves a gap. The gap is the user's local file system. Fazm fills it with FileIndexerService, an actor that walks eleven home folders at depth three and writes a knowledge graph to two SQLite tables on your Mac.

M
Matthew Diakonov
11 min
4.8from 62 founders and operators
Built on real macOS accessibility APIs, not screenshots
Local SQLite index over your home folders
Same MCP server format as Claude Code

The arc of Notion AI in 2026, in six dated rows

Most recaps treat the announcements as a checklist of features. Read the dates as one motion and the through-line shows up. Notion is teaching its agent how to do more inside Notion's own surface, and against the cloud APIs Notion has signed integrations with. Each rung is a real upgrade. Each rung also stops at the same wall.

1

January 2026, Notion 3.2

Agent thinks step by step on mobile. The Cmd+J flow ships on iOS and Android.

2

February 27, 2026, Notion 3.3

Custom Agents and autonomous mode. The agent can run for up to 20 minutes against a goal.

3

March 20, 2026 update

Reusable agent skills, agent settings page, MCP integration with hosted n8n, dashboard view.

4

April 14, 2026, Notion 3.4 part 2

Workers for Agents (Enterprise, 30 second wall clock, 128 MB memory cap), voice AI input, AI Meeting Notes from Cmd+K, shareable AI chats, Views API with eight endpoints, smart filters, heading 4 blocks, tab block API.

5

April 16, 2026 model swap

Opus 4.7 becomes the default model behind the agent. Anthropic claims 3x fewer tool errors.

6

April 17, 2026 agent integrations

Mail and Calendar added to Custom Agent settings. Custom Agents free trial extended through May 3.

The shape every release shares

Across all six releases, the agent's input space and the agent's action space both stay inside one of two perimeters. Either the action lands on a Notion object (a page, a database row, a property), or the action lands on a cloud API Notion has connected to (Gmail, Microsoft Graph, Slack Web API, hosted n8n). Workers for Agents lets the agent run code, but inside Notion's sandbox at 30 seconds and 128 MB. None of it reaches the Mac the user is sitting at.

Where the agent can act in Notion 3.4

User intent
Custom Agent
Workers for Agents
Notion's servers
Notion pages
Gmail / Graph
Slack Web API
Hosted n8n
0

Number of Notion AI releases in 2026 that gave the agent access to a file outside Notion.

Notion's 2026 changelog, January through April

The other perimeter: your home folder

The work most people do is not entirely inside one product. There is a Downloads folder full of attachments. A Documents folder with old proposals. A Desktop with screenshots and exports. A Developer or Code folder with repos. /Applications is its own small museum. Notion AI cannot see any of it.

Fazm's perimeter is the opposite of Notion's. It runs on your Mac, under your user, with the same disk access you have. The first thing it does at startup is walk the folders below.

~/Downloads
~/Documents
~/Desktop
~/Developer
~/Projects
~/Code
~/src
~/repos
~/Sites
/Applications
~/Applications

Eleven roots. Walked at depth three. Files larger than 500 MB skipped. Records inserted into the indexed_files table in batches of 500.

The actual code, FileIndexerService.swift

This is the part of the app that turns a Mac into something an agent can ask questions of. The actor lives at Desktop/Sources/FileIndexing/FileIndexerService.swift in the Fazm source tree. Three constants on the type set the entire scope.

Desktop/Sources/FileIndexing/FileIndexerService.swift
0Home folders walked at startup
0Max recursion depth per folder
0Files per insert batch
0Skip-list directories (node_modules, .git, ...)

The skip list is the interesting part

A naive indexer walks every folder it sees and ends up indexing 200,000 files in node_modules on a single repo. The reason Fazm's index stays useful is the constant on line 13. These twenty-one entries are excluded everywhere they appear, at any depth.

Build artifacts

DerivedData, .build, build, dist, .next, .nuxt, target

Package caches

node_modules, Pods, vendor, .cargo, .rustup

Language venvs

.venv, venv, __pycache__

Tooling state

.git, .cache, .npm, .yarn, .local

macOS noise

.Trash, Library

The pattern: things a human did not author and would not search for. The same list a developer would type into a .gitignore. Stripping these out is how the index stays small enough that an agent prompt can include a file list as context.

Ten categories, defined by extension

The categorizer in IndexedFileRecord.swift maps every indexed file into one of ten types. The split is what lets an agent answer questions like “every spreadsheet I downloaded since Monday” without scanning bytes, just by filtering on the fileType column.

CategoryMapped extensions
documentpdf, doc, docx, txt, rtf, md, pages, odt
codeswift, py, js, ts, tsx, jsx, go, rs, java, cpp, c, h, rb, php, kt, scala, sh, bash, zsh, r, m, mm, lua, pl, ex, exs, hs, clj, dart, vue, svelte
imagepng, jpg, jpeg, gif, svg, psd, ai, sketch, webp, ico, tiff, bmp, heic, raw
videomp4, mov, avi, mkv, webm, flv, wmv, m4v
audiomp3, wav, aac, m4a, flac, ogg, wma, aiff
spreadsheetxlsx, xls, csv, numbers, tsv, ods
presentationpptx, ppt, key, odp
archivezip, tar, gz, dmg, rar, 7z, bz2, xz, pkg, iso
datajson, xml, yaml, yml, sql, db, sqlite, plist, toml, ini, cfg, conf
othereverything else

The local schema is three tables

One table holds files. Two tables hold the knowledge graph the agent reads against. The graph stores nodes (concepts, projects, tags) and edges (relationships) extracted from the files the indexer found. Notion's knowledge graph stores Notion pages and the relations between them. Fazm's stores everything else.

local schema (GRDB-managed)

Why this matters for someone reading Notion AI news

The 2026 release notes are real upgrades. If your work lives inside Notion, you should adopt them. The Views API, AI Meeting Notes, Workers for Agents, Mail and Calendar in the agent are genuinely useful. None of that changes the fact that your laptop has another twenty-five gigabytes of context the agent will never see, because Notion's perimeter does not extend to your disk.

Fazm's job is the inverse. It runs locally, indexes the eleven folders above, builds a knowledge graph from what it found, and lets an agent reason against it the same way Notion AI reasons against pages. The two products do not compete on the news cycle, they compose.

Notion AI's perimeter vs. Fazm's perimeter

FeatureNotion AI (cloud)Fazm (local)
Where the index livesNotion's serversSQLite on your Mac (GRDB-managed)
What gets indexedPages, blocks, properties inside NotionFiles in 11 home folders, depth 3
Knowledge graph sourceInter-page links and database relationslocal_kg_nodes + local_kg_edges from indexed files
How tools are addedWorkspace admin enables a partner integrationEdit ~/.fazm/mcp-servers.json (same shape as Claude Code)
ComputeWorkers for Agents: 30s wall clock, 128 MBWhatever your Mac has, no per-call cap
Reaches a desktop appNo (cloud APIs only)Yes (macOS accessibility through MCP)
Reaches a file Notion never importedNoYes, via the indexed_files table
Plan gate for code executionEnterprise only (Workers for Agents)Subscription tier, no separate plan wall

A first scan, watched live

Fazm logs every step of the rescan to its app log. On a fresh install, the first pass typically completes in under a minute on an M-series Mac and indexes a few thousand records. The output below is the actual log shape from FileIndexerService.

~/Library/Logs/fazm.log

Questions Notion AI has no answer for, and the index does

Sample queries that hit indexed_files instead of a Notion database

  • every PDF in ~/Downloads modified in the last 7 days, sorted by size
  • every Swift file under ~/Code with depth ≤ 2, grouped by repo
  • every spreadsheet in ~/Documents larger than 5 MB
  • every Keynote and Pages file on the Desktop, indexed since Monday
  • every .app under /Applications and ~/Applications, with last-modified date
  • every screenshot in ~/Desktop or ~/Downloads (heic, png, jpg) from this quarter
  • every video in ~/Documents over 100 MB, by category=video
  • every .sqlite or .db file the agent might already have an MCP server for

These are SQL clauses, not LLM hallucinations. The agent translates the natural-language ask into a query against indexed_files and returns the rows. None of these answers exist inside a Notion workspace by default.

Want to see your own Mac become an addressable surface?

Walk through the indexer with me, plug in an MCP server, and watch an agent answer questions about your local files in real time.

Frequently asked questions

What are the most recent Notion AI updates?

Notion shipped four dated releases in 2026 that are still relevant when people search for Notion AI news. Notion 3.2 in January 2026 introduced agent thinking on mobile. Notion 3.3 on February 27, 2026 made the agent autonomous for up to 20 minutes per task. The March 20, 2026 update added reusable agent skills. Notion 3.4 part 2 on April 14, 2026 introduced Workers for Agents (Enterprise sandboxed code execution capped at 30 seconds wall clock and 128 MB memory), voice input for AI on the desktop, AI Meeting Notes triggered from Cmd+K, shareable read-only AI chat links, the Views API with eight endpoints, smart filters, heading 4 blocks, and tab block API support. April 16 swapped Opus 4.7 in as the model behind the agent. April 17 added Mail and Calendar to Custom Agent settings, with the Custom Agents free trial extended through May 3, 2026.

What is the structural pattern across every Notion AI release in 2026?

Every customer-facing change extends what the Notion agent can reach inside Notion's own perimeter or against partner cloud APIs Notion has signed integrations with. Workers for Agents adds compute, but inside Notion's sandbox. Mail, Calendar, and Slack are added to the agent, but as cloud HTTPS API integrations against Gmail, Microsoft Graph, and Slack Web API. The Views API exposes structured Notion data to external services. The n8n MCP integration adds tools, but the call originates from Notion's servers against a hosted n8n instance. Across the entire 2026 release series, no Notion AI update gives the agent the ability to open an app on a user's Mac, type into a native text field, or read what is on the user's screen.

Where does Fazm fit in this story?

Fazm runs on the user's Mac, not in a cloud workspace, so the perimeter is the operating system rather than a SaaS product. The differentiator that matters for the news cycle is FileIndexerService.swift, an actor that walks 11 specific home folders (Downloads, Documents, Desktop, Developer, Projects, Code, src, repos, Sites, /Applications, ~/Applications) at maximum recursion depth 3, batches inserts at 500 records per write, skips 21 build and cache directories like node_modules and .git and DerivedData, and writes results into the indexed_files SQLite table. A second pair of tables, local_kg_nodes and local_kg_edges, stores a local knowledge graph derived from those files. Notion AI's knowledge graph is built from content already inside Notion. Fazm's includes files Notion never imported.

What exactly does Fazm's file indexer cover?

The indexer maps file extensions into ten categories: document (pdf, doc, docx, txt, rtf, md, pages, odt), code (28 extensions including swift, py, js, ts, tsx, go, rs), image (16 extensions), video (8 extensions), audio (8 extensions), spreadsheet (xlsx, xls, csv, numbers, tsv, ods), presentation (pptx, ppt, key, odp), archive (10 extensions), data (json, xml, yaml, sql, db, sqlite, plist, toml, ini, cfg, conf), and other. Files larger than 500 MB are skipped to avoid wasting index time on backups and disk images. Package extensions like xcodeproj, xcworkspace, app, framework, and bundle are treated as leaf entries so the indexer does not recurse into the internals of an Xcode project or a Mac app bundle.

How is this different from a Notion AI database query?

Notion AI queries a database of pages, blocks, and properties that already live inside Notion. The Views API released in April 2026 makes that query layer addressable from outside Notion, but it still only returns content that was authored or imported into Notion. Fazm's indexer queries a SQLite database that lives in your Mac's application support directory, populated by walking the actual file system the user works in. A request like "find every PDF I downloaded last Thursday that is over 5 MB" lands as a single SQL clause against indexed_files; in Notion AI it has no answer because those PDFs are not pages.

Is this private or does Fazm send my file list anywhere?

The indexed_files and local_kg_nodes and local_kg_edges tables are stored on disk by GRDB on the same Mac that runs Fazm. The actor is named FileIndexerService and lives in Desktop/Sources/FileIndexing/. The records hold paths relative to the home directory, file size, file type category, depth, and modification dates. They do not hold file contents, and the table is not pushed anywhere by default. Anything that crosses the network does so through an explicit chat tool call when an agent needs to act on a file, not as part of the indexing background pass.

How often does Fazm re-index?

There is a backgroundRescan() function on FileIndexerService that runs incrementally. Existing paths are loaded once into memory for O(1) lookup, the same 11 folders are walked again, files that already exist are touched only when their modification date changed, new files are inserted in batches of 500, and paths that are no longer on disk are removed at the end of the pass. The result is that the index reflects the current state of those folders without re-reading every byte every time, and stays useful even if the agent has been off for a week.

Do I need to wait for Notion to add an integration before the agent can use a local file?

No, that is the point. Notion's release cycle expands an allowlist: a feature ships when Notion has built and certified a partner integration. Fazm's release cycle expands the local index: a folder, a category, an MCP server, or a desktop automation routine becomes available the moment its code lands in the app. The two cycles are orthogonal. You can subscribe to both Notion AI for cloud research and Fazm for desktop execution, and the unit of integration is the file or app on your Mac rather than a hosted partner.

Where can I see the indexer code referenced here?

FileIndexerService is at Desktop/Sources/FileIndexing/FileIndexerService.swift in the Fazm source tree, with the 11 scanned folders defined on lines 82-95, the 21-entry skip set on lines 13-18, the 500 MB file cap on line 24, and the batchSize of 500 on line 27. The IndexedFileRecord struct and FileTypeCategory enum live in Desktop/Sources/FileIndexing/IndexedFileRecord.swift, with the ten categories listed on lines 6-16 and the extension mapping on lines 21-39. The local knowledge graph tables are declared in Desktop/Sources/FileIndexing/KnowledgeGraphRecord.swift as local_kg_nodes and local_kg_edges.