{ "meta": { "instanceId": "workflow-59ccd2d1", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:53.397814", "updatedAt": "2025-09-29T07:07:53.397865", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "nodes": [ { "id": "33e94ee1-4244-4075-bb4b-93a99a2cacd9", "name": "OpenAI Chat Model", "type": "n8n-nodes-base.noOp", "position": [ 20, 560 ], "parameters": { "model": { "__rl": true, "mode": "list", "value": "gpt-4o-mini" }, "options": {} }, "typeVersion": 1.2, "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow." }, { "id": "dd97266d-a039-4d8f-bc7d-fb439ad5a6d7", "name": "When clicking \"Execute Workflow\"", "type": "n8n-nodes-base.manualTrigger", "position": [ -180, 0 ], "parameters": {}, "typeVersion": 1, "notes": "This manualTrigger node performs automated tasks as part of the workflow." }, { "id": "c4d4a979-3182-46c9-b145-fa4e6ba57011", "name": "Fetch Essay List", "type": "n8n-nodes-base.httpRequest", "position": [ 80, 0 ], "parameters": { "url": "{{ $env.WEBHOOK_URL }}", "options": {} }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "2e2913f9-d01a-41e8-b1b8-9a981910db7b", "name": "Extract essay names", "type": "n8n-nodes-base.html", "position": [ 280, 0 ], "parameters": { "options": {}, "operation": "extractHtmlContent", "extractionValues": { "values": [ { "key": "YOUR_CREDENTIAL_HERE", "attribute": "href", "cssSelector": "table table a", "returnArray": true, "returnValue": "attribute" } ] } }, "typeVersion": 1.2, "notes": "This html node performs automated tasks as part of the workflow." }, { "id": "c121dc65-37e3-49d4-b449-f28491e19a6f", "name": "Split out into items", "type": "n8n-nodes-base.splitOut", "position": [ 480, 0 ], "parameters": { "options": {}, "fieldToSplitOut": "essay" }, "typeVersion": 1, "notes": "This splitOut node performs automated tasks as part of the workflow." }, { "id": "5644c48d-62b6-4e2d-ad25-013b55f5ec71", "name": "Fetch essay texts", "type": "n8n-nodes-base.httpRequest", "position": [ 880, 0 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": {} }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "cd84596e-4046-4d33-9f43-cf464e5c5c01", "name": "Limit to first 3", "type": "n8n-nodes-base.limit", "position": [ 680, 0 ], "parameters": { "maxItems": 3 }, "typeVersion": 1, "notes": "This limit node performs automated tasks as part of the workflow." }, { "id": "318aeeed-fcce-4de2-aa04-92033ef01f28", "name": "Extract Text Only", "type": "n8n-nodes-base.html", "position": [ 1200, 0 ], "parameters": { "options": {}, "operation": "extractHtmlContent", "extractionValues": { "values": [ { "key": "YOUR_CREDENTIAL_HERE", "cssSelector": "body", "skipSelectors": "img,nav" } ] } }, "typeVersion": 1.2, "notes": "This html node performs automated tasks as part of the workflow." }, { "id": "0668851e-a31f-4e6e-8966-4544092e318e", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [ 0, -120 ], "parameters": { "width": 1071.752021563343, "height": 285.66037735849045, "content": "## Scrape latest Paul Graham essays" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "cf9af24c-9e08-4f27-ad4e-509f72e54a9b", "name": "Sticky Note5", "type": "n8n-nodes-base.stickyNote", "position": [ 1120, -120 ], "parameters": { "width": 625, "height": 607, "content": "## Load into Milvus vector store" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "95e9a59d-1832-4eb7-b58d-ba391c1acb1c", "name": "When chat message received", "type": "n8n-nodes-base.noOp", "position": [ -200, 380 ], "webhookId": "cd2703a7-f912-46fe-8787-3fb83ea116ab", "parameters": { "options": {} }, "typeVersion": 1.1, "notes": "This chatTrigger node performs automated tasks as part of the workflow." }, { "id": "0076ea3d-e667-4df2-83c3-9de0d3de0498", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -380, -160 ], "parameters": { "width": 280, "height": 180, "content": "## Step 1\n1. Set up a Milvus server based on [this guide]({{ $env.WEBHOOK_URL }} And then create a collection named `my_collection`.\n2. Click this workflow to load scrape and load Paul Graham essays to Milvus collection.\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "e90a069e-cfd8-49f1-8fe6-a334bb920027", "name": "Milvus Vector Store", "type": "n8n-nodes-base.noOp", "position": [ 1420, 0 ], "parameters": { "mode": "insert", "options": { "clearCollection": true }, "milvusCollection": { "__rl": true, "mode": "list", "value": "my_collection", "cachedResultName": "my_collection" } }, "typeVersion": 1.1, "notes": "This vectorStoreMilvus node performs automated tasks as part of the workflow." }, { "id": "d786c471-d564-4f25-beab-f1c7f4559f7a", "name": "Default Data Loader", "type": "n8n-nodes-base.noOp", "position": [ 1460, 220 ], "parameters": { "options": {}, "jsonData": "={{ $('Extract Text Only').item.json.data }}", "jsonMode": "expressionData" }, "typeVersion": 1, "notes": "This documentDefaultDataLoader node performs automated tasks as part of the workflow." }, { "id": "26730b7b-2bb9-46f8-83c3-3d4ffdfdef57", "name": "Embeddings OpenAI", "type": "n8n-nodes-base.noOp", "position": [ 1320, 240 ], "parameters": { "options": {} }, "typeVersion": 1.2, "notes": "This embeddingsOpenAi node performs automated tasks as part of the workflow." }, { "id": "de836110-4073-44d5-bbf3-d57f57525f69", "name": "Recursive Character Text Splitter", "type": "n8n-nodes-base.noOp", "position": [ 1540, 340 ], "parameters": { "options": {}, "chunkSize": 6000 }, "typeVersion": 1, "notes": "This textSplitterRecursiveCharacterTextSplitter node performs automated tasks as part of the workflow." }, { "id": "ddaa936e-416a-40e4-adf6-cf7ebfb8b094", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ -380, 280 ], "parameters": { "width": 280, "height": 120, "content": "## Step 2\nChat with this QA Chain with Milvus retriever\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "f5b7410f-37c7-40ff-b841-12ed04252317", "name": "Embeddings OpenAI1", "type": "n8n-nodes-base.noOp", "position": [ 80, 860 ], "parameters": { "options": {} }, "typeVersion": 1.2, "notes": "This embeddingsOpenAi node performs automated tasks as part of the workflow." }, { "id": "7a5d1b3f-9b2c-4943-9b40-2a213e30159c", "name": "Milvus Vector Store1", "type": "n8n-nodes-base.noOp", "position": [ 120, 720 ], "parameters": { "milvusCollection": { "__rl": true, "mode": "list", "value": "my_collection", "cachedResultName": "my_collection" } }, "typeVersion": 1.1, "notes": "This vectorStoreMilvus node performs automated tasks as part of the workflow." }, { "id": "2402387f-e147-4239-9128-34af296e0012", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ -20, 360 ], "parameters": { "color": 7, "width": 574, "height": 629, "content": "" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "3665ef25-e464-496a-84d6-980b96e78e9a", "name": "Q&A Chain to Retrieve from Milvus and Answer Question", "type": "n8n-nodes-base.noOp", "position": [ 120, 380 ], "parameters": { "options": {} }, "typeVersion": 1.5, "notes": "This chainRetrievalQa node performs automated tasks as part of the workflow." }, { "id": "10bf4a2c-ee2b-4185-b1e5-29b8664078fb", "name": "Milvus Vector Store Retriever", "type": "n8n-nodes-base.noOp", "position": [ 260, 580 ], "parameters": {}, "typeVersion": 1, "notes": "This retrieverVectorStore node performs automated tasks as part of the workflow." } ], "pinData": {}, "connections": { "c4d4a979-3182-46c9-b145-fa4e6ba57011": { "main": [ [ { "node": "error-handler-c4d4a979-3182-46c9-b145-fa4e6ba57011", "type": "main", "index": 0 } ], [ { "node": "error-handler-c4d4a979-3182-46c9-b145-fa4e6ba57011-4da5e3d9", "type": "main", "index": 0 } ], [ { "node": "error-handler-c4d4a979-3182-46c9-b145-fa4e6ba57011-d1edc3ce", "type": "main", "index": 0 } ], [ { "node": "error-handler-c4d4a979-3182-46c9-b145-fa4e6ba57011-87d3354e", "type": "main", "index": 0 } ], [ { "node": "error-handler-c4d4a979-3182-46c9-b145-fa4e6ba57011-fc668522", "type": "main", "index": 0 } ], [ { "node": "error-handler-c4d4a979-3182-46c9-b145-fa4e6ba57011-d2d6bc77", "type": "main", "index": 0 } ], [ { "node": "error-handler-c4d4a979-3182-46c9-b145-fa4e6ba57011-59a4762e", "type": "main", "index": 0 } ], [ { "node": "error-handler-c4d4a979-3182-46c9-b145-fa4e6ba57011-8043e6fc", "type": "main", "index": 0 } ], [ { "node": "error-handler-c4d4a979-3182-46c9-b145-fa4e6ba57011-d1f72ab2", "type": "main", "index": 0 } ] ] }, "5644c48d-62b6-4e2d-ad25-013b55f5ec71": { "main": [ [ { "node": "error-handler-5644c48d-62b6-4e2d-ad25-013b55f5ec71", "type": "main", "index": 0 } ], [ { "node": "error-handler-5644c48d-62b6-4e2d-ad25-013b55f5ec71-12ff4c60", "type": "main", "index": 0 } ], [ { "node": "error-handler-5644c48d-62b6-4e2d-ad25-013b55f5ec71-63dc43cb", "type": "main", "index": 0 } ], [ { "node": "error-handler-5644c48d-62b6-4e2d-ad25-013b55f5ec71-5658a0bd", "type": "main", "index": 0 } ], [ { "node": "error-handler-5644c48d-62b6-4e2d-ad25-013b55f5ec71-8e2bc66b", "type": "main", "index": 0 } ], [ { "node": "error-handler-5644c48d-62b6-4e2d-ad25-013b55f5ec71-026e382a", "type": "main", "index": 0 } ], [ { "node": "error-handler-5644c48d-62b6-4e2d-ad25-013b55f5ec71-a5877f22", "type": "main", "index": 0 } ], [ { "node": "error-handler-5644c48d-62b6-4e2d-ad25-013b55f5ec71-0bc687b9", "type": "main", "index": 0 } ], [ { "node": "error-handler-5644c48d-62b6-4e2d-ad25-013b55f5ec71-8631e685", "type": "main", "index": 0 } ] ] }, "33e94ee1-4244-4075-bb4b-93a99a2cacd9": { "main": [ [ { "node": "error-handler-33e94ee1-4244-4075-bb4b-93a99a2cacd9-58f72201", "type": "main", "index": 0 } ] ] }, "26730b7b-2bb9-46f8-83c3-3d4ffdfdef57": { "main": [ [ { "node": "error-handler-26730b7b-2bb9-46f8-83c3-3d4ffdfdef57-0fa4828d", "type": "main", "index": 0 } ] ] }, "f5b7410f-37c7-40ff-b841-12ed04252317": { "main": [ [ { "node": "error-handler-f5b7410f-37c7-40ff-b841-12ed04252317-b5662984", "type": "main", "index": 0 } ] ] } }, "name": "Lmchatopenai 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: Lmchatopenai Workflow. This workflow integrates 15 different services: stickyNote, httpRequest, textSplitterRecursiveCharacterTextSplitter, chainRetrievalQa, splitOut. It contains 29 nodes and follows best practices for error handling and security.", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "notes": "Excellent quality workflow: Lmchatopenai Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }