AutomationFlowsAI & RAG › Smart Knowledge Base Builder — Auto-convert Websites Into AI Training Data

Smart Knowledge Base Builder — Auto-convert Websites Into AI Training Data

ByAayushman Sharma @ajstyle0411 on n8n.io

Automate the entire process of converting any website or domain into clean, structured, AI-ready knowledge bases for Large Language Models (LLMs), semantic search, and chatbot development. URL Input via Simple Form – Paste a single link or a full domain. Automated Link Discovery…

Event trigger★★★★★ complexityAI-powered31 nodesHTTP RequestForm TriggerGoogle DriveOpenAI
AI & RAG Trigger: Event Nodes: 31 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #7260 — we link there as the canonical source.

This workflow follows the Form Trigger → Google Drive recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "3bef4e97-a7da-43fd-8c79-5d8e8e86e758",
      "name": "Firecrawl \u2014 Map URLs",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1360,
        464
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "a76a3be4-21b1-44c7-9fea-f50a8907012f",
      "name": "Trigger \u2014 Form (Create LLM KB)",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        576,
        656
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "1df831e1-a6e6-4c52-82c4-fb6647bafa2d",
      "name": "Decision \u2014 Generate For",
      "type": "n8n-nodes-base.switch",
      "position": [
        1024,
        656
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "0fc52950-ee21-4bfc-a1f3-a593c38df6c2",
      "name": "Extract Markdown (Parsera)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2176,
        464
      ],
      "parameters": {},
      "executeOnce": false,
      "typeVersion": 4.2
    },
    {
      "id": "8c33ee13-1f85-4273-9bd5-f36c397682cd",
      "name": "Extract Markdown (Parsera - Single)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1456,
        864
      ],
      "parameters": {},
      "executeOnce": false,
      "typeVersion": 4.2
    },
    {
      "id": "3ef6a196-2411-4099-8147-07a411c771ee",
      "name": "Batch URL Processor",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1824,
        464
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "7fb54ed0-9454-4424-9c71-47bc1cd9f18b",
      "name": "File Fields (Single)",
      "type": "n8n-nodes-base.set",
      "position": [
        2208,
        864
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "efd237b7-9de2-4822-ad24-b60d9b27910f",
      "name": "Convert to TXT (Single)",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        2448,
        864
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "5a14732e-5b18-48b7-b5a8-efa296a81bc4",
      "name": "Google Drive \u2014 Upload to folder (Batch)",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        3344,
        464
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "0a54f878-809f-48e1-a085-9480130fbd53",
      "name": "Google Drive \u2014 Upload to folder(Single)",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2704,
        864
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "ed0dfad5-cdd1-47ba-9abb-e4e33ab80f02",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        416,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "6ccd544e-e8e2-45f0-b6d9-7d8fc73696aa",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        896,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "9fc35c56-9e4d-437b-bc3a-f387858885c3",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1296,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "3b0aad63-08cd-4d52-9fa7-bb274a2363d8",
      "name": "Split URLs",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1584,
        464
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "67f5a789-8b0b-4976-b4ef-3dc7972bc35d",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1744,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "2f361dc6-5b94-4dc8-a038-e4a71272391e",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2064,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "6ff60d34-ad5d-4004-b203-3b8213df8839",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2416,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b9ca354a-8c4f-4739-8ace-c9b794441b31",
      "name": "File Fields (Batch)",
      "type": "n8n-nodes-base.set",
      "position": [
        2864,
        464
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "486eb863-6e7a-48a8-8ee7-687a6e08cec8",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2800,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "50a49375-ca0b-4fec-8a9f-eb0502f31d61",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3040,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "cbbbefb9-aea7-45c3-8e69-dec9c7817ce5",
      "name": "Convert to TXT (Batch)",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        3104,
        464
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "69f11351-b5e4-4354-adc5-1bfb92de0f27",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3280,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "756cc348-42cc-40fc-b8e4-f1eab1412f18",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1296,
        672
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "bfcc459a-1e67-47fa-8f5a-1178f5e853dd",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1760,
        672
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "69e8b664-00d4-4333-95ee-aa16c2bdb8bf",
      "name": "LLMs.txt Generator (OpenAI - Single)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1808,
        864
      ],
      "parameters": {},
      "executeOnce": false,
      "typeVersion": 1.8
    },
    {
      "id": "1f21ca3f-73a2-49aa-8b0a-dd0e396b84d5",
      "name": "LLMs.txt Generator (OpenAI - Batch)",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2464,
        464
      ],
      "parameters": {},
      "executeOnce": false,
      "typeVersion": 1.8
    },
    {
      "id": "3ca47f8b-6678-4c81-858c-e63048cc0eb4",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2144,
        672
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "33a33453-8133-4033-b62e-1cd3323aaff3",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2384,
        672
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ac22d369-6197-40dc-8703-46dbc99bbc31",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2624,
        672
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8e173347-80c2-4c48-aa4b-4348785a32a7",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1056,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "c7cf05cf-d8b7-4350-8778-6ee4fb7bbfd8",
      "name": "Sticky Note15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -576,
        224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Split URLs": {
      "main": [
        [
          {
            "node": "Batch URL Processor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Batch URL Processor": {
      "main": [
        [],
        [
          {
            "node": "Extract Markdown (Parsera)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "File Fields (Batch)": {
      "main": [
        [
          {
            "node": "Convert to TXT (Batch)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "File Fields (Single)": {
      "main": [
        [
          {
            "node": "Convert to TXT (Single)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to TXT (Batch)": {
      "main": [
        [
          {
            "node": "Google Drive \u2014 Upload to folder (Batch)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Firecrawl \u2014 Map URLs": {
      "main": [
        [
          {
            "node": "Split URLs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to TXT (Single)": {
      "main": [
        [
          {
            "node": "Google Drive \u2014 Upload to folder(Single)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Decision \u2014 Generate For": {
      "main": [
        [
          {
            "node": "Firecrawl \u2014 Map URLs",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Extract Markdown (Parsera - Single)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Markdown (Parsera)": {
      "main": [
        [
          {
            "node": "LLMs.txt Generator (OpenAI - Batch)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger \u2014 Form (Create LLM KB)": {
      "main": [
        [
          {
            "node": "Decision \u2014 Generate For",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Markdown (Parsera - Single)": {
      "main": [
        [
          {
            "node": "LLMs.txt Generator (OpenAI - Single)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LLMs.txt Generator (OpenAI - Batch)": {
      "main": [
        [
          {
            "node": "File Fields (Batch)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LLMs.txt Generator (OpenAI - Single)": {
      "main": [
        [
          {
            "node": "File Fields (Single)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive \u2014 Upload to folder (Batch)": {
      "main": [
        [
          {
            "node": "Batch URL Processor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Automate the entire process of converting any website or domain into clean, structured, AI-ready knowledge bases for Large Language Models (LLMs), semantic search, and chatbot development. URL Input via Simple Form – Paste a single link or a full domain. Automated Link Discovery…

Source: https://n8n.io/workflows/7260/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Goal: This workflow demonstrates the full fluidX THE EYE integration — starting a live session, inviting both the customer (via SMS) and the service agent (via email), and then accessing the media (ph

Form Trigger, Google Drive, Email Send +3
AI & RAG

This workflow is ideal for content creators, training providers, agencies, and businesses that need to quickly turn raw videos into polished, captioned, or narrated content — without hiring editors or

Ssh, Form Trigger, Ftp +3
AI & RAG

What it is An automated LinkedIn content system that takes a simple form (idea + optional file), generates LinkedIn posts with OpenAI, stores them in Notion, builds Google Slides carousels, and auto-p

Form Trigger, OpenAI, Notion +6
AI & RAG

In this tutorial, I’ll show how to create UGC (User Generated Content) videos automatically using n8n and Sora 2.

Form Trigger, Google Drive, HTTP Request +2
AI & RAG

This workflow turns a single reference image into up to 100 high-performing ad variations using Fal.AI's Nano Banana model and GPT-5.1. Simply upload your inspiration to a form, and watch as unique, c

OpenAI, HTTP Request, Google Drive +1