{"workflow":{"id":11386,"name":"Generate article-based posts for LinkedIn, Twitter (X), and Reddit with OpenAI","views":150,"recentViews":0,"totalViews":150,"createdAt":"2025-12-01T05:50:02.985Z","description":"## Overview\nAI-powered workflow that transforms any article URL into platform-optimized social media posts for LinkedIn, Twitter (X), and Reddit. Uses Mozilla Readability for content extraction, multi-agent AI with RAG from viral LinkedIn post database, and interactive review forms for content refinement before auto-publishing.\n\n**Key Capabilities:**\n- Extracts article content: title, author, text, images, metadata\n- Generates LinkedIn posts using 3-agent system with viral pattern matching\n- Creates Twitter threads under 280 characters with article links\n- Auto-posts to Reddit with AI-selected flairs\n- Interactive review/regeneration workflow with feedback loops\n- Auto-publishes with images or links to all platforms\n\n# How It Works\n\n## Stage 1: Article Content Extraction\n1. **Form Submission**: User enters article URL (with basic auth protection)\n2. **URL Validation**: Checks if valid URL format\n3. **Article Scraping**: HTTP request fetches HTML content\n4. **Readability Parsing**: Mozilla Readability extracts:\n   - Clean article text (removes ads, navigation, etc.)\n   - Title, author, excerpt\n   - Word count, site name\n   - Featured image (from og:image, twitter:image, or first img tag)\n5. **Error Handling**: Returns user-friendly error if scraping fails\n\n## Stage 2: LinkedIn Post Generation (3-Agent System)\n\n**Agent 1: LinkedIn Post Strategist**\n- **Input**: Extracted article content (title, text, author, excerpt)\n- **RAG Process**: Queries Supabase vector database for similar viral LinkedIn posts\n- **Analysis**: Identifies patterns, hooks, formatting, engagement triggers\n- **Output**: Strategic insights and viral content patterns\n\n**Agent 2: LinkedIn Post Generator**\n- **Input**: Article content + strategist insights\n- **Process**: Creates post using viral patterns from database\n- **Rule**: Must include article URL in post\n- **Output**: Draft LinkedIn post\n\n**Agent 3: LinkedIn Post Formatter**\n- **Input**: Generated post\n- **Process**: \n  - Removes extraneous content\n  - Applies Sans Serif Bold Unicode for emphasis (𝗯𝗼𝗹𝗱 𝘁𝗲𝘅𝘁)\n  - Removes markdown/em dashes\n  - Ensures clean formatting\n- **Output**: Polished, ready-to-post LinkedIn content\n\n**Review Loop**:\n1. User sees formatted post in web form\n2. Options: \"Regenerate\" or \"Continue\"\n3. If regenerate: Provide feedback → Agent creates new version\n4. Second review form with same options\n5. After 2 iterations or approval, proceeds to image selection\n\n## Stage 3: Image Handling for LinkedIn\n1. **Image Preview**: Shows extracted article image\n2. **User Choice**:\n   - \"Yes\" → Downloads image, posts with text + image\n   - \"Continue without Image\" → Posts with text + article link preview\n3. **Auto-Publish**: Posts to LinkedIn with selected format\n\n## Stage 4: Twitter (X) Post Generation\n**Parallel process** (runs alongside LinkedIn):\n1. **Twitter Agent**: \n   - Creates tweet under 280 characters (including spaces)\n   - Must include article URL\n   - Uses GPT-4.1 or GPT-5 models\n2. **Tweet Review Form**: User reviews generated tweet\n3. **Regeneration Loop** (if requested):\n   - User provides feedback\n   - Re-generate Tweet Agent creates new version\n   - Second review form\n4. **Auto-Tweet**: Posts with article image attachment\n\n## Stage 5: Reddit Post Automation\n**Parallel process** (runs alongside LinkedIn/Twitter):\n1. **Subreddit Selection**: User picks from dropdown (r/n8n, r/mcp, r/technews)\n2. **Flair Retrieval**: Fetches available flairs for selected subreddit via Reddit API\n3. **AI Flair Selection**: \n   - GPT-4o-mini analyzes article title + available flairs\n   - Selects most appropriate flair\n4. **Auto-Post**: Submits link post to Reddit with title and selected flair\n\n# How To Use\n\n## Prerequisites\n\n### API Credentials Required\n1. **OpenAI API**: GPT-4.1, GPT-5, GPT-5-mini, GPT-4o-mini access\n2. **Supabase**: Vector database with `linkedin_post` table (from previous workflow)\n3. **LinkedIn OAuth2**: Developer app with posting permissions\n4. **Twitter OAuth2**: Developer account with tweet permissions\n5. **Reddit OAuth2**: App credentials with submit permissions\n6. **Basic Auth**: For form password protection\n\n## Setup Steps\n\n### 1. Configure Form Access\n- Open **\"On Article Submission\"** node\n- Set up basic auth credentials for form protection\n- Get form URL from webhook settings\n\n### 2. Link Vector Database\n- Ensure Supabase vector store has viral LinkedIn posts (use previous workflow to populate)\n- Verify **\"LinkedIn Post Vector Store\"** credentials\n- Check **\"Embedding\"** node has OpenAI API key\n\n### 3. Set Up Social Media APIs\n\n**LinkedIn**:\n- Configure **\"Text + Image\"** and **\"Text + Link\"** nodes\n- Update `person` parameter with your LinkedIn profile ID\n- Add OAuth2 credentials\n\n**Twitter**:\n- Configure **\"Tweet\"** and **\"Re-generated Tweet\"** nodes\n- Add Twitter OAuth2 credentials\n\n**Reddit**:\n- Update subreddit list in **\"Reddit Form\"** dropdown (customize to your subreddits)\n- Configure **\"Get Flair\"**, **\"Reddit Post\"** nodes with OAuth2\n- Update subreddit name in **\"Reddit Post\"** query parameters\n\n### 4. Configure AI Models\n- Verify all OpenAI credentials in language model nodes\n- Models used: GPT-4.1, GPT-5, GPT-5-mini (adjust based on your access)\n\n","workflow":{"meta":{"instanceId":"6c118a8acfbd6c5a7401dc5bfa65b57bbe715feb57d00cd265fb540cc778096d","templateCredsSetupCompleted":true},"nodes":[{"id":"ded81242-91f9-48b2-92e7-93b5c427c22c","name":"5","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1184,3104],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-5","cachedResultName":"gpt-5"},"options":{}},"credentials":{"openAiApi":{"id":"nFuggaqEYFlgAYJm","name":"n8n - Vekrro"}},"typeVersion":1.2},{"id":"db3f31ca-0104-4484-a5a3-718a05e6db9a","name":"If","type":"n8n-nodes-base.if","position":[-128,3728],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"c2a21f68-1dd7-4614-be11-45c3f2129a63","operator":{"type":"boolean","operation":"equals"},"leftValue":"={{ $json['Article Link'].isUrl() }}","rightValue":true}]},"looseTypeValidation":true},"typeVersion":2.2},{"id":"b79d6081-d689-4a93-b927-64060828aac0","name":"Extract Details","type":"n8n-nodes-base.code","position":[336,3696],"parameters":{"jsCode":"const { Readability } = require(\"@mozilla/readability\");\nconst { JSDOM } = require(\"jsdom\");\n\ntry {\n  const inputData = items[0].json;\n  const html = inputData.data;\n  const url = inputData.url\n\n  if (!html || html.trim().length === 0) {\n    throw new Error(\"No HTML content found\");\n  }\n\n  const dom = new JSDOM(html, { \n    url,\n    contentType: \"text/html\"\n  });\n\n  const document = dom.window.document;\n  const reader = new Readability(dom.window.document);\n  const article = reader.parse();\n\n  if (!article) {\n    return [{\n      json: {\n        error: \"Readability could not extract article content\",\n        reason: \"The page may not contain article-like content or structure\",\n        url,\n        htmlLength: html.length\n      }\n    }];\n  }\n\n  let imageUrl = null;\n  \n  const ogImage = document.querySelector('meta[property=\"og:image\"]');\n  if (ogImage) imageUrl = ogImage.getAttribute('content');\n  \n  if (!imageUrl) {\n    const twitterImage = document.querySelector('meta[name=\"twitter:image\"]');\n    if (twitterImage) imageUrl = twitterImage.getAttribute('content');\n  }\n  \n  if (!imageUrl && article.content) {\n    const contentDom = new JSDOM(article.content);\n    const firstImg = contentDom.window.document.querySelector('img');\n    if (firstImg) imageUrl = firstImg.getAttribute('src');\n  }\n  \n  if (imageUrl && !imageUrl.startsWith('http')) {\n    try {\n      imageUrl = new URL(imageUrl, url).href;\n    } catch (e) {\n      // Invalid URL, keep as is\n    }\n  }\n  \n  return [{\n    json: {\n      title: article.title || \"No title found\",\n      author: article.byline || \"Unknown\",\n      contentText: article.textContent || \"\",\n      wordCount: article.length || 0,\n      siteName: article.siteName || \"Unknown site\",\n      excerpt: article.excerpt || \"\",\n      imageUrl: imageUrl || null,\n    }\n  }];\n\n} catch (error) {\n  return [{\n    json: {\n      error: error.message,\n      stack: error.stack,\n      inputKeys: Object.keys(items[0].json)\n    }\n  }];\n}"},"typeVersion":2},{"id":"80bb41d8-03b8-46d5-a113-bccd7bcb4953","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[80,3488],"parameters":{"color":4,"width":464,"height":576,"content":"## 📌 Extract Article Content\n- Title\n- Article Content\n- Author\n- Excerpt\n- Website Name\n- Article Image"},"typeVersion":1},{"id":"d84233ad-ebd5-4335-9569-53047fcfd74e","name":"LinkedIn Post Vector Store","type":"@n8n/n8n-nodes-langchain.vectorStoreSupabase","position":[752,3008],"parameters":{"mode":"retrieve-as-tool","options":{},"tableName":{"__rl":true,"mode":"list","value":"linkedin_post","cachedResultName":"linkedin_post"},"toolDescription":"Supabase"},"credentials":{"supabaseApi":{"id":"IrLqyk8yYvZkIUwg","name":"n8n"}},"typeVersion":1.3},{"id":"d853347a-78d9-4b55-8ee3-a3c415921805","name":"Embedding","type":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","position":[752,3152],"parameters":{"options":{}},"credentials":{"openAiApi":{"id":"nFuggaqEYFlgAYJm","name":"n8n - Vekrro"}},"typeVersion":1.2},{"id":"970b2a6e-d9d1-4be3-846f-879511ecadeb","name":"5 mini","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[832,3424],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-5-mini","cachedResultName":"gpt-5-mini"},"options":{}},"credentials":{"openAiApi":{"id":"nFuggaqEYFlgAYJm","name":"n8n - Vekrro"}},"typeVersion":1.2},{"id":"3ef397ee-868a-414d-ac0c-6785644b86f0","name":"Structured Output Parser","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[832,3280],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n\t\"Post Content\": \"Post Content\"\n}"},"typeVersion":1.3},{"id":"754be77e-3289-469e-b1d0-2931ac62a980","name":"4.1","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1088,3104],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1","cachedResultName":"gpt-4.1"},"options":{}},"credentials":{"openAiApi":{"id":"nFuggaqEYFlgAYJm","name":"n8n - Vekrro"}},"typeVersion":1.2},{"id":"e0551a27-fe1c-4e5e-a12d-ab92a91d67c4","name":"On Article Submission","type":"n8n-nodes-base.formTrigger","position":[-304,3728],"webhookId":"89a83694-7c0e-4129-b902-be8d90352d2d","parameters":{"options":{"path":"article-post","ignoreBots":true,"buttonLabel":"Submit","appendAttribution":false},"formTitle":"Article ♾️ Post","formFields":{"values":[{"fieldType":"textarea","fieldLabel":"Article Link","requiredField":true}]},"responseMode":"lastNode","authentication":"basicAuth"},"credentials":{"httpBasicAuth":{"id":"Lxv3eci1rg0UvcH3","name":"Common Basic Auth"}},"typeVersion":2.3},{"id":"5151194a-dc73-4de1-98f7-f4b5d668582a","name":"Scrape Article","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","position":[128,3712],"parameters":{"url":"={{ $json['Article Link'] }}","options":{}},"retryOnFail":true,"typeVersion":4.3},{"id":"11299a31-40c0-48ab-9ebd-d272475439f0","name":"⚠️Unable to Process Article","type":"n8n-nodes-base.form","position":[336,3872],"webhookId":"f4ec2203-9121-47cc-a355-97e9e2d16c32","parameters":{"options":{},"operation":"completion","completionTitle":"⚠️Unable to Process Article","completionMessage":"Please enter different Article"},"typeVersion":2.3},{"id":"e734aa10-21f6-4359-8649-08698b70b1ac","name":"Sticky Note10","type":"n8n-nodes-base.stickyNote","position":[656,2656],"parameters":{"color":5,"width":2800,"height":912,"content":"## 📌 LinkedIn\n"},"typeVersion":1},{"id":"b600ba23-5504-4f36-952d-71b88a026613","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[656,3600],"parameters":{"color":7,"width":1472,"height":640,"content":"## 📌 X (Twitter)\n"},"typeVersion":1},{"id":"e4b3e783-38c8-47b5-b684-b72d2f427935","name":"Sticky Note5","type":"n8n-nodes-base.stickyNote","position":[656,4272],"parameters":{"color":2,"width":1120,"height":304,"content":"## 📌 Reddit"},"typeVersion":1},{"id":"dfb9de11-ecc1-4a1c-bf30-81b21a896d37","name":"Get Flair","type":"n8n-nodes-base.httpRequest","position":[912,4368],"parameters":{"url":"=https://oauth.reddit.com/r/{{ $json.Subreddit.split(\"/\")[1] }}/api/link_flair_v2","options":{},"authentication":"genericCredentialType","genericAuthType":"oAuth2Api"},"credentials":{"oAuth2Api":{"id":"ehkveBOmu6N95jWb","name":"Custom Reddit - Bhavy Shekhaliya"},"redditOAuth2Api":{"id":"aCvtLxRhnnUtSHp4","name":"Bhavy Shekhaliya"}},"typeVersion":4.3},{"id":"d6d88d8d-3693-45ff-94f2-797744fc45dc","name":"Reddit Post","type":"n8n-nodes-base.httpRequest","position":[1520,4368],"parameters":{"url":"https://oauth.reddit.com/r/n8n/api/submit","method":"POST","options":{},"sendQuery":true,"authentication":"genericCredentialType","genericAuthType":"oAuth2Api","queryParameters":{"parameters":[{"name":"sr"},{"name":"title","value":"={{ $('Extract Details').item.json.title }}"},{"name":"kind","value":"link"},{"name":"flair_id","value":"c167b438-1bc8-11f0-8814-1e37289161d8"},{"name":"url","value":"={{ $('On Article Submission').item.json['Article Link'] }}"}]}},"credentials":{"oAuth2Api":{"id":"ehkveBOmu6N95jWb","name":"Custom Reddit - Bhavy Shekhaliya"},"redditOAuth2Api":{"id":"aCvtLxRhnnUtSHp4","name":"Bhavy Shekhaliya"}},"typeVersion":4.3},{"id":"de5d4e02-e6c5-4009-a9de-c3423e2a9b6a","name":"LinkedIn Post Strategist","type":"@n8n/n8n-nodes-langchain.agent","position":[720,2784],"parameters":{"text":"=# Article Content\n\n- Title:  {{ $json.title }}\n- Author: {{ $json.author }}\n- Content Text: {{ $json.contentText }}\n- Site Name: {{ $json.siteName }}\n- Excerpt: {{ $json.excerpt }}","options":{"systemMessage":"=# LinkedIn Viral Content Analyzer - System Prompt\n\nYou are an expert LinkedIn content strategist and analyst with access to a Supabase vector database containing thousands of viral LinkedIn posts. Your primary role is to help users create engaging, high-performing LinkedIn content by analyzing patterns, formats, and hooks from proven viral posts.\n\n## Your Capabilities\n\n1. **Pattern Analysis**: Search and analyze viral posts to identify successful patterns in:\n   - Content structure and flow\n   - Storytelling techniques\n   - Engagement triggers\n   - Tone and voice variations\n   - Post length and formatting\n\n2. **Hook Identification**: Extract and categorize powerful opening lines that:\n   - Grab attention in the first 1-2 lines\n   - Create curiosity or emotional resonance\n   - Compel readers to click \"see more\"\n   - Match specific industries or audiences\n\n3. **Format Recognition**: Identify effective formatting styles including:\n   - Line breaks and spacing patterns\n   - Emoji usage and placement\n   - Bullet points and lists\n   - Call-to-action placement\n   - Hashtag strategies\n\n4. **Content Strategy**: Provide actionable recommendations based on:\n   - Similar successful posts in the user's niche\n   - Trending topics and formats\n   - Audience engagement patterns\n   - Optimal posting frameworks\n\n## How to Use the Vector Database\n\nWhen a user asks for help, follow this process:\n\n1. **Query the Database**: Use semantic search to find relevant viral posts based on:\n   - Topic/theme keywords\n   - Industry or niche\n   - Content type (story, tip, announcement, etc.)\n   - Engagement metrics (minimum likes/comments)\n\n2. **Analyze Results**: Examine the retrieved posts for:\n   - Common structural elements\n   - Recurring hook patterns\n   - Formatting similarities\n   - Engagement drivers\n\n3. **Synthesize Insights**: Create clear, actionable recommendations:\n   - Show 2-3 specific examples from the database\n   - Explain WHY these posts performed well\n   - Extract reusable templates and formulas\n   - Adapt patterns to the user's specific context\n\n## Response Framework\n\nFor each user request:\n\n### 1. Understand the Context\n- What type of content are they creating?\n- Who is their target audience?\n- What's their goal (engagement, lead gen, authority building)?\n\n### 2. Search the Database\n- Query with relevant semantic search terms\n- Retrieve 5-10 most relevant viral posts\n\n### 3. Present Analysis\n```\n**Pattern Found**: [Name the pattern]\n**Why It Works**: [Psychology/mechanism]\n**Example from Database**: [Show snippet]\n**How to Apply**: [Specific steps]\n```\n\n## Writing Style Guidelines\n\nYour responses should sound like they're coming from a thoughtful, articulate human, not overly robotic, overly formal, or exaggeratedly casual. Use short, clear sentences that flow smoothly. Keep language grounded and confident.\n\n**Style Rules:**\n- Avoid filler phrases like \"in today's world\" or \"needless to say\"\n- Never use em dashes (—). Use commas, semicolons, or break sentences when needed\n- Maintain a balance between professionalism and relatability, like how a smart professional would write a LinkedIn post, personal article, or thoughtful email\n- Focus on insight and clarity, not just word count\n- Write with confidence but remain approachable\n- **For bold sections, use Sans Serif Bold Unicode characters** (𝗲𝘅𝗮𝗺𝗽𝗹𝗲: 𝗧𝗵𝗶𝘀 𝗶𝘀 𝗯𝗼𝗹𝗱 𝘁𝗲𝘅𝘁)\n\n## Tone and Style\n\n- Focus on empowering the user's unique voice"},"promptType":"define","needsFallback":true,"hasOutputParser":true},"typeVersion":3},{"id":"34c182d7-a2c9-4427-8903-4b6f5055deda","name":"LinkedIn Post Generator","type":"@n8n/n8n-nodes-langchain.agent","position":[1056,2784],"parameters":{"text":"=Content Text:\n\n{{ $('Extract Details').item.json.contentText }}\n\nArticle URL: {{ $('On Article Submission').item.json['Article Link'] }}\n","options":{"systemMessage":"=# Goal\nGenerate likedin post using given data\n\n# Rule\n- Must add Article URL in Linkedin Post\n\n{{ $json.output['Post Content'] }}"},"promptType":"define","needsFallback":true},"typeVersion":3},{"id":"f56e8776-0adb-4a9b-b3d2-1deab40ba39a","name":"LinkedIn Post Formatter","type":"@n8n/n8n-nodes-langchain.agent","position":[1344,2784],"parameters":{"text":"={{ $json.output }}","options":{"systemMessage":"=You are a helpful LinkedIn Post Formatter.\n\n## Rule\n- Delete content other than actual post (Don't remove Article URL)\n- For important words, use Sans Serif Bold Unicode characters** (𝗲𝘅𝗮𝗺𝗽𝗹𝗲: 𝗧𝗵𝗶𝘀 𝗶𝘀 𝗯𝗼𝗹𝗱 𝘁𝗲𝘅𝘁) \n- Never use em dashes (—). Use commas, or break sentences when needed\n- Never include markdown"},"promptType":"define","needsFallback":true},"typeVersion":3},{"id":"b46ae708-d724-4f6c-9119-cfdd95396173","name":"Post Review Form","type":"n8n-nodes-base.form","position":[1696,2784],"webhookId":"e5a6a76b-91c5-4fc6-a2ab-2f168824ae2b","parameters":{"options":{"formTitle":"Review LinkedIn Post"},"formFields":{"values":[{"html":"<div style=\"text-align: center; padding: 20px;\">\n  <div style=\"margin-top: 20px;\">\n    {{ $json.output.replaceAll(\"\\n\",\"<br>\") }}<br><br>\n  </div>\n</div>\n","fieldType":"html"},{"fieldType":"radio","fieldLabel":"Want to re-generate post content?","fieldOptions":{"values":[{"option":"Yes"},{"option":"No"}]},"requiredField":true},{"fieldType":"textarea","fieldLabel":"Describe Post Changes...","placeholder":"This applies only if you select “True” in the field above."}]}},"typeVersion":2.3},{"id":"aeea67fb-d72f-4250-b5a8-0b383e722a28","name":"Re-generate LinkedIn Post","type":"@n8n/n8n-nodes-langchain.agent","position":[1632,2992],"parameters":{"text":"=You are a LinkedIn post regeneration expert. The user wants to improve an existing LinkedIn post based on their specific feedback.\n\n## Input Data\n\n**Original Post**: {{ $('LinkedIn Post Formatter').item.json.output }}\n**User Feedback**: {{ $json['Describe Post Changes...'] }}\n\n## Your Task\n\nRewrite the LinkedIn post incorporating the user's requested changes while maintaining viral patterns and engagement principles.\n\n# Rule\n- Delete content other than actual post\n- For important words, use Sans Serif Bold Unicode characters** (𝗲𝘅𝗮𝗺𝗽𝗹𝗲: 𝗧𝗵𝗶𝘀 𝗶𝘀 𝗯𝗼𝗹𝗱 𝘁𝗲𝘅𝘁) \n- Never use em dashes (—). Use commas, or break sentences when needed\n- Never include markdown","options":{},"promptType":"define","needsFallback":true},"typeVersion":3},{"id":"ccbf5c4b-a05b-4674-810b-b271270d3fcc","name":"Post 2 Review Form","type":"n8n-nodes-base.form","position":[1936,2992],"webhookId":"e5a6a76b-91c5-4fc6-a2ab-2f168824ae2b","parameters":{"options":{"formTitle":"Review re-generated LinkedIn Post"},"formFields":{"values":[{"html":"<div style=\"text-align: center; padding: 20px;\">\n  <div style=\"margin-top: 20px;\">\n    {{ $json.output.replaceAll(\"\\n\",\"<br>\") }}<br><br>\n  </div>\n</div>\n","fieldType":"html"},{"fieldType":"radio","fieldLabel":"Want to re-generate post content again?","fieldOptions":{"values":[{"option":"Yes"},{"option":"No"}]},"requiredField":true}]}},"typeVersion":2.3},{"id":"49c47639-90be-41c4-a002-f45679f12752","name":"Post 2 Review Conditions","type":"n8n-nodes-base.if","position":[2112,2992],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"5b5a6fa9-bd48-4545-bfc5-f2fd50976aaf","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json['Want to re-generate post content again?'] }}","rightValue":"No"}]},"looseTypeValidation":true},"typeVersion":2.2},{"id":"3e7005a1-468a-4965-a450-1dc9931a8a55","name":"Post Review Condition","type":"n8n-nodes-base.if","position":[1872,2784],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"5b5a6fa9-bd48-4545-bfc5-f2fd50976aaf","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json['Want to re-generate post content?'] }}","rightValue":"Yes"}]},"looseTypeValidation":true},"typeVersion":2.2},{"id":"a03c4a5f-0f8c-45df-ac52-9dae7ade2676","name":"The End","type":"n8n-nodes-base.form","position":[2320,3008],"webhookId":"bb7ec327-23cd-417c-8dab-5542ddae051c","parameters":{"options":{},"operation":"completion","completionTitle":"🐞 Please submit article Again","completionMessage":"I can't able to re-generate post again..."},"typeVersion":2.3},{"id":"a60faa9a-3b58-4981-b79e-5f8fd7502f9c","name":"Download Image for Form","type":"n8n-nodes-base.httpRequest","position":[2432,2800],"parameters":{"url":"={{ $('Extract Details').item.json.imageUrl }}","options":{}},"typeVersion":4.3},{"id":"b5fb1b81-c67c-49e2-90f4-de376d49c286","name":"Image Preview Form","type":"n8n-nodes-base.form","position":[2640,2800],"webhookId":"1224015d-4f43-4c1c-b007-f809a24994d2","parameters":{"options":{"formTitle":"Review Generated Image"},"formFields":{"values":[{"html":"<div style=\"text-align: center; padding: 20px;\">\n  <div style=\"margin-top: 20px;\">\n    <a \n      href=\"{{ $('Extract Details').item.json.imageUrl }}\" \n    >\n      Article Image\n    </a>\n  </div>\n</div>\n","fieldType":"html"},{"fieldType":"radio","fieldLabel":"Want to continue with above Image?","fieldOptions":{"values":[{"option":"Yes"},{"option":"Continue without Image"}]},"requiredField":true}]}},"typeVersion":2.3},{"id":"c504dbea-26e4-4a52-88f8-bbcac0c16f48","name":"Image Preview Conditions","type":"n8n-nodes-base.if","position":[2832,2800],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"cdef4871-2e8c-45e6-a4c0-c4d0c947dedd","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json['Want to continue with above Image?'] }}","rightValue":"Yes"}]},"looseTypeValidation":true},"typeVersion":2.2},{"id":"43f3c3e6-41df-46ef-a8da-aaa01ad608c9","name":"Download Image for LinkedIn Post","type":"n8n-nodes-base.httpRequest","position":[3056,2704],"parameters":{"url":"={{ $('Extract Details').item.json.imageUrl }}","options":{}},"typeVersion":4.3},{"id":"3b7b6892-0f7c-4e1f-a187-15664cefd46e","name":"Text + Image","type":"n8n-nodes-base.linkedIn","position":[3232,2704],"parameters":{"text":"={{ $('LinkedIn Post Formatter').item.json.output ?? $('Re-generate LinkedIn Post').item.json.output }}","person":"=A_SsE0JFbA","additionalFields":{},"shareMediaCategory":"IMAGE"},"credentials":{"linkedInOAuth2Api":{"id":"PCGD4jt4WKmaT0il","name":"Bhavy Shekhaliya"}},"typeVersion":1},{"id":"3c9466a7-945a-4214-8528-779e7de5b911","name":"Text + Link","type":"n8n-nodes-base.linkedIn","position":[3056,2896],"parameters":{"text":"={{ $('LinkedIn Post Formatter').item.json.output ?? $('Re-generate LinkedIn Post').item.json.output }}","person":"=A_SsE0JFbA","additionalFields":{"title":"={{ $('Extract Details').item.json.title }}","originalUrl":"={{ $('On Article Submission').item.json['Article Link'] }}"},"shareMediaCategory":"ARTICLE"},"credentials":{"linkedInOAuth2Api":{"id":"PCGD4jt4WKmaT0il","name":"Bhavy Shekhaliya"}},"typeVersion":1},{"id":"ef0bb686-ae3b-4b76-ada6-7f3f7b56c8e9","name":"Twitter Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[720,3696],"parameters":{"text":"=# Article Content\n\n- Title:  {{ $json.title }}\n- Author: {{ $json.author }}\n- Content Text: {{ $json.contentText }}\n- Site Name: {{ $json.siteName }}\n- Excerpt: {{ $json.excerpt }}\n- Article URL: {{ $('On Article Submission').item.json['Article Link'] }}","options":{"systemMessage":"You are a helpful twitter tweet generator based on provided content\n\n# Rule\n- Tweet character length must be under 280 including spaces as well\n- Must add Article Link in Tweet"},"promptType":"define","needsFallback":true,"hasOutputParser":true},"typeVersion":3},{"id":"52126bb0-1ce3-4421-927e-86959a3fe25b","name":"Tweet Review Form","type":"n8n-nodes-base.form","position":[1040,3696],"webhookId":"e5a6a76b-91c5-4fc6-a2ab-2f168824ae2b","parameters":{"options":{"formTitle":"Review LinkedIn Post"},"formFields":{"values":[{"html":"<div style=\"text-align: center; padding: 20px;\">\n  <div style=\"margin-top: 20px;\">\n    {{ $json.output['Post Content'].replaceAll(\"\\n\",\"<br>\") }}<br><br>\n  </div>\n</div>\n","fieldType":"html"},{"fieldType":"radio","fieldLabel":"Want to re-generate Tweet?","fieldOptions":{"values":[{"option":"Yes"},{"option":"No"}]},"requiredField":true},{"fieldType":"textarea","fieldLabel":"Describe Post Changes...","placeholder":"This applies only if you select “True” in the field above."}]}},"typeVersion":2.3},{"id":"cc42ff9d-586d-400c-bd30-f473b288c022","name":"Tweeet Review Conditions","type":"n8n-nodes-base.if","position":[1216,3696],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"5b5a6fa9-bd48-4545-bfc5-f2fd50976aaf","operator":{"type":"string","operation":"notEquals"},"leftValue":"={{ $json['Want to re-generate Tweet?'] }}","rightValue":"Yes"}]},"looseTypeValidation":true},"typeVersion":2.2},{"id":"dbe7b953-ec8c-4562-8b57-d884630f0a0a","name":"Structured Output Parser X","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[720,3936],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n\t\"Post Content\": \"Post Content\"\n}"},"typeVersion":1.3},{"id":"616c0aa3-5d0d-4877-a4a3-29d63fb6e8e5","name":"5 minii","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[720,4096],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-5-mini","cachedResultName":"gpt-5-mini"},"options":{}},"credentials":{"openAiApi":{"id":"nFuggaqEYFlgAYJm","name":"n8n - Vekrro"}},"typeVersion":1.2},{"id":"ee40205d-9c47-45a9-8149-4ceaf21281f2","name":"4.i","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[864,4096],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1","cachedResultName":"gpt-4.1"},"options":{}},"credentials":{"openAiApi":{"id":"nFuggaqEYFlgAYJm","name":"n8n - Vekrro"}},"typeVersion":1.2},{"id":"5b352cfe-2e5e-40f4-9fdc-f1e741b2aa1f","name":"Re-generate Tweet Agent","type":"@n8n/n8n-nodes-langchain.agent","position":[1200,3936],"parameters":{"text":"=You are a Twitter post regeneration expert. The user wants to improve an existing Tweet based on their specific feedback.\n\n## Input Data\n\n**Original Post**: {{ $('Twitter Agent').item.json.output['Post Content'] }}\n**User Feedback**: {{ $json['Describe Post Changes...'] }}\n\n## Your Task\n\nRewrite the Twitter post incorporating the user's requested changes while maintaining viral patterns and engagement principles.\n\n# Rule\n- Delete content other than actual post \n- Never use em dashes (—). Use commas, or break sentences when needed\n- Never include markdown","options":{},"promptType":"define","needsFallback":true},"typeVersion":3},{"id":"4a4a65c9-2e88-4567-9bec-d36abd4b3ec5","name":"5.","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[976,4096],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-5","cachedResultName":"gpt-5"},"options":{}},"credentials":{"openAiApi":{"id":"nFuggaqEYFlgAYJm","name":"n8n - Vekrro"}},"typeVersion":1.2},{"id":"b8982d55-84dc-4f15-8cda-411918fb3c58","name":"Tweet 2 Review Form","type":"n8n-nodes-base.form","position":[1504,3936],"webhookId":"e5a6a76b-91c5-4fc6-a2ab-2f168824ae2b","parameters":{"options":{"formTitle":"Review re-generated LinkedIn Post"},"formFields":{"values":[{"html":"<div style=\"text-align: center; padding: 20px;\">\n  <div style=\"margin-top: 20px;\">\n    {{ $json.output.replaceAll(\"\\n\",\"<br>\") }}<br><br>\n  </div>\n</div>\n","fieldType":"html"},{"fieldType":"radio","fieldLabel":"Want to re-generate Tweet again?","fieldOptions":{"values":[{"option":"Yes"},{"option":"No"}]},"requiredField":true}]}},"typeVersion":2.3},{"id":"6dc4e817-45af-4aab-86e5-1c1ded0a93a2","name":"Tweet 2 Review Conditions","type":"n8n-nodes-base.if","position":[1696,3936],"parameters":{"options":{},"conditions":{"options":{"version":2,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"5b5a6fa9-bd48-4545-bfc5-f2fd50976aaf","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json['Want to re-generate Tweet again??'] }}","rightValue":"No"}]},"looseTypeValidation":true},"typeVersion":2.2},{"id":"e310f1d7-e244-49d9-b406-9dce359ab41d","name":"Tweet","type":"n8n-nodes-base.twitter","position":[1408,3680],"parameters":{"text":"={{ $('Twitter Agent').item.json.output['Post Content'] }}","additionalFields":{"attachments":"={{ $json.data.id }}"}},"credentials":{"twitterOAuth2Api":{"id":"ZujsYsteiPSsz3Mq","name":"Bhavy Shekhaliya"}},"typeVersion":2},{"id":"6e6e8af2-f8cb-4e98-b87e-cd08353530ff","name":"Reddit Form","type":"n8n-nodes-base.form","position":[752,4368],"webhookId":"195afa4c-5f9c-4eaf-b168-fcb61beb9f57","parameters":{"options":{},"formFields":{"values":[{"fieldType":"dropdown","fieldLabel":"Subreddit","fieldOptions":{"values":[{"option":"r/n8n"},{"option":"r/mcp"},{"option":"r/technews"}]}}]}},"typeVersion":2.3},{"id":"c4eb86fe-d196-46c4-86d2-2bd19173ba9f","name":"[Flair]","type":"n8n-nodes-base.aggregate","position":[1072,4368],"parameters":{"options":{},"fieldsToAggregate":{"fieldToAggregate":[{"renameField":true,"outputFieldName":"flair","fieldToAggregate":"text"}]}},"typeVersion":1},{"id":"f84b88ed-d92f-4ab6-b82b-03cc266b8983","name":"Flair Selector Agent","type":"@n8n/n8n-nodes-langchain.openAi","position":[1232,4368],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-4o-mini","cachedResultName":"GPT-4O-MINI"},"options":{},"responses":{"values":[{"content":"=Subreddit Flairs: {{ $json.flair }}\nTitle: {{ $('Extract Details').item.json.title }}\n\nSelect only one appropriate flair for given Title.\nOutput is plain text only"}]},"builtInTools":{}},"credentials":{"openAiApi":{"id":"nFuggaqEYFlgAYJm","name":"n8n - Vekrro"}},"typeVersion":2},{"id":"893f18cf-2bc8-4a4a-8fbc-1c82d169984d","name":"Re-generated Tweet","type":"n8n-nodes-base.twitter","position":[1920,3952],"parameters":{"text":"={{ $('Re-generate Tweet Agent').item.json.output }}","additionalFields":{"attachments":"={{ $json.data.id }}"}},"credentials":{"twitterOAuth2Api":{"id":"ZujsYsteiPSsz3Mq","name":"Bhavy Shekhaliya"}},"typeVersion":2},{"id":"f5a69776-eeba-4c51-b996-b36ee6fcab55","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-1536,2160],"parameters":{"width":960,"height":3264,"content":"# Article to Multi-Platform Social Media Post Generator\n\n## Overview\nAI-powered workflow that transforms any article URL into platform-optimized social media posts for LinkedIn, Twitter (X), and Reddit. Uses Mozilla Readability for content extraction, multi-agent AI with RAG from viral LinkedIn post database, and interactive review forms for content refinement before auto-publishing.\n\n**Key Capabilities:**\n- Extracts article content: title, author, text, images, metadata\n- Generates LinkedIn posts using 3-agent system with viral pattern matching\n- Creates Twitter threads under 280 characters with article links\n- Auto-posts to Reddit with AI-selected flairs\n- Interactive review/regeneration workflow with feedback loops\n- Auto-publishes with images or links to all platforms\n\n---\n\n# How It Works\n\n## Stage 1: Article Content Extraction\n1. **Form Submission**: User enters article URL (with basic auth protection)\n2. **URL Validation**: Checks if valid URL format\n3. **Article Scraping**: HTTP request fetches HTML content\n4. **Readability Parsing**: Mozilla Readability extracts:\n   - Clean article text (removes ads, navigation, etc.)\n   - Title, author, excerpt\n   - Word count, site name\n   - Featured image (from og:image, twitter:image, or first img tag)\n5. **Error Handling**: Returns user-friendly error if scraping fails\n\n## Stage 2: LinkedIn Post Generation (3-Agent System)\n\n**Agent 1: LinkedIn Post Strategist**\n- **Input**: Extracted article content (title, text, author, excerpt)\n- **RAG Process**: Queries Supabase vector database for similar viral LinkedIn posts\n- **Analysis**: Identifies patterns, hooks, formatting, engagement triggers\n- **Output**: Strategic insights and viral content patterns\n\n**Agent 2: LinkedIn Post Generator**\n- **Input**: Article content + strategist insights\n- **Process**: Creates post using viral patterns from database\n- **Rule**: Must include article URL in post\n- **Output**: Draft LinkedIn post\n\n**Agent 3: LinkedIn Post Formatter**\n- **Input**: Generated post\n- **Process**: \n  - Removes extraneous content\n  - Applies Sans Serif Bold Unicode for emphasis (𝗯𝗼𝗹𝗱 𝘁𝗲𝘅𝘁)\n  - Removes markdown/em dashes\n  - Ensures clean formatting\n- **Output**: Polished, ready-to-post LinkedIn content\n\n**Review Loop**:\n1. User sees formatted post in web form\n2. Options: \"Regenerate\" or \"Continue\"\n3. If regenerate: Provide feedback → Agent creates new version\n4. Second review form with same options\n5. After 2 iterations or approval, proceeds to image selection\n\n## Stage 3: Image Handling for LinkedIn\n1. **Image Preview**: Shows extracted article image\n2. **User Choice**:\n   - \"Yes\" → Downloads image, posts with text + image\n   - \"Continue without Image\" → Posts with text + article link preview\n3. **Auto-Publish**: Posts to LinkedIn with selected format\n\n## Stage 4: Twitter (X) Post Generation\n**Parallel process** (runs alongside LinkedIn):\n1. **Twitter Agent**: \n   - Creates tweet under 280 characters (including spaces)\n   - Must include article URL\n   - Uses GPT-4.1 or GPT-5 models\n2. **Tweet Review Form**: User reviews generated tweet\n3. **Regeneration Loop** (if requested):\n   - User provides feedback\n   - Re-generate Tweet Agent creates new version\n   - Second review form\n4. **Auto-Tweet**: Posts with article image attachment\n\n## Stage 5: Reddit Post Automation\n**Parallel process** (runs alongside LinkedIn/Twitter):\n1. **Subreddit Selection**: User picks from dropdown (r/n8n, r/mcp, r/technews)\n2. **Flair Retrieval**: Fetches available flairs for selected subreddit via Reddit API\n3. **AI Flair Selection**: \n   - GPT-4o-mini analyzes article title + available flairs\n   - Selects most appropriate flair\n4. **Auto-Post**: Submits link post to Reddit with title and selected flair\n\n---\n\n# How To Use\n\n## Prerequisites\n\n### API Credentials Required\n1. **OpenAI API**: GPT-4.1, GPT-5, GPT-5-mini, GPT-4o-mini access\n2. **Supabase**: Vector database with `linkedin_post` table (from previous workflow)\n3. **LinkedIn OAuth2**: Developer app with posting permissions\n4. **Twitter OAuth2**: Developer account with tweet permissions\n5. **Reddit OAuth2**: App credentials with submit permissions\n6. **Basic Auth**: For form password protection\n\n## Setup Steps\n\n### 1. Configure Form Access\n- Open **\"On Article Submission\"** node\n- Set up basic auth credentials for form protection\n- Get form URL from webhook settings\n\n### 2. Link Vector Database\n- Ensure Supabase vector store has viral LinkedIn posts (use previous workflow to populate)\n- Verify **\"LinkedIn Post Vector Store\"** credentials\n- Check **\"Embedding\"** node has OpenAI API key\n\n### 3. Set Up Social Media APIs\n\n**LinkedIn**:\n- Configure **\"Text + Image\"** and **\"Text + Link\"** nodes\n- Update `person` parameter with your LinkedIn profile ID\n- Add OAuth2 credentials\n\n**Twitter**:\n- Configure **\"Tweet\"** and **\"Re-generated Tweet\"** nodes\n- Add Twitter OAuth2 credentials\n\n**Reddit**:\n- Update subreddit list in **\"Reddit Form\"** dropdown (customize to your subreddits)\n- Configure **\"Get Flair\"**, **\"Reddit Post\"** nodes with OAuth2\n- Update subreddit name in **\"Reddit Post\"** query parameters\n\n### 4. Configure AI Models\n- Verify all OpenAI credentials in language model nodes\n- Models used: GPT-4.1, GPT-5, GPT-5-mini (adjust based on your access)\n\n"},"typeVersion":1}],"pinData":{},"connections":{"5":{"ai_languageModel":[[{"node":"LinkedIn Post Formatter","type":"ai_languageModel","index":1},{"node":"LinkedIn Post Generator","type":"ai_languageModel","index":1},{"node":"LinkedIn Post Strategist","type":"ai_languageModel","index":1},{"node":"Re-generate LinkedIn Post","type":"ai_languageModel","index":1}]]},"5.":{"ai_languageModel":[[{"node":"Re-generate Tweet Agent","type":"ai_languageModel","index":1},{"node":"Twitter Agent","type":"ai_languageModel","index":1}]]},"If":{"main":[[{"node":"Scrape Article","type":"main","index":0}]]},"4.1":{"ai_languageModel":[[{"node":"LinkedIn Post Strategist","type":"ai_languageModel","index":0},{"node":"LinkedIn Post Generator","type":"ai_languageModel","index":0},{"node":"LinkedIn Post Formatter","type":"ai_languageModel","index":0},{"node":"Re-generate LinkedIn Post","type":"ai_languageModel","index":0}]]},"4.i":{"ai_languageModel":[[{"node":"Twitter Agent","type":"ai_languageModel","index":0},{"node":"Re-generate Tweet Agent","type":"ai_languageModel","index":0}]]},"5 mini":{"ai_languageModel":[[{"node":"Structured Output Parser","type":"ai_languageModel","index":0}]]},"5 minii":{"ai_languageModel":[[{"node":"Structured Output Parser X","type":"ai_languageModel","index":0}]]},"[Flair]":{"main":[[{"node":"Flair Selector Agent","type":"main","index":0}]]},"Embedding":{"ai_embedding":[[{"node":"LinkedIn Post Vector Store","type":"ai_embedding","index":0}]]},"Get Flair":{"main":[[{"node":"[Flair]","type":"main","index":0}]]},"Reddit Form":{"main":[[{"node":"Get Flair","type":"main","index":0}]]},"Reddit Post":{"main":[[]]},"Twitter Agent":{"main":[[{"node":"Tweet Review Form","type":"main","index":0}]]},"Scrape Article":{"main":[[{"node":"Extract Details","type":"main","index":0}],[{"node":"⚠️Unable to Process Article","type":"main","index":0}]]},"Extract Details":{"main":[[{"node":"LinkedIn Post Strategist","type":"main","index":0},{"node":"Twitter Agent","type":"main","index":0},{"node":"Reddit Form","type":"main","index":0}]]},"Post Review Form":{"main":[[{"node":"Post Review Condition","type":"main","index":0}]]},"Tweet Review Form":{"main":[[{"node":"Tweeet Review Conditions","type":"main","index":0}]]},"Image Preview Form":{"main":[[{"node":"Image Preview Conditions","type":"main","index":0}]]},"Post 2 Review Form":{"main":[[{"node":"Post 2 Review Conditions","type":"main","index":0}]]},"Tweet 2 Review Form":{"main":[[{"node":"Tweet 2 Review Conditions","type":"main","index":0}]]},"Flair Selector Agent":{"main":[[{"node":"Reddit Post","type":"main","index":0}]]},"On Article Submission":{"main":[[{"node":"If","type":"main","index":0}]]},"Post Review Condition":{"main":[[{"node":"Re-generate LinkedIn Post","type":"main","index":0}],[{"node":"Download Image for Form","type":"main","index":0}]]},"Download Image for Form":{"main":[[{"node":"Image Preview Form","type":"main","index":0}]]},"LinkedIn Post Formatter":{"main":[[{"node":"Post Review Form","type":"main","index":0}]]},"LinkedIn Post Generator":{"main":[[{"node":"LinkedIn Post Formatter","type":"main","index":0}]]},"Re-generate Tweet Agent":{"main":[[{"node":"Tweet 2 Review Form","type":"main","index":0}]]},"Image Preview Conditions":{"main":[[{"node":"Download Image for LinkedIn Post","type":"main","index":0}],[{"node":"Text + Link","type":"main","index":0}]]},"LinkedIn Post Strategist":{"main":[[{"node":"LinkedIn Post Generator","type":"main","index":0}]]},"Post 2 Review Conditions":{"main":[[{"node":"Download Image for Form","type":"main","index":0}],[{"node":"The End","type":"main","index":0}]]},"Structured Output Parser":{"ai_outputParser":[[{"node":"LinkedIn Post Strategist","type":"ai_outputParser","index":0}]]},"Tweeet Review Conditions":{"main":[[{"node":"Tweet","type":"main","index":0}],[{"node":"Re-generate Tweet Agent","type":"main","index":0}]]},"Re-generate LinkedIn Post":{"main":[[{"node":"Post 2 Review Form","type":"main","index":0}]]},"Tweet 2 Review Conditions":{"main":[[],[{"node":"Re-generated Tweet","type":"main","index":0}]]},"LinkedIn Post Vector Store":{"ai_tool":[[{"node":"LinkedIn Post Strategist","type":"ai_tool","index":0}]]},"Structured Output Parser X":{"ai_outputParser":[[{"node":"Twitter Agent","type":"ai_outputParser","index":0}]]},"Download Image for LinkedIn Post":{"main":[[{"node":"Text + Image","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":48,"nodeTypes":{"n8n-nodes-base.if":{"count":6},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.form":{"count":8},"n8n-nodes-base.twitter":{"count":2},"n8n-nodes-base.linkedIn":{"count":2},"n8n-nodes-base.aggregate":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.formTrigger":{"count":1},"n8n-nodes-base.httpRequest":{"count":5},"@n8n/n8n-nodes-langchain.agent":{"count":6},"@n8n/n8n-nodes-langchain.openAi":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":6},"@n8n/n8n-nodes-langchain.embeddingsOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.vectorStoreSupabase":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"Bhavy Shekhaliya","username":"bhavyshekhaliya","bio":"Expert AI Automation Engineer specializing in Agentic AI. I design robust automations that connect your tech stack, optimizing processes for maximum scalability.\n\nI help you:\n\n♾️ Deploy autonomous agents for real-world business tasks.\n♾️ Eliminate manual grunt work with smart systems.\n\nStop trading time for money. Let’s build a custom automation system that drives growth effortlessly.\n\nMore about me: https://bhavy.spidlabs.com","verified":true,"links":["https://linkedin.com/in/bhavy-shekhaliya/"],"avatar":"https://gravatar.com/avatar/ba3779a663cbba4e9f8af0710a4cafc69c7376ecaf8fff1ad7bc52ebd7ff97c9?r=pg&d=retro&size=200"},"nodes":[{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"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/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content 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/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"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/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"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/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"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/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/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"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/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"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.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core 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":325,"icon":"file:x.svg","name":"n8n-nodes-base.twitter","codex":{"data":{"alias":["Tweet","Twitter","X","X API"],"resources":{"generic":[{"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/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.twitter/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/twitter/"}]},"categories":["Marketing"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"output\"]","defaults":{"name":"X"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIzLjMxNzEgMTYuOTM3M0wzNy45MDI2IDBIMzQuNDQ2M0wyMS43ODE3IDE0LjcwNjRMMTEuNjY2NiAwSDBMMTUuMjk2MSAyMi4yMzg3TDAgNDBIMy40NTY0OEwxNi44MzA2IDI0LjQ2OTZMMjcuNTEyOSA0MEgzOS4xNzk1TDIzLjMxNjMgMTYuOTM3M0gyMy4zMTcxWk0xOC41ODMgMjIuNDM0NkwxNy4wMzMyIDIwLjIyMDFMNC43MDE5IDIuNTk5MzZIMTAuMDEwOEwxOS45NjIzIDE2LjgxOTlMMjEuNTEyMiAxOS4wMzQ0TDM0LjQ0NzkgMzcuNTE4OUgyOS4xMzlMMTguNTgzIDIyLjQzNTRWMjIuNDM0NloiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo="},"displayName":"X (Formerly Twitter)","typeVersion":2,"nodeCategories":[{"id":27,"name":"Marketing"}]},{"id":367,"icon":"file:linkedin.svg","name":"n8n-nodes-base.linkedIn","codex":{"data":{"resources":{"generic":[{"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"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.linkedin/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/linkedin/"}]},"categories":["Marketing","Communication"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"LinkedIn"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjcgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9IjEiIHk9IjEiLz48c3ltYm9sIGlkPSJhIiBvdmVyZmxvdz0idmlzaWJsZSI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBzdHJva2U9Im5vbmUiPjxwYXRoIGZpbGw9IiMwMTc3YjUiIGQ9Ik01OS4yNiAwSDQuNzI0QzIuMTIgMCAwIDIuMDY2IDAgNC42MXY1NC43ODhjMCAyLjUzIDIuMTIgNC42IDQuNzI0IDQuNmg1NC41NGMyLjYxIDAgNC43MzYtMi4wNyA0LjczNi00LjZWNC42MUM2NCAyLjA2NiA2MS44NzQgMCA1OS4yNiAwIi8+PHBhdGggZD0iTTkuNDkgMjMuOTkySDE5djMwLjU0SDkuNDl6bTQuNzQ4LTE1LjJjMy4wMzQgMCA1LjUgMi40NjYgNS41IDUuNWE1LjUxIDUuNTEgMCAwIDEtNS40OTggNS41MDYgNS41MiA1LjUyIDAgMCAxLTUuNTA4LTUuNTA2IDUuNSA1LjUgMCAwIDEgNS41MDYtNS41bTEwLjcgMTUuMmg5LjEwNHY0LjE3NGguMTI2YzEuMjY4LTIuNCA0LjM2NC00LjkzMiA5LTQuOTMyIDkuNjEyIDAgMTEuMzg2IDYuMzI2IDExLjM4NiAxNC41NDh2MTYuNzUyaC05LjQ4NlYzOS42NzhjMC0zLjU0LS4wNjQtOC4xLTQuOTMyLTguMS00Ljk0IDAtNS43IDMuODYtNS43IDcuODR2MTUuMTA4aC05LjQ4NHYtMzAuNTR6Ii8+PC9nPjwvc3ltYm9sPjwvc3ZnPg=="},"displayName":"LinkedIn","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"},{"id":27,"name":"Marketing"}]},{"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":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"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":1141,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.embeddingsOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.embeddingsopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Embeddings"]}}},"group":"[\"transform\"]","defaults":{"name":"Embeddings OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"Embeddings OpenAI","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1225,"icon":"file:form.svg","name":"n8n-nodes-base.formTrigger","codex":{"data":{"alias":["table","submit","post"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Other Trigger Nodes"]}}},"group":"[\"trigger\"]","defaults":{"name":"On form submission"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwQjdCQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzQuOTc4IDM3LjczMmExLjU2IDEuNTYgMCAwIDEtMS41NjIgMS41NjNINi4yNmExLjU2IDEuNTYgMCAwIDEtMS41NjMtMS41NjNWOS42MDdjMC0uNDA1LjE1Ny0uNzk0LjQzOC0xLjA4Nmw2LjMwNC02LjUzMXY1LjM0NEg4LjIxM2ExLjE3MiAxLjE3MiAwIDEgMCAwIDIuMzQzaDQuNDNhMS4xNyAxLjE3IDAgMCAwIDEuMTcxLTEuMTcxVi4yMzJoMTkuNjAyYTEuNTYgMS41NiAwIDAgMSAxLjU2MiAxLjU2M3YxMC4zMjdsLTIuODYgMi44Ni04LjI1MiA4LjI3NmE0MTMuMDA2IDQxMy4wMDYgMCAwIDEtMS42NTQgMS42NjJsLS4zMzcuMzM3YTIgMiAwIDAgMC0uNTU3IDEuMDhMMjAuMyAzMS45MjJjLS4xMDguNjM4LS4yMTUgMS4wNzkuMjExIDEuNDE4LjQwMy4zMi45LjE3NCAxLjU0LjA2Nmw1LjQwOC0uOTI4YTIgMiAwIDAgMCAxLjA4LS41NTZsNi40NC02LjQyOXptLTI0LjAzLTIxLjI2NWExLjE4IDEuMTggMCAwIDAgMS4xNzEgMS4xNzJoMTMuMTYzYTEuMTcyIDEuMTcyIDAgMSAwIDAtMi4zNDRIMTIuMTE5YTEuMTcgMS4xNyAwIDAgMC0xLjE3MiAxLjE3Mm03LjI5NCAxNC43NjZhMS4xNyAxLjE3IDAgMCAwLTEuMTcyLTEuMTcySDEyLjEyYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNC45NTFhMS4xNyAxLjE3IDAgMCAwIDEuMTcyLTEuMTcybS44Ni03LjM5MWExLjE3IDEuMTcgMCAwIDAtMS4xNzItMS4xNzJoLTUuODExYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNS44MWExLjE2NCAxLjE2NCAwIDAgMCAxLjE3My0xLjE3MSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwQjdCQyIgZD0ibTMzLjUzMiAxNi4zOTcgNC4yODktNC4yODkgMy43NTggMy43MSAxLjYxNy0xLjYxNiAyLjI1OCAyLjI1N2MuMjE4LjIxOC4zNC41MTMuMzQzLjgyLS4wMDIuMzExLS4xMjUuNjA4LS4zNDQuODNsLTYuODA0IDYuNzk2YTEuMTMgMS4xMyAwIDAgMS0uODI4LjM0MyAxLjE1IDEuMTUgMCAwIDEtLjgyOC0uMzQzIDEuMTggMS4xOCAwIDAgMSAwLTEuNjU3bDUuOTc2LTUuOTY4LTEuMzEyLTEuMzEzLTEuMzgzIDEuNDE0LTEzLjE0OSAxMy4xMjUtNC42MTcuNzgyLjc4Mi00LjYxNy4zMzYtLjMzNyAyLjU2MiAyLjU1NWExLjEgMS4xIDAgMCAwIC44MjguMzQ0Yy4zMTIuMDA1LjYxMi0uMTIuODI4LS4zNDRhMS4xOCAxLjE4IDAgMCAwIDAtMS42NTZsLTIuNTYyLTIuNTYyek00NC43MzYgMTIuMjRjMCAuNDE0LS4xNjMuODEtLjQ1NCAxLjEwMmwtLjkyMi45MTQtMy44NTItMy44MjguOTMtLjkzYTEuNTYzIDEuNTYzIDAgMCAxIDIuMjAzIDBsMS42NCAxLjY0MWMuMjkxLjI5My40NTUuNjkuNDU1IDEuMTAyIi8+PC9zdmc+"},"displayName":"n8n Form Trigger","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1231,"icon":"file:supabase.svg","name":"@n8n/n8n-nodes-langchain.vectorStoreSupabase","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoresupabase/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Vector Stores","Tools","Root Nodes"],"Tools":["Other Tools"],"Vector Stores":["Other Vector Stores"]}}},"group":"[\"transform\"]","defaults":{"name":"Supabase Vector Store"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDkiIGhlaWdodD0iMTEzIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJ1cmwoI2EpIiBkPSJNNjMuNzA4IDExMC4yODRjLTIuODYgMy42MDEtOC42NTggMS42MjgtOC43MjctMi45N2wtMS4wMDctNjcuMjUxaDQ1LjIyYzguMTkgMCAxMi43NTggOS40NiA3LjY2NSAxNS44NzR6Ii8+PHBhdGggZmlsbD0idXJsKCNiKSIgZmlsbC1vcGFjaXR5PSIuMiIgZD0iTTYzLjcwOCAxMTAuMjg0Yy0yLjg2IDMuNjAxLTguNjU4IDEuNjI4LTguNzI3LTIuOTdsLTEuMDA3LTY3LjI1MWg0NS4yMmM4LjE5IDAgMTIuNzU4IDkuNDYgNy42NjUgMTUuODc0eiIvPjxwYXRoIGZpbGw9IiMzRUNGOEUiIGQ9Ik00NS4zMTcgMi4wNzFjMi44Ni0zLjYwMSA4LjY1Ny0xLjYyOCA4LjcyNiAyLjk3bC40NDIgNjcuMjUxSDkuODNjLTguMTkgMC0xMi43NTktOS40Ni03LjY2NS0xNS44NzV6Ii8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iNTMuOTc0IiB4Mj0iOTQuMTYzIiB5MT0iNTQuOTc0IiB5Mj0iNzEuODI5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iIzI0OTM2MSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzNFQ0Y4RSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iMzYuMTU2IiB4Mj0iNTQuNDg0IiB5MT0iMzAuNTc4IiB5Mj0iNjUuMDgxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3AvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+"},"displayName":"Supabase Vector Store","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1236,"icon":"file:aggregate.svg","name":"n8n-nodes-base.aggregate","codex":{"data":{"alias":["Aggregate","Combine","Flatten","Transform","Array","List","Item"],"details":"","resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.aggregate/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Aggregate"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIj48ZyBmaWxsPSIjRkY2RDVBIiBjbGlwLXBhdGg9InVybCgjYSkiPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMyIDE0OGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE0NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJINDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgOTZjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxNDZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDQ0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0wIDk2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTQ2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg0NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjxwYXRoIGQ9Ik03NCA3NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExNi4yMTdjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjU2YzAgMjYuOTc4IDEwLjI3MiA1MS41NTcgMjcuMTE5IDcwLjAzOSA1LjA1NSA1LjU0NSA1LjA1NSAxNC4zNzcgMCAxOS45MjItMTYuODQ3IDE4LjQ4Mi0yNy4xMTkgNDMuMDYxLTI3LjExOSA3MC4wMzl2NTZjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMySDg2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTE2LjIxN2M0NC4xODMgMCA4MC0zNS44MTcgODAtODB2LTU2YzAtMzAuOTI4IDI1LjA3Mi01NiA1Ni01NmE1Ljc4MyA1Ljc4MyAwIDAgMCA1Ljc4My01Ljc4M3YtMzYuNDM0YTUuNzgzIDUuNzgzIDAgMCAwLTUuNzgzLTUuNzgzYy0zMC45MjggMC01Ni0yNS4wNzItNTYtNTZ2LTU2YzAtNDQuMTgzLTM1LjgxNy04MC04MC04MEg4NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnoiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNzYgMjQ0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzODhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUxMnY1MTJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="},"displayName":"Aggregate","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1250,"icon":"file:openAi.svg","name":"@n8n/n8n-nodes-langchain.openAi","codex":{"data":{"alias":["LangChain","ChatGPT","Sora","DallE","whisper","audio","transcribe","tts","assistant"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Miscellaneous","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg1IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NiAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MSA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K"},"displayName":"OpenAI","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1274,"icon":"file:form.svg","name":"n8n-nodes-base.form","codex":{"data":{"alias":["_Form","form","table","submit","post","page","step","stage","multi"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.form/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Form"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwQjdCQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzQuOTc4IDM3LjczMmExLjU2IDEuNTYgMCAwIDEtMS41NjIgMS41NjNINi4yNmExLjU2IDEuNTYgMCAwIDEtMS41NjMtMS41NjNWOS42MDdjMC0uNDA1LjE1Ny0uNzk0LjQzOC0xLjA4Nmw2LjMwNC02LjUzMXY1LjM0NEg4LjIxM2ExLjE3MiAxLjE3MiAwIDEgMCAwIDIuMzQzaDQuNDNhMS4xNyAxLjE3IDAgMCAwIDEuMTcxLTEuMTcxVi4yMzJoMTkuNjAyYTEuNTYgMS41NiAwIDAgMSAxLjU2MiAxLjU2M3YxMC4zMjdsLTIuODYgMi44Ni04LjI1MiA4LjI3NmE0MTMuMDA2IDQxMy4wMDYgMCAwIDEtMS42NTQgMS42NjJsLS4zMzcuMzM3YTIgMiAwIDAgMC0uNTU3IDEuMDhMMjAuMyAzMS45MjJjLS4xMDguNjM4LS4yMTUgMS4wNzkuMjExIDEuNDE4LjQwMy4zMi45LjE3NCAxLjU0LjA2Nmw1LjQwOC0uOTI4YTIgMiAwIDAgMCAxLjA4LS41NTZsNi40NC02LjQyOXptLTI0LjAzLTIxLjI2NWExLjE4IDEuMTggMCAwIDAgMS4xNzEgMS4xNzJoMTMuMTYzYTEuMTcyIDEuMTcyIDAgMSAwIDAtMi4zNDRIMTIuMTE5YTEuMTcgMS4xNyAwIDAgMC0xLjE3MiAxLjE3Mm03LjI5NCAxNC43NjZhMS4xNyAxLjE3IDAgMCAwLTEuMTcyLTEuMTcySDEyLjEyYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNC45NTFhMS4xNyAxLjE3IDAgMCAwIDEuMTcyLTEuMTcybS44Ni03LjM5MWExLjE3IDEuMTcgMCAwIDAtMS4xNzItMS4xNzJoLTUuODExYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNS44MWExLjE2NCAxLjE2NCAwIDAgMCAxLjE3My0xLjE3MSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwQjdCQyIgZD0ibTMzLjUzMiAxNi4zOTcgNC4yODktNC4yODkgMy43NTggMy43MSAxLjYxNy0xLjYxNiAyLjI1OCAyLjI1N2MuMjE4LjIxOC4zNC41MTMuMzQzLjgyLS4wMDIuMzExLS4xMjUuNjA4LS4zNDQuODNsLTYuODA0IDYuNzk2YTEuMTMgMS4xMyAwIDAgMS0uODI4LjM0MyAxLjE1IDEuMTUgMCAwIDEtLjgyOC0uMzQzIDEuMTggMS4xOCAwIDAgMSAwLTEuNjU3bDUuOTc2LTUuOTY4LTEuMzEyLTEuMzEzLTEuMzgzIDEuNDE0LTEzLjE0OSAxMy4xMjUtNC42MTcuNzgyLjc4Mi00LjYxNy4zMzYtLjMzNyAyLjU2MiAyLjU1NWExLjEgMS4xIDAgMCAwIC44MjguMzQ0Yy4zMTIuMDA1LjYxMi0uMTIuODI4LS4zNDRhMS4xOCAxLjE4IDAgMCAwIDAtMS42NTZsLTIuNTYyLTIuNTYyek00NC43MzYgMTIuMjRjMCAuNDE0LS4xNjMuODEtLjQ1NCAxLjEwMmwtLjkyMi45MTQtMy44NTItMy44MjguOTMtLjkzYTEuNTYzIDEuNTYzIDAgMCAxIDIuMjAzIDBsMS42NCAxLjY0MWMuMjkxLjI5My40NTUuNjkuNDU1IDEuMTAyIi8+PC9zdmc+"},"displayName":"n8n Form","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":33,"name":"Social Media"},{"id":48,"name":"AI RAG"}],"image":[]}}