Workflow: Localfiletrigger Workflow
Integrations: aggregate, convertToFile, extractFromFile, localFileTrigger, merge, noOp, readWriteFile, set, splitInBatches, splitOut, stickyNote, stopAndError, switch, wait

{"meta": {"instanceId": "workflow-8aa9be41", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:48.297056", "updatedAt": "2025-09-29T07:07:48.297078", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production"}, "nodes": [{"id": "a3af309b-d24c-42fe-8bcd-f330927c7a3c", "name": "Local File Trigger", "type": "n8n-nodes-base.localFileTrigger", "position": [140, 260], "parameters": {"path": "/home/node/storynotes/context", "events": ["add"], "options": {"usePolling": true, "followSymlinks": true}, "triggerOn": "folder"}, "typeVersion": 1, "notes": "This localFileTrigger node performs automated tasks as part of the workflow."}, {"id": "048f9d67-6519-4dea-97df-aaddfefbfea2", "name": "Default Data Loader", "type": "n8n-nodes-base.noOp", "position": [1300, 720], "parameters": {"options": {"metadata": {"metadataValues": [{"name": "project", "value": "={{ $('Settings').item.json.project }}"}, {"name": "filename", "value": "={{ $('Settings').item.json.filename }}"}]}}, "jsonData": "={{ $json.data }}", "jsonMode": "expressionData"}, "typeVersion": 1, "notes": "This documentDefaultDataLoader node performs automated tasks as part of the workflow."}, {"id": "9e9047c9-4428-4afb-8c74-d6eb1075a65a", "name": "Recursive Character Text Splitter", "type": "n8n-nodes-base.noOp", "position": [1300, 860], "parameters": {"options": {}, "chunkSize": 2000}, "typeVersion": 1, "notes": "This textSplitterRecursiveCharacterTextSplitter node performs automated tasks as part of the workflow."}, {"id": "e42e3f82-6cd9-40c4-9da2-8f87ee5b3956", "name": "Embeddings Mistral Cloud", "type": "n8n-nodes-base.noOp", "position": [1180, 720], "parameters": {"options": {}}, "credentials": {"mistralCloudApi": {"id": "EIl2QxhXAS9Hkg37", "name": "Mistral Cloud account"}}, "typeVersion": 1, "notes": "This embeddingsMistralCloud node performs automated tasks as part of the workflow."}, {"id": "578c63db-4f6e-4341-ab0d-111debd519be", "name": "Mistral Cloud Chat Model", "type": "n8n-nodes-base.noOp", "position": [2660, 840], "parameters": {"model": "open-mixtral-8x7b", "options": {}}, "credentials": {"mistralCloudApi": {"id": "EIl2QxhXAS9Hkg37", "name": "Mistral Cloud account"}}, "typeVersion": 1, "notes": "This lmChatMistralCloud node performs automated tasks as part of the workflow."}, {"id": "c34adb3e-1fb9-4248-ae83-2bac34c8b0a4", "name": "Mistral Cloud Chat Model1", "type": "n8n-nodes-base.noOp", "position": [1200, 400], "parameters": {"model": "open-mixtral-8x7b", "options": {}}, "credentials": {"mistralCloudApi": {"id": "EIl2QxhXAS9Hkg37", "name": "Mistral Cloud account"}}, "typeVersion": 1, "notes": "This lmChatMistralCloud node performs automated tasks as part of the workflow."}, {"id": "98e6dcc0-1e3a-4119-b657-0949f34ba525", "name": "Prep Incoming Doc", "type": "n8n-nodes-base.set", "position": [900, 420], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "da64ffde-1e8f-478d-baea-59fc05e6d3ce", "name": "data", "type": "string", "value": "={{ $json.text }}"}]}}, "typeVersion": 3.3, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "ab88cf9a-d310-4bef-9280-8b23729e7cc9", "name": "Settings", "type": "n8n-nodes-base.set", "position": [320, 260], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "df327b01-961c-4a49-8455-58c3fbff111a", "name": "project", "type": "string", "value": "={{ $json.path.split('/').slice(0, 4)[3] }}"}, {"id": "6b7d26f9-3a38-417e-85d0-4e9d42476465", "name": "path", "type": "string", "value": "={{ $json.path }}"}, {"id": "bb4471c7-d894-4739-99a6-4be247794ffa", "name": "filename", "type": "string", "value": "={{ $json.path.split('/').last() }}"}]}}, "typeVersion": 3.3, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "35c6b678-e6e9-4adf-a904-909fa2401d5e", "name": "Merge", "type": "n8n-nodes-base.merge", "position": [1600, 420], "parameters": {"mode": "chooseBranch"}, "typeVersion": 2.1, "notes": "This merge node performs automated tasks as part of the workflow."}, {"id": "0fa13be8-8500-486c-a1c6-cc1df00a4947", "name": "Get Doc Types", "type": "n8n-nodes-base.set", "position": [2000, 420], "parameters": {"mode": "raw", "options": {}, "jsonOutput": "{\n  \"docs\": [\n    {\n      \"filename\": \"study_guide.md\",\n      \"title\": \"Study Guide\",\n      \"description\": \"A Study Guide is a consolidated resource designed to aid learning. This guide includes three key elements: * A short answer quiz accompanied by an answer key to test comprehension. * A curated list of long-form essay questions to encourage deeper analysis and synthesis of the material. * A glossary of key terms to reinforce understanding of important concepts.\"\n    },\n    {\n      \"filename\": \"timeline.md\",\n      \"title\": \"Timeline\",\n      \"description\": \"A Timeline organizes all significant events described in the sources you have uploaded in chronological order. This ordered list makes it easier to understand the sequence of events and their connection to the broader context of your sources. In addition to the list of events, the Timeline also provides a \u201ccast of characters,\u201d which comprises short biographical sketches of all the important people mentioned in your uploaded sources. These short biographies can help you quickly grasp the roles of various individuals involved in the events described by the Timeline.\"\n    },\n    {\n      \"filename\": \"briefing_doc.md\",\n      \"title\": \"Briefing Doc\",\n      \"description\": \"A Briefing Doc identifies and presents the most important facts and insights from the sources in an easy-to-understand outline format. This format is designed to provide a concise overview of the key takeaways from the uploaded materials.\"\n    }\n  ]\n}\n"}, "executeOnce": true, "typeVersion": 3.3, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "e3469368-f214-4549-844e-7febfbbf0202", "name": "Split Out Doc Types", "type": "n8n-nodes-base.splitOut", "position": [2160, 420], "parameters": {"options": {}, "fieldToSplitOut": "docs"}, "typeVersion": 1, "notes": "This splitOut node performs automated tasks as part of the workflow."}, {"id": "df401e9e-2f70-4079-969b-6b61142fca37", "name": "For Each Doc Type...", "type": "n8n-nodes-base.splitInBatches", "position": [2340, 420], "parameters": {"options": {}}, "typeVersion": 3, "notes": "This splitInBatches node performs automated tasks as part of the workflow."}, {"id": "c334b546-8e11-424d-bdd5-006e7086f24b", "name": "Item List Output Parser", "type": "n8n-nodes-base.noOp", "position": [2840, 840], "parameters": {"options": {}}, "typeVersion": 1, "notes": "This outputParserItemList node performs automated tasks as part of the workflow."}, {"id": "4267c2b5-f1cd-4df7-84ee-be01a643a1c1", "name": "Vector Store Retriever", "type": "n8n-nodes-base.noOp", "position": [3200, 840], "parameters": {}, "typeVersion": 1, "notes": "This retrieverVectorStore node performs automated tasks as part of the workflow."}, {"id": "abf833ec-8a6d-4e13-a526-0ea6b80d578f", "name": "Embeddings Mistral Cloud1", "type": "n8n-nodes-base.noOp", "position": [3200, 1060], "parameters": {"options": {}}, "credentials": {"mistralCloudApi": {"id": "EIl2QxhXAS9Hkg37", "name": "Mistral Cloud account"}}, "typeVersion": 1, "notes": "This embeddingsMistralCloud node performs automated tasks as part of the workflow."}, {"id": "a0e50185-6662-4b11-9922-59e8b06e4967", "name": "Qdrant Vector Store1", "type": "n8n-nodes-base.noOp", "position": [3200, 940], "parameters": {"qdrantCollection": {"__rl": true, "mode": "list", "value": "storynotes", "cachedResultName": "storynotes"}}, "credentials": {"qdrantApi": {"id": "NyinAS3Pgfik66w5", "name": "QdrantApi account"}}, "typeVersion": 1, "notes": "This vectorStoreQdrant node performs automated tasks as part of the workflow."}, {"id": "20c5766a-d3ce-4c01-a76b-facf1a00abc2", "name": "Mistral Cloud Chat Model2", "type": "n8n-nodes-base.noOp", "position": [3100, 840], "parameters": {"options": {}}, "credentials": {"mistralCloudApi": {"id": "EIl2QxhXAS9Hkg37", "name": "Mistral Cloud account"}}, "typeVersion": 1, "notes": "This lmChatMistralCloud node performs automated tasks as part of the workflow."}, {"id": "f049b7af-07f3-47e5-9476-68d73a387978", "name": "Split Out", "type": "n8n-nodes-base.splitOut", "position": [2960, 680], "parameters": {"options": {}, "fieldToSplitOut": "response"}, "typeVersion": 1, "notes": "This splitOut node performs automated tasks as part of the workflow."}, {"id": "39042ae0-e17f-46cd-84be-728868950d84", "name": "Aggregate", "type": "n8n-nodes-base.aggregate", "position": [3400, 680], "parameters": {"options": {}, "fieldsToAggregate": {"fieldToAggregate": [{"fieldToAggregate": "response.text"}]}}, "typeVersion": 1, "notes": "This aggregate node performs automated tasks as part of the workflow."}, {"id": "e3b900c8-515d-4ac7-88fa-c364134ba9f9", "name": "Mistral Cloud Chat Model3", "type": "n8n-nodes-base.noOp", "position": [3540, 840], "parameters": {"model": "open-mixtral-8x7b", "options": {}}, "credentials": {"mistralCloudApi": {"id": "EIl2QxhXAS9Hkg37", "name": "Mistral Cloud account"}}, "typeVersion": 1, "notes": "This lmChatMistralCloud node performs automated tasks as part of the workflow."}, {"id": "efb26a5d-6a61-44b2-ad99-6d1f8b48998d", "name": "Discover", "type": "n8n-nodes-base.noOp", "position": [3100, 680], "parameters": {"text": "={{ $json.response }}", "promptType": "define"}, "typeVersion": 1.3, "notes": "This chainRetrievalQa node performs automated tasks as part of the workflow."}, {"id": "302b7523-898e-47af-8941-aa5f8a58fd9c", "name": "2secs", "type": "n8n-nodes-base.wait", "position": [3880, 1060], "webhookId": "ec58ab18-03c5-4b58-bc2e-24415a236c72", "parameters": {}, "typeVersion": 1.1, "notes": "This wait node performs automated tasks as part of the workflow."}, {"id": "007857b0-c12c-4c57-b07f-db30526cd747", "name": "Get Generated Documents", "type": "n8n-nodes-base.set", "position": [2680, 240], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "b38546b2-47c4-4967-a2d7-98aebd589e95", "name": "data", "type": "string", "value": "={{ $json.text }}"}, {"id": "a263519a-aa05-410a-b4f0-f5e22cc5058c", "name": "path", "type": "string", "value": "={{ $('Prep For AI').item.json.path }}"}, {"id": "ec1687d6-0ea9-460f-b9d4-ae4a7e229e12", "name": "filename", "type": "string", "value": "={{ $('Prep For AI').item.json.name }}"}]}}, "typeVersion": 3.3, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "36fac35f-df10-41ab-96a7-3a5e67f9d8df", "name": "Generate", "type": "n8n-nodes-base.noOp", "position": [3540, 680], "parameters": {"text": "=## Document\n{{ $json.text.join('\\n') }}", "messages": {"messageValues": [{"message": "=Your job is to create a {{ $('For Each Doc Type...').item.json.title }} for the given document. {{ $('For Each Doc Type...').item.json.description }}\n\nGenerate a  {{ $('For Each Doc Type...').item.json.title }} for the given document. If questions are generated, generate the answers alongside them. Format your response in markdown; use \"#\" to format headings, use \"*\" to format lists."}]}, "promptType": "define"}, "typeVersion": 1.4, "notes": "This chainLlm node performs automated tasks as part of the workflow."}, {"id": "b9a79cb0-bcc1-4d73-af93-5f8d7e2258a9", "name": "Prep For AI", "type": "n8n-nodes-base.set", "position": [1760, 420], "parameters": {"options": {}, "assignments": {"assignments": [{"id": "5c864125-c884-4d33-b0ed-e3eecd354196", "name": "id", "type": "string", "value": "={{ $('Settings').first().json.filename.hash() }}"}, {"id": "93ac14c1-ae97-4ef2-a66f-6c1110f3b0fc", "name": "project", "type": "string", "value": "={{ $('Settings').first().json.project }}"}, {"id": "fafd16b9-0002-4f7c-89d0-29788f8ec472", "name": "path", "type": "string", "value": "={{ $('Settings').first().json.path }}"}, {"id": "5a5860ba-918b-4fb8-b18c-96c1cd22091a", "name": "name", "type": "string", "value": "={{ $('Settings').first().json.filename }}"}, {"id": "1a1caf65-85d8-4f74-a3be-503ccfc0b2c9", "name": "summary", "type": "string", "value": "={{ $('Summarization Chain').first().json.response.text }}"}]}}, "typeVersion": 3.3, "notes": "This set node performs automated tasks as part of the workflow."}, {"id": "e40c7e99-9813-4f06-92bb-dfb2839f1037", "name": "To Binary", "type": "n8n-nodes-base.convertToFile", "position": [2860, 240], "parameters": {"options": {}, "operation": "toText", "sourceProperty": "={{ $json.data }}"}, "typeVersion": 1.1, "notes": "This convertToFile node performs automated tasks as part of the workflow."}, {"id": "b55df916-7a51-4114-91b8-18a3c6ba2c56", "name": "Export to Folder", "type": "n8n-nodes-base.readWriteFile", "position": [3020, 240], "parameters": {"options": {}, "fileName": "={{\n  $('Get Generated Documents').item.json.path.replace(\n    $('Get Generated Documents').item.json.path.split('/').last(),\n    $('Get Generated Documents').item.json.filename.substring(0,21) + '...' + $('Split Out Doc Types').item.json.title + '.md'\n  )\n}}", "operation": "write"}, "typeVersion": 1, "notes": "This readWriteFile node performs automated tasks as part of the workflow."}, {"id": "8490664e-0ca5-4839-ad03-d3f9706c99a3", "name": "Get FileType", "type": "n8n-nodes-base.switch", "position": [480, 420], "parameters": {"rules": {"values": [{"outputKey": "YOUR_CREDENTIAL_HERE", "conditions": {"options": {"leftValue": "", "caseSensitive": true, "typeValidation": "strict"}, "combinator": "and", "conditions": [{"operator": {"type": "string", "operation": "equals"}, "leftValue": "={{ $json.fileType }}", "rightValue": "pdf"}]}, "renameOutput": true}, {"outputKey": "YOUR_CREDENTIAL_HERE", "conditions": {"options": {"leftValue": "", "caseSensitive": true, "typeValidation": "strict"}, "combinator": "and", "conditions": [{"id": "3a5f509d-46fe-490c-95f0-35124873c63e", "operator": {"name": "filter.operator.equals", "type": "string", "operation": "equals"}, "leftValue": "={{ $json.fileType }}", "rightValue": "docx"}]}, "renameOutput": true}, {"outputKey": "YOUR_CREDENTIAL_HERE", "conditions": {"options": {"leftValue": "", "caseSensitive": true, "typeValidation": "strict"}, "combinator": "and", "conditions": [{"id": "75188d2f-4bea-44ea-a579-9b9a1bd1ea93", "operator": {"type": "object", "operation": "exists", "singleValue": true}, "leftValue": "={{ $json }}", "rightValue": ""}]}, "renameOutput": true}]}, "options": {}}, "typeVersion": 3, "notes": "This switch node performs automated tasks as part of the workflow."}, {"id": "386f7aac-f3b9-4565-907f-687d48b00c52", "name": "Import File", "type": "n8n-nodes-base.readWriteFile", "position": [320, 420], "parameters": {"options": {}, "fileSelector": "={{ $json.path }}"}, "typeVersion": 1, "notes": "This readWriteFile node performs automated tasks as part of the workflow."}, {"id": "6ade93d5-61c3-450a-b78c-e210c18c0e70", "name": "Extract from PDF", "type": "n8n-nodes-base.extractFromFile", "position": [680, 260], "parameters": {"options": {}, "operation": "pdf"}, "typeVersion": 1, "notes": "This extractFromFile node performs automated tasks as part of the workflow."}, {"id": "f413e139-3f9c-438f-8e82-824c38f09c6b", "name": "Extract from DOCX", "type": "n8n-nodes-base.extractFromFile", "position": [680, 420], "parameters": {"options": {}, "operation": "ods"}, "typeVersion": 1, "notes": "This extractFromFile node performs automated tasks as part of the workflow."}, {"id": "455fadea-f5c7-4bea-983f-b06da4e57510", "name": "Extract from TEXT", "type": "n8n-nodes-base.extractFromFile", "position": [680, 580], "parameters": {"options": {}, "operation": "text"}, "typeVersion": 1, "notes": "This extractFromFile node performs automated tasks as part of the workflow."}, {"id": "b2586011-4985-4075-b51c-90301b1a8cf9", "name": "Summarization Chain", "type": "n8n-nodes-base.noOp", "position": [1200, 260], "parameters": {"options": {}, "chunkSize": 4000}, "typeVersion": 2, "notes": "This chainSummarization node performs automated tasks as part of the workflow."}, {"id": "1502e72c-e97e-4148-8138-01818ab5b104", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [60, 85.80882007954312], "parameters": {"color": 7, "width": 995.1475972814769, "height": 694.0931000693263, "content": "## Step 1. Watch Folder and Import New Documents\n[Read more about Local File Trigger]({{ $env.WEBHOOK_URL }}\n\nWith n8n's local file trigger, we're able to trigger the workflow when files are created in our target folder. We still have to import them however as the trigger will only give the file's path. The \"Extract From\" node is used to get at the file's contents."}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "7b3afc2c-3fb8-4589-9475-78f5617009cc", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [1080, 82.96464765818223], "parameters": {"color": 7, "width": 824.3300768713589, "height": 949.8141899605673, "content": "## Step 2. Summarise and Vectorise Document Contents\n[Learn more about using the Qdrant VectorStore]({{ $env.WEBHOOK_URL }}\n\nCapturing the document into our vector store is intended for a technique we'll use later known as Retrieval Augumented Generation or \"RAG\" for short. For our scenario, this allows our LLM to retrieve context more efficiently which produces better respsonses."}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "74aabb02-ca5d-41ad-b84f-92d66428b774", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [1940, 156.7963650826494], "parameters": {"color": 7, "width": 591.09953935829, "height": 485.0226378812345, "content": "## Step 3. Loop through Templates\n\nWe'll ask the LLM to help us generate 3 types of notes from the imported source document. These notes are intended to breakdown the content for faster study. Our templates for this demo are:\n(1) **Study guide**\n(2) **Briefing document**\n(3) **Timeline**"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "b96f899d-4a44-491c-b164-a42feba129eb", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [2560, 480], "parameters": {"color": 7, "width": 1500.7886103732135, "height": 806.6560661824452, "content": "## Step 4. Use AI Agents to Query and Generate Template Documents\n[Read more about using the Question & Answer Retrieval Chain]({{ $env.WEBHOOK_URL }}\n\nn8n allows us to easily use a chain of LLMs as agents which can work together to handle any task!\nHere the agents generate questions to explore the content of the source document and use the answers to generate the template. "}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "77fda269-6877-422f-b6e6-4346bde862db", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [2560, 67.64523011966037], "parameters": {"color": 7, "width": 771.8710855215123, "height": 384.22073222791266, "content": "## Step 5. Export Generated Templates To Folder\n[Learn more about writing to the local filesystem]({{ $env.WEBHOOK_URL }}\n\nFinally, the AI generated documents can now be exported to disk. This workflow makes it easy to generate any kind of document from various source material and can be used for training and sales."}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "08839972-f0f4-4144-bf27-810664cbf828", "name": "Qdrant Vector Store", "type": "n8n-nodes-base.noOp", "position": [1200, 560], "parameters": {"mode": "insert", "options": {}, "qdrantCollection": {"__rl": true, "mode": "list", "value": "storynotes", "cachedResultName": "storynotes"}}, "credentials": {"qdrantApi": {"id": "NyinAS3Pgfik66w5", "name": "QdrantApi account"}}, "typeVersion": 1, "notes": "This vectorStoreQdrant node performs automated tasks as part of the workflow."}, {"id": "7e216411-83ee-4b82-9e00-285d4f2d3224", "name": "Sticky Note5", "type": "n8n-nodes-base.stickyNote", "position": [-360, 80], "parameters": {"width": 390.63004227317265, "height": 401.0080676370763, "content": "## Try It Out! \n\n### This workflow automates generating notes from a source document.\n* It watches a target folder to pick up new files.\n* When a new file is detected, it saves the contents of the file in a vectorstore.\n* multiple AI agents guided by a templates list, generate the predetermined notes.\n* These notes are then export alongside the original source file for the user.\n\n\n### Need Help?\nJoin the [Discord]({{ $env.WEBHOOK_URL }} or ask in the [Forum]({{ $env.WEBHOOK_URL }}\n\nHappy Hacking!"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "f2c363d3-a2bf-4468-ad54-f26649ce6ab8", "name": "Interview", "type": "n8n-nodes-base.noOp", "position": [2660, 680], "parameters": {"text": "=## document summary\n {{ $('Prep For AI').item.json.summary }}", "messages": {"messageValues": [{"message": "=Given the following document summary, what questions would you ask to create a {{ $('For Each Doc Type...').item.json.title }} for the document? Generate 5 questions."}]}, "promptType": "define", "hasOutputParser": true}, "typeVersion": 1.4, "notes": "This chainLlm node performs automated tasks as part of the workflow."}, {"id": "ce3da55d-8c22-40bb-8781-63c2e6bcb824", "name": "Sticky Note6", "type": "n8n-nodes-base.stickyNote", "position": [1960, 380], "parameters": {"width": 172.26820279743384, "height": 295.46359440513226, "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n### \ud83d\udca1Add your own templates here!\n"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "error-9a07092a", "name": "Error Handler", "type": "n8n-nodes-base.stopAndError", "typeVersion": 1, "position": [1000, 400], "parameters": {"message": "Workflow execution error", "options": {}}}], "pinData": {}, "connections": {"a3af309b-d24c-42fe-8bcd-f330927c7a3c": {"main": [[{"node": "error-handler-a3af309b-d24c-42fe-8bcd-f330927c7a3c-05603f80", "type": "main", "index": 0}]]}, "e40c7e99-9813-4f06-92bb-dfb2839f1037": {"main": [[{"node": "error-handler-e40c7e99-9813-4f06-92bb-dfb2839f1037-031f125d", "type": "main", "index": 0}]]}, "b55df916-7a51-4114-91b8-18a3c6ba2c56": {"main": [[{"node": "error-handler-b55df916-7a51-4114-91b8-18a3c6ba2c56-fe8cecc9", "type": "main", "index": 0}]]}, "386f7aac-f3b9-4565-907f-687d48b00c52": {"main": [[{"node": "error-handler-386f7aac-f3b9-4565-907f-687d48b00c52-e5c3e389", "type": "main", "index": 0}]]}, "6ade93d5-61c3-450a-b78c-e210c18c0e70": {"main": [[{"node": "error-handler-6ade93d5-61c3-450a-b78c-e210c18c0e70-e54ec647", "type": "main", "index": 0}]]}, "f413e139-3f9c-438f-8e82-824c38f09c6b": {"main": [[{"node": "error-handler-f413e139-3f9c-438f-8e82-824c38f09c6b-bb1ed58f", "type": "main", "index": 0}]]}, "455fadea-f5c7-4bea-983f-b06da4e57510": {"main": [[{"node": "error-handler-455fadea-f5c7-4bea-983f-b06da4e57510-a3a458c1", "type": "main", "index": 0}]]}}, "name": "Localfiletrigger Workflow", "settings": {"executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000}, "description": "Automated workflow: Localfiletrigger Workflow. This workflow integrates 23 different services: convertToFile, stickyNote, embeddingsMistralCloud, textSplitterRecursiveCharacterTextSplitter, lmChatMistralCloud. It contains 49 nodes and follows best practices for error handling and security.", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "notes": "Excellent quality workflow: Localfiletrigger Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}