Docs
Notebooks

How Notebook Search Works

A friendly mental model for how your Flows find the right knowledge from your Notebooks at runtime.

How Notebook Search Works

You don't need to understand search algorithms to use Notebooks - they just work. But once you've uploaded a few sources and noticed an agent answer in ways you didn't expect (good or bad), it helps to know what's happening behind the scenes.

This page is the mental model.


The big idea

Your Notebooks hold everything you've uploaded - docs, websites, files from connectors. But your agents don't read your entire Notebook library on every message. They search it, pull back the most relevant bits, and use those bits to compose an answer.

So Notebook quality has two halves:

  1. What's in it - the documents, structure, freshness.
  2. How well your agent can find the right bits - which is what this page is about.

Step 1: Sources get chunked

When you add a knowledge source, FormWise splits it into smaller chunks - think paragraphs or short sections, not whole documents.

Why chunks?

  • A 100-page PDF is too big to hand the model whole.
  • Even if you could, only a few paragraphs are usually relevant to any one question.
  • Chunks make retrieval precise: the agent gets the page on warranty policy, not the whole employee handbook.

You'll see chunk counts on your sources in the Notebooks UI. A 50-page doc might split into 80-200 chunks depending on its structure.


Step 2: Chunks get indexed

Each chunk gets converted into a numerical fingerprint that captures its meaning. Two chunks that talk about similar things get similar fingerprints, even if they don't share the same words.

This is what lets a search for "how do I get my money back?" match a chunk that says "refund policy" - the wording is different, but the meaning is close.

Status states - A new source moves through pending -> processing -> ready (or failed). Only sources that hit ready are searchable. Big files take longer; check back in a few minutes.


Step 3: At runtime, the agent searches

When an end user sends a message, here's what happens:

  1. The agent looks at the conversation so far and figures out what to look up. (It may also call an explicit search_knowledge tool if you've configured it that way.)
  2. FormWise searches your Notebooks for the chunks most relevant to that query - using both meaning (fingerprint match) and keyword overlap. This hybrid approach catches the cases where one or the other would miss.
  3. The top chunks come back - ranked by how well they match.
  4. FormWise injects those chunks into the agent's context, so the model writes its answer with them in mind.

The end user sees an answer grounded in your real content, often with the source named.


What makes results better

If your agent is missing things in your Notebooks it should be finding, fix what you put in - it's almost always an input problem, not an algorithm problem.

  • Give files clear names. "Refund Policy v2.pdf" beats "Doc1.pdf." Names show up alongside the chunks.
  • Use real document structure. Headings, subheadings, bullet lists - structure helps chunking land on natural boundaries.
  • Don't dump everything into one giant file. Five focused files outperform one mega-file every time.
  • Deduplicate. If the same content lives in five places, retrieval gets noisy.
  • Keep it fresh. Update sources when policies change. Old versions outranking new ones is a classic source of "but I updated that!"
  • Trim the obvious filler. Cover pages, repeating headers, and "this page intentionally left blank" all become noise in the index.

When the agent uses Notebooks

Your Flow's agent uses Notebooks in one of three ways, depending on how you've set it up:

  • Automatic - The Agent node has Notebook access turned on. It silently retrieves on every turn and uses what it finds.
  • Explicit - The Agent node has a search_knowledge tool. It searches only when it decides searching is needed (often more precise, sometimes slower for the first answer).
  • Scoped - For Agents, you choose which specific sources are attached. The Agent only searches those sources, not your entire Notebook library. This is how you build a focused HR Agent that doesn't accidentally answer with sales material.

Set this in the Agent node's settings, or in the Agent's own configuration if you're working with a persona-based Agent. See Configuring Agents.


Common pitfalls

SymptomLikely causeFix
Agent says "I don't know" about something clearly in your docsThe source is still processing, or its status is failedCheck the source's status in Notebooks; re-upload if failed
Agent quotes outdated infoAn older version of the doc is still in your NotebooksDelete the old source, leave only the current one
Agent mixes up two productsBoth products live in one giant file, chunks overlapSplit into one source per product
Agent is too cautious / refuses to use NotebooksSystem prompt or guardrails are over-restrictiveLoosen guardrails; explicitly tell the agent to use its Notebooks
Agent confidently makes things upNotebooks don't actually have the answerAdd the missing content, or instruct the agent to say "I don't know" when its Notebooks are empty

What you don't need to manage

  • Re-chunking when you tweak a doc - updating a source re-processes it for you.
  • Picking embeddings - FormWise handles the fingerprinting.
  • Ranking tuning - the hybrid match is automatic.

Your job is the inputs and the agent instructions. FormWise handles the rest.

Next steps

On this page