Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that watches a folder and keeps its text files in a Qdrant vector store, adding, replacing and clearing them as they change. A chat then answers questions about the files with Mistral.
Question answering over local files with Qdrant and Mistral is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Folder event
It starts when a file in the watched folder is added, changed or deleted, and it carries:
A Qdrant collection that follows the folder, and chat answers drawn from the stored passages
What you need before you start.
Embeddings and chat model
Embeds each file’s text for storage and each question for search, then writes the answer from the matching passages.
NeedsMistral API key
Vector database
Stores the embedded passages with the file path, finds them again by path to update or clear them, and returns the best matches to a question.
NeedsA Qdrant server n8n can reach, and its API key if it asks for one
Checked by Mindket on 13 Nov 2026
This n8n workflow turns a folder of text files into something you can ask questions. A Local File Trigger watches the folder. A new file is read, embedded with Mistral and stored in a Qdrant vector store. A changed file has its old pieces deleted and is stored again. A deleted file has its pieces cleared. A chat then takes a question, fetches the matching passages from Qdrant and lets a Mistral model write the answer from them. The original notes use bank statements as the example. Twenty-three nodes do the work, beside six sticky notes.
People who keep notes, reports or statements as text files and run n8n on their own server, with a Qdrant vector store beside it. Skip it on n8n Cloud, where the folder trigger does not exist, and for PDFs or images, which this copy reads as text.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Finance | Small business owners | Ask questions of statements and invoices saved as text | An owner asks which month had the largest card payment and reads the answer from the saved files. |
| Research | Analysts | Keep a folder of notes searchable by question | An analyst drops a new note in the folder and asks about it a minute later. |
| Legal | Paralegals | Query a folder of exported text from contracts | A paralegal asks which files mention a renewal date. |
| Operations | IT teams | Give a team a chat over shared documentation kept as text | An IT lead updates a runbook and the chat answers from the new version. |
You need some n8n and some server skill: import a file, add two credentials, allow a node that is off by default and point it at a folder. Qdrant has to be running. The workflow’s own sticky notes give no setup time.
Only a self-hosted n8n runs it, because Local File Trigger is not available on n8n Cloud.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Two accounts and two settings cover every step.
| Need | Detail |
|---|---|
| n8n | A self-hosted n8n with the Local File Trigger allowed and the folder readable |
| Mistral | An API key for embeddings and chat |
| Qdrant | A server n8n can reach, with its API key if it asks for one |
| Files | A folder of plain text files |
NODES_EXCLUDE.N8N_RESTRICT_FILE_ACCESS_TO. With Docker, mount a folder at /home/node/host_mount/local_file_search or change the path in Local File Trigger.workflow.json.Embeddings Mistral Cloud, Embeddings Mistral Cloud1 and Mistral Cloud Chat Model.http://qdrant:6333 in those HTTP nodes if your Qdrant is elsewhere.Add, edit or delete text files in the folder and the store follows. Ask the chat a question in plain words and it answers from the passages it finds. It searches every file in the collection and keeps no memory of earlier questions.
| To change | Where |
|---|---|
| The folder and the events | Local File Trigger |
| The collection name | qdrant_collection in Set Variables and the collection of Qdrant Vector Store1 |
| How files are cut up | Recursive Character Text Splitter |
| How many passages the chat reads | Vector Store Retriever |
| The chat model | Mistral Cloud Chat Model |
You copy a text file of card payments into the folder. The workflow reads it, embeds it and stores it in Qdrant.
You open the chat and ask which payment was the largest. The chat fetches the matching passages and Mistral writes the answer from them. Later you save a corrected copy of the file, and the old pieces are deleted before the new ones are stored.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one has two separate starts. The folder trigger keeps the store up to date, and the chat answers questions from it. Test the first with one small file before you add more.
For experts. The sync uses Qdrant’s REST API through HTTP nodes, with a filter on the file path.
| Node | What it does | What to know |
|---|---|---|
Local File Trigger | Watches a folder for add, change and unlink events | Self-hosted only and off by default from n8n 2.0 |
Handle File Event | Routes each event to the deleted, changed or added branch | A manual run sends no event, so nothing is routed |
Search For Existing Point1 | Scrolls Qdrant for points with the file path in metadata.filter_by_filename | The copy asks for 1000 points, not one |
Prepare Embedding Document | Builds one text from the location, the time and the file’s contents | Decodes the file as text from in-memory binary data |
Qdrant Vector Store | Embeds the text and stores it | Creates the collection when it is missing |
The model was swapped, four details were repaired and the setup has more moving parts than most.
mistral-small-2402 was retired on 16 June 2025. Mindket’s copy calls mistral-small-2603, the Mistral Small 4 API name in Mistral’s docs, read on 12 November 2026BankStatements while files went to local_file_search. Both now use local_file_searchAn n8n workflow that watches a folder on the machine where n8n runs. It keeps the folder's text files in a Qdrant vector store,
adding new ones, replacing changed ones and clearing deleted ones. A chat then answers questions about the files with a Mistral
model that reads the matching passages. The original notes use bank statements as the example.
workflow.json: the workflow as n8n exports it, twenty-three nodes and six sticky notes. It holds no credential.README.md: these notes.mistral-small-2402, which Mistral retired on 16 June 2025. The copy calls mistral-small-2603, theBankStatements, while files are stored in local_file_search. Qdrant Vector Store1 nowlocal_file_search, so the chat finds what the folder branch stores.Prepare Embedding Document built each file's location from $json.directory, a field the Read File node does not return. ItSearch For Existing Point looked for file_changed on the deleted-file branch. It now looks for file_deleted.limit 1, so only one piece of a file was cleared. The limit is now 1000.NODES_EXCLUDE.N8N_RESTRICT_FILE_ACCESS_TO defaults to ~/.n8n-files, so add your folder to it./home/node/host_mount/local_file_search, the path in Local File Trigger, or change the path.workflow.json in n8n: create a workflow, open its menu and choose Import from File.Embeddings Mistral Cloud, Embeddings Mistral Cloud1 andMistral Cloud Chat Model.Qdrant Vector Store, Qdrant Vector Store1 and the four Qdrant HTTP nodes. Thehttp://qdrant:6333. Change it if your Qdrant is somewhere else.Local File Trigger fires for each added, changed or deleted file, after the write has finished. Set Variables turns thefile_added, file_changed or file_deleted, with the file's path, and names the collectionlocal_file_search.Handle File Event sends the item down one of three outputs.Read File loads the file. Prepare Embedding Document builds one text from the file's location, the processingQdrant Vector Store embeds it with Mistral and stores it. Default Data Loader attachesfilter_by_filename, and Recursive Character Text Splitter cuts the text into chunks. Qdrant creates theSearch For Existing Point1 asks Qdrant for the points whose filter_by_filename is the path. Has Existing Point?1Delete Existing Point deletes them. Remap for File_Added Flow then sends the path down the addedSearch For Existing Point finds the points for the path, Has Existing Point? checks them andDelete Existing Point1 removes them. The two delete nodes carry each other's numbers in the original naming.Chat Trigger sends the question to Question and Answer Chain. Vector Store Retriever fetches the matching chunksQdrant Vector Store1, and Mistral Cloud Chat Model writes the answer from them.Local File Trigger.qdrant_collection in Set Variables and the collection of Qdrant Vector Store1. Keep them equal.Recursive Character Text Splitter, whose own defaults are 1000 characters and no overlap.Vector Store Retriever, which fetches 4 by default.Mistral Cloud Chat Model.Prepare Embedding Document decodes the file as text from n8n's in-memory binary data, which is the default mode. PDFs andSet Variables with no file event, so a click on Test workflow does nothing useful.Set Variables also sets directory, which nothing reads.file created holds the time the workflow processed the file, not the time the file was made.NOTICE.md 682 B README.md 6 KB workflow.json 24 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
zarazhangrui · Skill
Builds HTML presentations from scratch or from a PowerPoint file and shows visual style previews to pick from, for people who want web slides with no CSS or Ja…
iptv-org · Kit
Collects publicly available live TV channels from many countries into playlists that any video player with live streaming can open. Made for viewers and for de…
uwg · Kit
Holds a set of image upscaling models gathered from the OpenModelDB community, for people who want to enlarge low-resolution pictures with AI on their own comp…