{"workflow":{"id":13436,"name":"Crawl documentation sites and build an AI knowledge base with Olostep","views":60,"recentViews":0,"totalViews":60,"createdAt":"2026-02-16T14:46:52.261Z","description":"# AI Documentation Crawler & Knowledge Base Builder  \n\nThis n8n template automatically crawls technical documentation websites, scrapes their content, and converts it into **clean, structured, developer-friendly documentation**.  \nEach page is organized into folders and saved as Google Docs, making it easy to build or maintain an internal knowledge base.\n\n## Who’s it for  \n- Developer teams maintaining internal or external documentation  \n- SaaS companies onboarding users or support teams  \n- AI builders creating documentation-based knowledge bases  \n- Anyone who wants to turn raw docs into structured, readable references  \n\n## How it works / What it does  \n1. **Manual Trigger**  \n   - The workflow starts manually whenever you want to crawl or refresh documentation.\n\n2. **Documentation Discovery (Crawler)**  \n   - The workflow crawls a root documentation URL and generates a sitemap of all discoverable documentation pages.\n\n3. **URL Processing**  \n   - The sitemap is split into individual URLs.  \n   - The workflow dynamically analyzes URL depth to recreate the documentation hierarchy.\n\n4. **Folder Structure Creation**  \n   - A parent folder is created in Google Drive for the service.  \n   - Subfolders are automatically generated to mirror the documentation structure (based on URL paths).\n\n5. **Content Scraping**  \n   - Each documentation page is scraped using the Olostep API.  \n   - Clean markdown content is extracted from the page.\n\n6. **Information Extraction**  \n   - AI extracts structured technical details such as:  \n     - API summaries  \n     - cURL examples  \n     - Authentication methods  \n     - Key notes and pitfalls  \n\n7. **AI Documentation Generation**  \n   - An AI agent transforms the scraped content into a polished, human-readable API reference or guide.\n\n8. **Document Creation**  \n   - A Google Doc is created for each documentation page.  \n   - The generated content is inserted into the document and saved in the correct folder.\n\n9. **Rate Control**  \n   - A wait step prevents API throttling during large documentation crawls.\n\nThe result is a fully structured documentation library generated automatically from live documentation websites.\n\n## How to set up  \n1. Import the template into your n8n workspace.  \n2. Set the root documentation URL you want to crawl.  \n3. Connect your **Google Drive** and **Google Docs** accounts.  \n4. Add your **Olostep API key** and AI model credentials.  \n5. Execute the workflow to generate your documentation library.\n\n## Requirements  \n- n8n account (cloud or self-hosted)  \n- Olostep API key  \n- Google Drive & Google Docs access  \n- AI model provider (OpenAI or Gemini)\n\n## How to customize the workflow  \n- Limit the number of pages crawled per run.  \n- Adjust AI prompts to match your documentation style.  \n- Store results in Notion, Confluence, or Markdown files instead of Google Docs.  \n- Add vector storage (Pinecone, Supabase) to turn docs into an AI knowledge base.  \n- Schedule automatic re-crawls to keep documentation up to date.\n\n---\n\n👉 This template turns complex technical documentation into an organized, searchable knowledge base — automatically.\n","workflow":{"id":"4ooy6K06SygsEmPW9vVAe","meta":{"instanceId":"6f81894254c2852bfe28b07fc1f6652b03481706dd714d6609cc88e8521956d2","templateCredsSetupCompleted":true},"name":"Documentation Crawler","tags":[{"id":"xRJNyiRIpAsEzL8y","name":"Olostep","createdAt":"2026-01-31T11:17:46.807Z","updatedAt":"2026-01-31T11:17:46.807Z"}],"nodes":[{"id":"93d0600b-1761-428f-8b67-e917a15da853","name":"When clicking ‘Execute workflow’","type":"n8n-nodes-base.manualTrigger","position":[-256,224],"parameters":{},"typeVersion":1},{"id":"9b6038ad-662b-448a-85c8-7b132a0406c6","name":"Split Out1","type":"n8n-nodes-base.splitOut","position":[160,224],"parameters":{"options":{},"fieldToSplitOut":"urls"},"typeVersion":1},{"id":"eb0a1432-1ab5-48fa-b498-757217974c55","name":"Service Name","type":"n8n-nodes-base.set","position":[-256,464],"parameters":{"options":{},"assignments":{"assignments":[{"id":"33676969-d132-4694-b415-73f096903e45","name":"Service","type":"string","value":"={{ $json.url.split('.')[1] }}"}]}},"typeVersion":3.4},{"id":"7401b2b1-a43d-4a29-a8fe-40e9abc3e8bc","name":"Create Parent Folder","type":"n8n-nodes-base.googleDrive","position":[-48,464],"parameters":{"name":"={{ $json.Service }}","driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"list","value":"1ogVqaOeuMSGOs_jUclfs8Mj6oKX71EhZ","cachedResultUrl":"https://drive.google.com/drive/folders/1ogVqaOeuMSGOs_jUclfs8Mj6oKX71EhZ","cachedResultName":"api workflow"},"resource":"folder"},"credentials":{"googleDriveOAuth2Api":{"id":"credential-id","name":"Google Drive"}},"typeVersion":3},{"id":"8af70f1f-c2fb-442f-b7b9-1be3305ff8dd","name":"Merge","type":"n8n-nodes-base.merge","position":[400,448],"parameters":{"mode":"combine","options":{},"combineBy":"combineAll"},"typeVersion":3.2},{"id":"243f7547-455c-49d8-8160-dc6989a8bfe5","name":"Create a map","type":"n8n-nodes-olostep.olostepScrape","position":[-48,224],"parameters":{"url":"https://docs.tavily.com","top_n":{},"resource":"map"},"credentials":{"olostepScrapeApi":{"id":"credential-id","name":"Olostep Scrape account"}},"typeVersion":1},{"id":"16cc6f72-7685-454a-a827-1133995198fa","name":"Edit Fields","type":"n8n-nodes-base.set","position":[160,464],"parameters":{"options":{},"assignments":{"assignments":[{"id":"8f7262f0-45ed-4026-8d48-6f7fa151918a","name":"parent_id","type":"string","value":"={{ $json.id }}"},{"id":"ae51e430-afb2-4ce1-82e7-983c465e5f21","name":"counter","type":"number","value":3}]}},"typeVersion":3.4},{"id":"5e6e7cc3-ab78-4a90-b053-ba4aac5049ce","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[608,352],"parameters":{"options":{}},"typeVersion":3},{"id":"aa4f21b0-caad-48f5-9c4a-d63b264fd957","name":"Search files and folders","type":"n8n-nodes-base.googleDrive","maxTries":2,"position":[1296,608],"parameters":{"limit":1,"filter":{"folderId":{"__rl":true,"mode":"id","value":"={{ $json.parent_id }}"}},"options":{},"resource":"fileFolder","queryString":"={{ $json.url.split('/') [$json.counter] }}"},"credentials":{"googleDriveOAuth2Api":{"id":"credential-id","name":"Google Drive"}},"retryOnFail":true,"typeVersion":3,"alwaysOutputData":true},{"id":"7e0811ed-48fb-4ff3-ab73-88e52d6bd4ac","name":"If","type":"n8n-nodes-base.if","position":[1488,608],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"ab76138d-20b8-4628-ae2b-0056d263c9bb","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{ $json.id }}","rightValue":""}]}},"typeVersion":2.3},{"id":"f3722176-6062-4b55-b9da-cc8960d8f650","name":"Create folder","type":"n8n-nodes-base.googleDrive","maxTries":2,"position":[1696,688],"parameters":{"name":"={{ $('counter').item.json.url.split('/') [$('counter').item.json.counter] }}","driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"id","value":"={{ $('counter').item.json.parent_id }}"},"resource":"folder"},"credentials":{"googleDriveOAuth2Api":{"id":"credential-id","name":"Google Drive"}},"retryOnFail":true,"typeVersion":3},{"id":"6f884d85-dddd-4d8d-8773-4068be63072f","name":"counter","type":"n8n-nodes-base.set","position":[880,544],"parameters":{"options":{},"assignments":{"assignments":[{"id":"188107ae-8644-4884-bbdd-50fec46da9b4","name":"counter","type":"number","value":"={{ $json.counter }}"},{"id":"8926402d-dd93-4c01-9bea-12948012a58c","name":"url","type":"string","value":"={{ $('Loop Over Items').item.json.urls }}"},{"id":"957104a3-48d8-4222-ab08-8102f26cfed7","name":"parent_id","type":"string","value":"={{ $json.parent_id }}"}]}},"typeVersion":3.4},{"id":"8df4e323-a936-4c58-9390-8114b8aa5c41","name":"counter++","type":"n8n-nodes-base.set","position":[1904,688],"parameters":{"options":{},"assignments":{"assignments":[{"id":"e84010b9-6e1f-4fb5-9b8a-7726e62cf629","name":"counter","type":"string","value":"={{ $('counter').item.json.counter + 1 }}"},{"id":"ca7ee778-c0fb-4646-adc1-c5bb49011cf7","name":"parent_id","type":"string","value":"={{ $json.id }}"}]}},"typeVersion":3.4},{"id":"60809abf-4c76-4d60-8e6c-e2261a3f28b5","name":"If1","type":"n8n-nodes-base.if","position":[1088,544],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"d4b6d38f-ba2a-446d-80d9-a04570c81844","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{ $json.url.split('/') [$json.counter] }}","rightValue":4},{"id":"04f5e03f-00e1-4d25-bee7-52035b7b9b06","operator":{"type":"string","operation":"exists","singleValue":true},"leftValue":"={{ $json.url.split('/') [$json.counter + 1] }}","rightValue":""}]}},"typeVersion":2.3},{"id":"acf1e25e-836e-4810-8acb-1cfe8380c0ff","name":"counter++1","type":"n8n-nodes-base.set","position":[1696,544],"parameters":{"options":{},"assignments":{"assignments":[{"id":"e84010b9-6e1f-4fb5-9b8a-7726e62cf629","name":"counter","type":"string","value":"={{ $('counter').item.json.counter + 1 }}"},{"id":"ca7ee778-c0fb-4646-adc1-c5bb49011cf7","name":"parent_id","type":"string","value":"={{ $json.id }}"}]}},"typeVersion":3.4},{"id":"5887437c-f134-4f21-b7ac-c0a168a201f5","name":"Scrape a URL","type":"n8n-nodes-olostep.olostepScrape","maxTries":2,"position":[1584,336],"parameters":{"url_to_scrape":"={{ $json.url }}"},"credentials":{"olostepScrapeApi":{"id":"credential-id","name":"Olostep Scrape account"}},"retryOnFail":true,"typeVersion":1},{"id":"3dd3970c-7251-4afd-9053-1c38f471f824","name":"set data","type":"n8n-nodes-base.set","position":[1376,336],"parameters":{"options":{},"assignments":{"assignments":[{"id":"b06502a3-ca99-4707-85ae-0d7dee158c3a","name":"counter","type":"number","value":"={{ $json.counter }}"},{"id":"7e8ca9e4-a61a-4f7e-829d-7dd08de7edf1","name":"url","type":"string","value":"={{ $json.url }}"},{"id":"1ded19f1-a837-47e6-b17f-723df31148d0","name":"parent_id","type":"string","value":"={{ $json.parent_id }}"}]}},"typeVersion":3.4},{"id":"b5176eb3-3a48-4e06-bc8d-63b4fee01651","name":"No Operation, do nothing","type":"n8n-nodes-base.noOp","position":[816,256],"parameters":{},"typeVersion":1},{"id":"66ae48a6-7705-4d45-9aa3-a3621686c72a","name":"Information Extractor","type":"@n8n/n8n-nodes-langchain.informationExtractor","maxTries":2,"position":[1904,96],"parameters":{"text":"={{ $json.markdown_content }}","options":{},"attributes":{"attributes":[{"name":"Curl","required":true,"description":"A ready-to-use curl command or a JavaScript/Python code snippet for that specific endpoint."},{"name":"Quick Summary","required":true,"description":"One sentence on what the endpoint does."},{"name":"Authentication","required":true,"description":"Does this specifically need a Bearer YOUR_TOKEN_HERE or API key?"},{"name":"Common Gotchas","required":true,"description":"identify potential errors (e.g., \"This endpoint is rate-limited to 5 requests per second\")."}]}},"retryOnFail":true,"typeVersion":1.2},{"id":"a220f30c-6118-4f22-a1d3-3a9f88c5f32f","name":"Google Gemini Chat Model2","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[1856,320],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"credential-id","name":"Gemini(PaLM) Api"}},"typeVersion":1},{"id":"7f256970-9fb3-4de9-a097-0c9a6f0e71dd","name":"AI Agent","type":"@n8n/n8n-nodes-langchain.agent","maxTries":2,"position":[2464,320],"parameters":{"text":"=## Extracted Metadata\n- Curl: {{ $json.output.Curl }}\n- Quick Summary: {{ $json.output['Quick Summary'] }}\n- Authentication: {{ $json.output.Authentication }}\n- Common Gotchas: {{ $json.output['Common Gotchas'] }}\n- URL: {{ $json.url }}\n\n## Raw documentation\n{{ $json.markdown_content }}","options":{"systemMessage":"=# Role\nYou are an Expert Technical Writer specialized in creating developer-focused API guides. Objective: Transform raw API documentation and its extracted metadata into a comprehensive, highly readable \"Developer Reference Article.\"\n\n## Task\nCreate a well-structured technical article. The goal is to provide a \"single source of truth\" that combines high-level understanding with deep-dive technical details.\n\n## Article Structure & Requirements\n\n    H1 Title: Create a clear title (e.g., \"The Complete Developer Guide to [Endpoint Name]\").\n\n    The TL;DR Section: Start with a \"Quick Start\" callout box containing the Quick Summary and the Authentication requirements.\n\n    Implementation Guide: * Explain the request flow.\n\n        Embed the Copy-Paste Snippet here.\n\n        Provide a table of parameters (extracted from the full page content).\n\n    Deep Dive: Include the Full Page Content here, but reformat it for better readability (use bolding for key terms, clean up tables, and ensure hierarchy with H2/H3 headers).\n\n    Developer Tips & Gotchas: Create a dedicated section for the Common Gotchas. Present these as \"Pro-Tips\" or \"Warnings\" to help the developer avoid bugs.\n\n    Response Examples: Include a section showing what a successful response looks like (JSON/XML).\n\n## Writing Style\n\n    Action-Oriented: Use verbs like \"Send,\" \"Configure,\" and \"Retrieve.\"\n\n    Scannable: Use bullet points, tables, and code blocks. No long, dense paragraphs.\n\n    Clarity: Ensure that if the full documentation is messy, this article cleans up the hierarchy."},"promptType":"define"},"retryOnFail":true,"typeVersion":3.1},{"id":"be5789db-1cf4-4a6a-b266-307276711872","name":"Merge1","type":"n8n-nodes-base.merge","position":[2080,320],"parameters":{"mode":"combine","options":{},"combineBy":"combineByPosition"},"typeVersion":3.2},{"id":"07cd6030-a934-422a-ab5d-5cbbae7b9644","name":"Google Gemini Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[2384,544],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"credential-id","name":"Gemini(PaLM) Api"}},"typeVersion":1},{"id":"b0d3c996-1c83-4ba6-a16c-e78a17d0c4f6","name":"Create a document","type":"n8n-nodes-base.googleDocs","maxTries":2,"position":[2784,320],"parameters":{"title":"={{ $('set data').item.json.url.split('/') [$('set data').item.json.counter] }}","folderId":"={{ $('set data').item.json.parent_id }}"},"credentials":{"googleDocsOAuth2Api":{"id":"credential-id","name":"Google Docs account"}},"retryOnFail":true,"typeVersion":2},{"id":"3c2d656e-0881-4220-9f62-0c750bb92856","name":"Update a document","type":"n8n-nodes-base.googleDocs","maxTries":2,"position":[2976,320],"parameters":{"simple":false,"actionsUi":{"actionFields":[{"text":"={{ $('AI Agent').item.json.output }}","action":"insert"}]},"operation":"update","documentURL":"={{ $json.id }}"},"credentials":{"googleDocsOAuth2Api":{"id":"credential-id","name":"Google Docs account"}},"retryOnFail":true,"typeVersion":2},{"id":"2ecabcd6-c060-4c7d-8516-ad42fcaac332","name":"Wait","type":"n8n-nodes-base.wait","position":[2272,320],"webhookId":"60545b5d-33df-4c17-94d8-e692d6824e57","parameters":{"unit":"minutes","amount":1},"typeVersion":1.1},{"id":"26d42d74-1df5-41e8-8ec2-2e98d515fb81","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1216,-384],"parameters":{"width":832,"height":1792,"content":"# AI Documentation Crawler & Knowledge Base Builder  \n\nThis n8n template automatically crawls technical documentation websites, scrapes their content, and converts it into **clean, structured, developer-friendly documentation**.  \nEach page is organized into folders and saved as Google Docs, making it easy to build or maintain an internal knowledge base.\n\n## Who’s it for  \n- Developer teams maintaining internal or external documentation  \n- SaaS companies onboarding users or support teams  \n- AI builders creating documentation-based knowledge bases  \n- Anyone who wants to turn raw docs into structured, readable references  \n\n## How it works / What it does  \n1. **Manual Trigger**  \n   - The workflow starts manually whenever you want to crawl or refresh documentation.\n\n2. **Documentation Discovery (Crawler)**  \n   - The workflow crawls a root documentation URL and generates a sitemap of all discoverable documentation pages.\n\n3. **URL Processing**  \n   - The sitemap is split into individual URLs.  \n   - The workflow dynamically analyzes URL depth to recreate the documentation hierarchy.\n\n4. **Folder Structure Creation**  \n   - A parent folder is created in Google Drive for the service.  \n   - Subfolders are automatically generated to mirror the documentation structure (based on URL paths).\n\n5. **Content Scraping**  \n   - Each documentation page is scraped using the Olostep API.  \n   - Clean markdown content is extracted from the page.\n\n6. **Information Extraction**  \n   - AI extracts structured technical details such as:  \n     - API summaries  \n     - cURL examples  \n     - Authentication methods  \n     - Key notes and pitfalls  \n\n7. **AI Documentation Generation**  \n   - An AI agent transforms the scraped content into a polished, human-readable API reference or guide.\n\n8. **Document Creation**  \n   - A Google Doc is created for each documentation page.  \n   - The generated content is inserted into the document and saved in the correct folder.\n\n9. **Rate Control**  \n   - A wait step prevents API throttling during large documentation crawls.\n\nThe result is a fully structured documentation library generated automatically from live documentation websites.\n\n## How to set up  \n1. Import the template into your n8n workspace.  \n2. Set the root documentation URL you want to crawl.  \n3. Connect your **Google Drive** and **Google Docs** accounts.  \n4. Add your **Olostep API key** and AI model credentials.  \n5. Execute the workflow to generate your documentation library.\n\n## Requirements  \n- n8n account (cloud or self-hosted)  \n- Olostep API key  \n- Google Drive & Google Docs access  \n- AI model provider (OpenAI or Gemini)\n\n## How to customize the workflow  \n- Limit the number of pages crawled per run.  \n- Adjust AI prompts to match your documentation style.  \n- Store results in Notion, Confluence, or Markdown files instead of Google Docs.  \n- Add vector storage (Pinecone, Supabase) to turn docs into an AI knowledge base.  \n- Schedule automatic re-crawls to keep documentation up to date.\n\n---\n\n👉 This template turns complex technical documentation into an organized, searchable knowledge base — automatically.\n"},"typeVersion":1},{"id":"b59393ae-e8a8-4466-ab0c-91558d51f17f","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-304,128],"parameters":{"color":7,"width":624,"height":240,"content":"## Creates a Map\nCrawls the root documentation URL and generates a full sitemap.\nReturns all discoverable documentation URLs under the given domain."},"typeVersion":1},{"id":"828f217c-9cb4-4e3e-b31d-c53cee0a3c16","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-304,368],"parameters":{"color":7,"width":624,"height":256,"content":"## Creates Parent Folder\nCreates a parent folder for this service in Google Drive.\nAll generated API reference documents will be stored here."},"typeVersion":1},{"id":"fbeaefd2-55fd-4e73-918b-f32afeffde2c","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[320,272],"parameters":{"color":7,"height":352,"content":"## Merge\nMerges service metadata with the list of documentation URLs\nso both are available during processing."},"typeVersion":1},{"id":"5ce248f9-41d7-47d2-89a1-fa1211ab1a8f","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[784,384],"parameters":{"color":7,"width":448,"height":480,"content":"## Counter\nTracks the current URL depth being processed.\nUsed to dynamically create nested folder structures that match the doc hierarchy. After that checks whether additional URL path segments exist.\nDetermines whether to create a subfolder or proceed with scraping."},"typeVersion":1},{"id":"1679e8af-6fea-4d89-83d2-b7a373d19b47","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[1232,496],"parameters":{"color":7,"width":416,"height":368,"content":"## Search files/folders\nChecks if a folder for the current documentation section already exists.\nPrevents duplicate folder creation."},"typeVersion":1},{"id":"e32d6342-bee9-4d15-b3d9-76a139ba99d0","name":"Sticky Note6","type":"n8n-nodes-base.stickyNote","position":[1808,496],"parameters":{"color":7,"width":368,"height":368,"content":"## Create Folder\nCreates a subfolder that mirrors the documentation URL structure.\nKeeps generated docs neatly organized by section.\n\nIncrements the URL depth counter.\nMoves the workflow deeper into the documentation structure."},"typeVersion":1},{"id":"ae7b1cc9-4c9f-4cb9-b6c4-8205c8ec9e96","name":"Sticky Note7","type":"n8n-nodes-base.stickyNote","position":[1648,496],"parameters":{"color":7,"width":160,"height":368,"content":""},"typeVersion":1},{"id":"9b11932b-6bad-4163-81cd-51fa4de5c28d","name":"Sticky Note8","type":"n8n-nodes-base.stickyNote","position":[1232,224],"parameters":{"color":7,"width":512,"height":272,"content":"## Scrape URL\nScrapes the full documentation page content.\nExtracts clean markdown content for AI processing."},"typeVersion":1},{"id":"10d153fd-c057-48df-82f2-634f510f3a6f","name":"Sticky Note9","type":"n8n-nodes-base.stickyNote","position":[1744,-16],"parameters":{"color":7,"width":464,"height":512,"content":"## Information extractor\nUses AI to extract structured metadata from the documentation: Curl example, endpoint summary, authentication method, and common pitfalls."},"typeVersion":1},{"id":"f075928a-ed3a-4c4c-a6e6-56d1b8c94bc8","name":"Sticky Note10","type":"n8n-nodes-base.stickyNote","position":[2208,208],"parameters":{"color":7,"width":512,"height":288,"content":"## Writer Agent\nConverts raw documentation + extracted metadata into a clean,\ndeveloper-friendly API reference article."},"typeVersion":1},{"id":"b09c514b-d0f7-47e7-900f-8bf40bbb1efe","name":"Sticky Note11","type":"n8n-nodes-base.stickyNote","position":[2720,208],"parameters":{"color":7,"width":416,"height":288,"content":"## Create a Document\nCreates a new Google Doc for the current documentation page and update that document with the full context.\nThe document title matches the URL path segment."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"availableInMCP":false,"executionOrder":"v1"},"versionId":"6ce0628b-63fa-4e84-ba38-eacff7428be0","connections":{"If":{"main":[[{"node":"counter++1","type":"main","index":0}],[{"node":"Create folder","type":"main","index":0}]]},"If1":{"main":[[{"node":"Search files and folders","type":"main","index":0}],[{"node":"set data","type":"main","index":0}]]},"Wait":{"main":[[{"node":"AI Agent","type":"main","index":0}]]},"Merge":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Merge1":{"main":[[{"node":"Wait","type":"main","index":0}]]},"counter":{"main":[[{"node":"If1","type":"main","index":0}]]},"AI Agent":{"main":[[{"node":"Create a document","type":"main","index":0}]]},"set data":{"main":[[{"node":"Scrape a URL","type":"main","index":0}]]},"counter++":{"main":[[{"node":"counter","type":"main","index":0}]]},"Split Out1":{"main":[[{"node":"Merge","type":"main","index":0}]]},"counter++1":{"main":[[{"node":"counter","type":"main","index":0}]]},"Edit Fields":{"main":[[{"node":"Merge","type":"main","index":1}]]},"Create a map":{"main":[[{"node":"Service Name","type":"main","index":0},{"node":"Split Out1","type":"main","index":0}]]},"Scrape a URL":{"main":[[{"node":"Information Extractor","type":"main","index":0},{"node":"Merge1","type":"main","index":1}]]},"Service Name":{"main":[[{"node":"Create Parent Folder","type":"main","index":0}]]},"Create folder":{"main":[[{"node":"counter++","type":"main","index":0}]]},"Loop Over Items":{"main":[[{"node":"No Operation, do nothing","type":"main","index":0}],[{"node":"counter","type":"main","index":0}]]},"Create a document":{"main":[[{"node":"Update a document","type":"main","index":0}]]},"Update a document":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Create Parent Folder":{"main":[[{"node":"Edit Fields","type":"main","index":0}]]},"Information Extractor":{"main":[[{"node":"Merge1","type":"main","index":0}]]},"Google Gemini Chat Model":{"ai_languageModel":[[{"node":"AI Agent","type":"ai_languageModel","index":0}]]},"Search files and folders":{"main":[[{"node":"If","type":"main","index":0}]]},"Google Gemini Chat Model2":{"ai_languageModel":[[{"node":"Information Extractor","type":"ai_languageModel","index":0}]]},"When clicking ‘Execute workflow’":{"main":[[{"node":"Create a map","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":38,"nodeTypes":{"n8n-nodes-base.if":{"count":2},"n8n-nodes-base.set":{"count":6},"n8n-nodes-base.noOp":{"count":1},"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.merge":{"count":2},"n8n-nodes-base.splitOut":{"count":1},"n8n-nodes-base.googleDocs":{"count":2},"n8n-nodes-base.stickyNote":{"count":12},"n8n-nodes-base.googleDrive":{"count":3},"n8n-nodes-base.manualTrigger":{"count":1},"n8n-nodes-base.splitInBatches":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-olostep.olostepScrape":{"count":2},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":2},"@n8n/n8n-nodes-langchain.informationExtractor":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Yasser Sami","username":"yassersami","bio":"AI Automation Architect building smart workflows with n8n. I help businesses save time by automating processes, connecting apps, and integrating AI. My focus is on creating efficient, reliable systems that streamline operations and reduce manual work.","verified":true,"links":["https://www.linkedin.com/in/yasser-sami-425333228/"],"avatar":"https://gravatar.com/avatar/e11e6f15924e7365111150fae6284b733d02fae20e05bd32cc026eee22d6a975?r=pg&d=retro&size=200"},"nodes":[{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":26,"icon":"fa:arrow-right","name":"n8n-nodes-base.noOp","codex":{"data":{"alias":["nothing"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.noop/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"organization\"]","defaults":{"name":"No Operation, do nothing","color":"#b0b0b0"},"iconData":{"icon":"arrow-right","type":"icon"},"displayName":"No Operation, do nothing","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":58,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDrive","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Drive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"id":495,"icon":"file:googleDocs.svg","name":"n8n-nodes-base.googleDocs","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledocs/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Miscellaneous"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Docs"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSItMTggMCA5MCA4MCI+PHVzZSB4bGluazpocmVmPSIjYSIgeD0iLjUiIHk9Ii41Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzU0OGRmNiIgZD0ibTM2IDAgMjIgMjJ2NTNhNC45OSA0Ljk5IDAgMCAxLTUgNUg1YTQuOTkgNC45OSAwIDAgMS01LTVWNWE0Ljk5IDQuOTkgMCAwIDEgNS01eiIvPjxwYXRoIGQ9Ik0xNCA0MGgzMHYzSDE0em0wIDdoMzB2M0gxNHptMCA4aDMwdjNIMTR6bTAgN2gyMXYzSDE0eiIvPjxwYXRoIGZpbGw9IiNhYmQwZmIiIGQ9Im0zNiAwIDIyIDIySDQxYy0yLjc3IDAtNS0yLjQ4LTUtNS4yNXoiLz48cGF0aCBmaWxsPSIjM2U1YmI5IiBkPSJNNDAuNzUgMjIgNTggMjkuMTI1VjIyeiIvPjwvZz48L3N5bWJvbD48L3N2Zz4="},"displayName":"Google Docs","typeVersion":2,"nodeCategories":[{"id":11,"name":"Miscellaneous"}]},{"id":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":838,"icon":"fa:mouse-pointer","name":"n8n-nodes-base.manualTrigger","codex":{"data":{"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"When clicking ‘Execute workflow’","color":"#909298"},"iconData":{"icon":"mouse-pointer","type":"icon"},"displayName":"Manual Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1239,"icon":"file:splitOut.svg","name":"n8n-nodes-base.splitOut","codex":{"data":{"alias":["Split","Nested","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Split Out"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjOUI2REQ1IiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4MCAxNDhjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxNDZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCA5NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDMyMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE0NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTQ2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNDM4IDc2YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjU2YzAgMjYuOTc4LTEwLjI3MiA1MS41NTctMjcuMTE5IDcwLjAzOS01LjA1NSA1LjU0NS01LjA1NSAxNC4zNzcgMCAxOS45MjIgMTYuODQ3IDE4LjQ4MiAyNy4xMTkgNDMuMDYxIDI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMySDQyNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzA5Ljc4M2MtNDQuMTgzIDAtODAtMzUuODE3LTgwLTgwdi01NmMwLTMwLjkyOC0yNS4wNzItNTYtNTYtNTZhNS43ODMgNS43ODMgMCAwIDEtNS43ODMtNS43ODN2LTM2LjQzNGE1Ljc4MyA1Ljc4MyAwIDAgMSA1Ljc4My01Ljc4M2MzMC45MjggMCA1Ni0yNS4wNzIgNTYtNTZ2LTU2YzAtNDQuMTgzIDM1LjgxNy04MCA4MC04MEg0MjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMzYgMjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik01MTIgMEgwdjUxMmg1MTJ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+"},"displayName":"Split Out","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1262,"icon":"file:google.svg","name":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgooglegemini/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Google Gemini Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNDQuNSAyMEgyNHY4LjVoMTEuOEMzNC43IDMzLjkgMzAuMSAzNyAyNCAzN2MtNy4yIDAtMTMtNS44LTEzLTEzczUuOC0xMyAxMy0xM2MzLjEgMCA1LjkgMS4xIDguMSAyLjlsNi40LTYuNEMzNC42IDQuMSAyOS42IDIgMjQgMiAxMS44IDIgMiAxMS44IDIgMjRzOS44IDIyIDIyIDIyYzExIDAgMjEtOCAyMS0yMiAwLTEuMy0uMi0yLjctLjUtNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNMCAzN1YxMWwxNyAxM3oiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im0wIDExIDE3IDEzIDctNi4xTDQ4IDE0VjBIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Im0wIDM3IDMwLTIzIDcuOSAxTDQ4IDB2NDhIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiM0Mjg1RjQiIGQ9Ik00OCA0OCAxNyAyNGwtNC0zIDM1LTEweiIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9zdmc+"},"displayName":"Google Gemini Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1273,"icon":"fa:project-diagram","name":"@n8n/n8n-nodes-langchain.informationExtractor","codex":{"data":{"alias":["NER","parse","parsing","JSON","data extraction","structured"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.information-extractor/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Chains","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"Information Extractor"},"iconData":{"icon":"project-diagram","type":"icon"},"displayName":"Information Extractor","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":35,"name":"Document Extraction"},{"id":51,"name":"Multimodal AI"}],"image":[]}}