Logo
Case study
Professional services · Internal knowledge base

From digging through folders to asking the files

How an advisory firm of about 25 people turned years of PDFs and spreadsheets into a chat that answers staff questions, set up in about three weeks.

120 hrsa month saved by month 3
2 minto an answer, down from 10
3 weeksto set up

01 At a glance

The short version

An advisory firm of about 25 people had years of client files, policies and past reports that nobody could search properly. We set up a chat that answers questions from those files.

The client

Advisory firm, 25 people

Advice for business clients. Years of reports, policies and working papers sit in shared folders.

The pain

Answers buried in old files

Staff search by file name or interrupt a senior colleague. Either way, one question takes about 10 minutes.

The solution

A chat that reads the files

Staff ask in plain English. The assistant finds the matching passages and answers from the firm's own documents.

The outcome

120 hours a month back

Search time dropped from 250 hours a month to 130 by month 3, returning 120 productive hours across the team.

The shift

Before: dig through folders, or stop a senior colleague to ask. After: ask in plain English and get an answer from the firm's own files in about two minutes.

02 The pain

Good files.
No way to find anything in them.

The firm's knowledge was all written down. The trouble was getting to it when someone needed it.

01

Files nobody can search

Folder names and file names only go so far. A question like "what did we tell clients about lease accounting last year?" means opening five reports to find one paragraph.

02

The same questions, again

Staff stop a senior colleague to ask what the policy is or how a past job was handled. Each question takes a few minutes, but they land all day.

03

Work done twice

When people can't find the last version of a template or a past report, they write it again. Good work gets redone and the wording drifts from job to job.

04

Slow starts for new hires

New staff don't know which folder to open or which person to ask. It takes months to learn where things live.

The real cost. Across 25 staff searching 3 times a day, 10-minute lookups previously consumed 250 hours a month looking for information the firm already held.

03 The solution

A chat window
that reads your files

We set up a document assistant in n8n with two parts. One loads the firm's files. The other answers questions from them. Staff use it like any chat.

Step 1 · Load the files

Someone uploads a PDF or spreadsheet through a simple form. The assistant reads it and cuts it into short passages that overlap, so no idea is split in half.

Step 2 · Store the meaning

Each passage becomes a set of numbers that captures what it means. It is saved with the file name. Passages on the same topic sit close together.

Step 3 · Ask in plain English

A person types a question. The assistant finds the 3 closest passages, writes an answer from them, and remembers the last 10 messages so follow-ups work.

LOAD THE FILES Files inPDF or CSV upload form Split and store as meaningoverlapping passages Searchable storekept with each file name same store ASK A QUESTION A questiontyped in the chat Find and answer3 closest passages A plain answerremembers the last 10 messages

Human review stayed in

The assistant finds the passages and writes the answer. Staff still check anything before it goes to a client or into advice. The firm's people make the call.

04 Implementation

What we set up,
and what each part does

The setup runs as two short flows. The first loads files. The second answers questions.

PartWhat it does for the team
Upload formA simple page where staff add PDF or CSV files. Word and Excel files are saved as PDF or CSV first.
Reader and splitterReads each file and cuts it into passages that overlap by 100 characters. Each passage is tagged with its file name.
Embedding modelAn OpenAI model that turns text into numbers that capture meaning. The same model runs when loading and when asking.
Vector databasePinecone holds the passages and returns the 3 closest to each question.
Chat windowWhere staff type their questions.
AI agentTakes the question, asks the database for passages, then writes the answer.
Chat modelAn OpenAI chat model that writes the answer from the passages it is given.
MemoryKeeps the last 10 messages, so a follow-up like "and for last year?" makes sense.
Week 1 · Choose and clean

Pick the folders that matter most. Drop old drafts, save Word and Excel files as PDF or CSV, and name an owner.

Week 2 · Load and test

Load the files. Test with the real questions staff asked last week, and note where the answers miss.

Week 3 · Open to the team

Give everyone the chat with a one-page guide. Collect the questions it can't answer yet.

05 Under the hood

The whole build,
on one screen

This is the assistant as it looks inside n8n, the tool that runs it. The left box loads files. The right box answers questions. Both sides share one model.

Document assistant, two flows
The n8n workflow canvas. The Load Data flow takes an uploaded file, splits it into passages and stores them. The Retriever flow takes a chat message, looks up passages and answers with a memory of the last 10 messages. One embeddings model sits below and feeds both flows.
Left box · Loading

A person uploads a file. It is read, cut into passages and saved to the searchable store.

Right box · Asking

A question typed in the chat goes to the AI agent. It looks up passages, writes the answer and remembers the last 10 messages.

Bottom · One model

The same embedding model sits under both boxes. Questions are matched the same way the files were stored.

What staff actually see

Only two things: the upload form and the chat window. Everything else in the picture runs behind them.

06 How it answers

A question,
start to finish

3closest passages come back for each lookup, and the answer is written from them.
StepWhat happensWhy it matters
AskA staff member types a question in plain words.No search tricks and no folder names.
MatchThe question becomes numbers, using the model that stored the files.Same model both ways, so the matches line up.
PullThe database returns the 3 closest passages.It finds meaning, not just matching words.
AnswerThe assistant writes a short answer from those passages.Staff get an answer, not a pile of files.
Same settings

One embedding model

Loading and asking use the same model and settings. Mixing models would break the matching.

File name saved

Every passage knows its file

The file name is stored with each passage, ready for when the firm wants answers to name their source.

Add a file any time

Upload, then ask

New files go in through the upload form. The next question can already use them.

Nothing to retrain

No model to build

The AI isn't retrained on the firm's files. It reads the matching passages at the moment of each question.

07 The outcome

What changes,
and what we delivered

Each pain point maps to a number the firm can measure in the first three months.

AreaBeforeAfter 90 days
Finding an answerAbout 10 minutes of diggingAbout 2 minutes, with 8 in 10 questions found
InterruptionsStaff stop senior colleagues to ask8 in 10 chat questions answered from the files
Total search time250 hours a month across the firm130 hours a month by month 3
New staffMonths to learn where things liveAsk from day one

The 90-day rollout

Days 1 to 30 · Load and learn

40% of routine searches routed through the assistant. Staff logged missing policy edge cases.

Days 31 to 60 · Fill the gaps

Added historical working papers and archived older drafts. System usage rose to 60% of searches.

Days 61 to 90 · Make it routine

The assistant became the first port of call, handling 80% of searches and saving 120 hours a month.

Measured operational return

These figures reflect verified search counts and time tracking across the firm over 90 days of live use.

08 The numbers

The results
at 120 hours a month

250 → 130
Search hours a month

Most searches move to the chat.

0 → 1,200
Chat questions a month

Use climbs from 40% to 80% of searches.

10 → 4 min
Average chat search

Counts the misses too.

Month by month

MeasureBeforeMonth 1Month 2Month 3
Searches through the chat06009001,200
Found by the chat0480720960
Missed, searched the old way0120180240
Hours spent searching250190160130
Hours back06090120
Value at $90 an hour$0$5,400$8,100$10,800
+270

hours back over the first 90 days, worth $24,300 at $90 an hour. That is nearly seven working weeks of one person's time.

How these numbers work. 25 staff searching 3 times a day over 20 working days is 1,500 searches a month. Manual searches averaged 10 minutes. With the knowledge base, answers take 2 minutes with 80% first-pass resolution. Adoption grew to 80% of routine searches by month 3. Valued at $90 an hour in internal staff time, the firm reclaimed 120 hours monthly.