{"workflow":{"id":13268,"name":"Rewrite web content with exact character counts using GPT-4.1 and Google Sheets","views":29,"recentViews":0,"totalViews":29,"createdAt":"2026-02-09T11:22:36.802Z","description":"## Description\n\nAn AI-powered content rewriter that maintains exact character counts line-by-line while rewriting web pages for SEO. Fetches reference URL content, preserves layout-critical formatting, and logs detailed comparisons to Google Sheets—perfect for agencies rewriting competitor content while maintaining design consistency.\n\n---\n\n## What this workflow does\n\nThis workflow solves a unique SEO challenge: rewriting web content while preserving exact character counts on every single line. When you need to rewrite a competitor's page or update your own content without breaking the layout, this automation fetches the reference URL, converts it to Markdown, and uses GPT-4.1 to rewrite marketing text, headings, and CTAs while maintaining the exact same character count as the original—down to the letter. The AI intelligently decides what to keep unchanged (form labels), what to skip entirely (URLs, footers), and what to rewrite (marketing content). A second AI agent then compares the original and rewritten versions line-by-line, verifying character counts and logging everything to Google Sheets for quality control.\n\nPerfect for SEO agencies, content teams, and web developers who need to rewrite content without disturbing page layouts, CSS styling, or design templates that depend on specific text lengths.\n\n---\n\n## Key features\n\n**Exact character count preservation:** Every rewritten line matches the original's character count precisely—no approximations, no +/- 1 character deviations. If the original has 47 characters, the rewrite will have exactly 47 characters.\n\n**Smart content classification:** The AI automatically categorizes each line into three actions: KEEP (form labels like Name, Email, Phone remain unchanged), SKIP (URLs and footers excluded entirely from output), or REWRITE (marketing content, headings, CTAs rewritten with exact length).\n\n**Line-by-line comparison analysis:** A second AI agent compares original vs. rewritten content, creates structured JSON showing each change, verifies character and word counts match, and flags any discrepancies.\n\n**Google Sheets quality tracking:** All comparisons logged to Google Sheets with columns for Old Text, AI Suggested Text, Old Text Length, and AI Suggested Text Length—enabling manual review and quality control.\n\n**Layout-safe rewriting:** Preserves Markdown structure, maintains spacing, keeps technical elements intact—ensures the rewritten content fits perfectly into existing page designs and CSS frameworks.\n\n**Form-based workflow:** Simple form interface with Client ID, Service Page Keyword, Instructions, and Reference URL—no coding needed to submit rewrite requests.\n\n**Dual GPT-4.1 agents:** Uses two independent AI agents (rewriter and comparator) with GPT-4.1 for maximum accuracy and quality verification at every step.\n\n---\n\n## How it works\n\n### 1. Submit rewriting request via form\nUser fills a simple form with:\n- **Client ID:** Project identifier for tracking\n- **Service Page Keyword:** Target SEO keyword (optional)\n- **Instruction:** Specific rewriting guidance (e.g., \"make it more professional\")\n- **Reference URL:** The webpage to fetch and rewrite\n\n### 2. Fetch reference webpage content\nThe workflow sends an HTTP POST request to the provided URL and retrieves the complete HTML source code of the page.\n\n### 3. Convert HTML to Markdown\nThe HTML is converted to clean Markdown format, removing unnecessary tags while preserving structure, headings, lists, and text content. This makes it easier for the AI to process line-by-line.\n\n### 4. AI rewrites content with exact character matching\nThe first AI Agent (powered by GPT-4.1) receives the Markdown content and processes it with **ULTRA-STRICT** rules:\n\n**Character counting rules:**\n- Counts everything: letters, spaces, numbers, symbols, punctuation\n- Spaces are characters\n- Line breaks don't count\n- Case doesn't affect count\n\n**Decision logic for each line:**\n- **KEEP AS-IS:** Simple form labels (Name, Email, Phone, Message), generic system messages, technical single words\n- **SKIP COMPLETELY:** All URLs (https://, http://, www.), all footers (copyright, legal links, disclaimers), navigation URLs, image paths\n- **MUST REWRITE:** Headings, marketing text, CTAs, service descriptions, menu items\n\n**Character-matching techniques:**\n- Too short → Add words, expand contractions\n- Too long → Use shorter synonyms, use contractions\n- Exact match → Swap equal-length words\n\n**Verification checklist:**\n- Every rewritten line matches original character count\n- All simple labels kept exactly\n- All URLs skipped\n- All footers skipped (no rewrite or modification)\n- Markdown structure preserved\n\nIf even 1 line has mismatched characters, the AI retries until it's perfect.\n\n### 5. Compare original vs. rewritten content\nA second AI Agent (also GPT-4.1) compares the original Markdown input with the rewritten output:\n- Breaks down both texts into individual sentences or meaningful phrases\n- Matches each line from original with its corresponding rewritten version\n- Verifies character and word counts match for each pair\n- Notes any skipped content (URLs, footers) with markers like \"[SKIPPED - Footer/URL]\"\n- Outputs structured JSON with comparison array\n\n### 6. Parse comparison to structured format\nThe Structured Output Parser ensures the comparison JSON is valid and properly formatted:\n```json\n{\n  \"comparisons\": [\n    {\n      \"old_text\": \"exact sentence from original\",\n      \"ai_suggested_text\": \"corresponding sentence from rewritten version\",\n      \"Old_text_count\": \"47\",\n      \"ai_suggested_text_Count\": \"47\"\n    }\n  ]\n}\n```\n\n### 7. Split comparison into individual rows\nThe Split Out node takes the comparisons array and creates a separate item for each comparison, preparing it for Google Sheets insertion.\n\n### 8. Log comparison to Google Sheets\nEach comparison is written to Google Sheets as a new row with columns:\n- **Old Text:** Original line\n- **AI Suggested Text:** Rewritten line\n- **Old Text Length:** Character count of original\n- **AI Suggested Text Length:** Character count of rewritten\n\nThis creates a complete audit trail for manual review and quality verification.\n\n---\n\n## Setup requirements\n\n**Tools you'll need:**\n\n- Active n8n instance (self-hosted or n8n Cloud)\n- Google Sheets with OAuth access for comparison tracking\n- OpenAI API key (GPT-4.1 and GPT-4o-mini access)\n- Target website URL to rewrite\n\n**Estimated setup time:** 20–25 minutes\n\n---\n\n## Configuration steps\n\n### 1. Connect Google Sheets\n- In n8n: **Credentials → Add credential → Google Sheets OAuth2 API**\n- Complete OAuth authentication\n- Create a tracking Google Sheet with columns:\n  - **Old Text**\n  - **AI Suggested Text**\n  - **Old Text Length**\n  - **AI Suggested Text Length**\n- Open **\"Log Comparison to Google Sheets\"** node\n- Select your Google Sheet and correct sheet tab\n- Verify column mapping matches your sheet structure\n\n### 2. Add OpenAI API credentials\n- Get API key: https://platform.openai.com/api-keys\n- In n8n: **Credentials → Add credential → OpenAI API**\n- Paste your API key\n- Configure three OpenAI Chat Model nodes:\n  - **\"OpenAI GPT-4.1 Rewriting Model\":** Set to gpt-4.1, timeout 100000ms\n  - **\"OpenAI GPT-4.1 Comparison Model\":** Set to gpt-4.1, timeout 100000ms\n  - **\"OpenAI GPT-4o-mini Parser Model\":** Set to gpt-4o-mini\n- Verify all three nodes use your OpenAI credential\n\n### 3. Copy form URL\n- Open **\"Submit Content Rewriting Request\"** node\n- Copy the **Form URL**\n- Share this URL with your team or clients for submitting rewrite requests\n\n### 4. Customize AI rewriting rules (optional)\nOpen **\"Rewrite Content with Exact Character Count\"** node and edit the system message to:\n- Add more content types to KEEP unchanged\n- Define additional SKIP rules (e.g., specific footer patterns)\n- Adjust rewriting tone (formal, casual, technical)\n- Modify character-matching techniques\n\n### 5. Test the workflow\n- Activate the workflow (toggle to **Active**)\n- Open the form URL\n- Fill in test data:\n  - Client ID: TEST_001\n  - Service Page Keyword: SEO services\n  - Instruction: Make it more professional\n  - Reference URL: https://example.com\n- Submit the form\n- Wait 1-3 minutes for processing (depends on content length)\n- Check Google Sheets for comparison results\n- Verify:\n  - All rewritten lines have matching character counts\n  - URLs and footers are skipped\n  - Form labels remain unchanged\n  - Marketing content is rewritten\n\n### 6. Review and refine\n- Open your Google Sheets comparison log\n- Review the Old Text vs. AI Suggested Text columns\n- Check character count columns match\n- If any lines failed validation, review the AI's decision logic\n- Adjust the system prompt if needed for your specific use case\n\n---\n\n## Use cases\n\n**SEO agencies rewriting competitor content:** Analyze top-ranking competitor pages and rewrite them for your clients while preserving the exact layout that works. Character-count matching ensures the rewritten content fits perfectly into the same design templates.\n\n**Web designers updating legacy sites:** Modernize old website copy without breaking existing CSS layouts that depend on specific text lengths. Maintain pixel-perfect designs while refreshing the message.\n\n**Content teams A/B testing variations:** Create multiple versions of the same page with different wording but identical character counts. Test messaging changes without layout shifts affecting results.\n\n**Translation agencies adapting content:** When translating from one language to another requires matching specific character limits (billboards, app interfaces, fixed-width layouts), this workflow helps maintain constraints.\n\n**E-commerce product descriptions:** Rewrite product copy for different brands or markets while keeping descriptions at exact character counts required by platform templates or PIM systems.\n\n**Landing page optimization:** Test different headlines, CTAs, and value propositions while ensuring each variation maintains the original's character count—preventing layout breaks on mobile or desktop.\n\n---\n\n## Customization options\n\n### Adjust character count strictness\nIf your use case allows minor variations (+/- 2-3 characters), edit the rewriting agent's system message:\n- Change \"EXACT SAME CHARACTER COUNT\" to \"within 3 characters\"\n- Update verification rules to accept small deviations\n- Modify the comparison agent to flag only major discrepancies\n\n### Add more content types to KEEP\nIn the rewriting agent system message, expand the \"KEEP AS-IS\" list:\n- Company names\n- Product names\n- Legal disclaimers\n- Technical specifications\n- Date formats\n\n### Change output format\nInstead of Google Sheets, route comparison data to:\n- **Notion database** (via HTTP Request to Notion API)\n- **Airtable** (via Airtable node)\n- **Email report** (via Email node with HTML table)\n- **Slack notification** (via Slack node with formatted message)\n\n### Add batch processing\nModify the form to accept multiple URLs at once:\n- Add a Text Area field for URL list (one per line)\n- Insert a Split Out node after form submission\n- Loop through each URL sequentially\n- Aggregate all comparisons into a single Google Sheet\n\n### Implement approval workflow\nAdd human review before finalizing rewrites:\n- After comparison analysis, send results to project manager via email\n- Include approve/reject buttons (using n8n Webhook URLs)\n- Only log approved rewrites to final Google Sheet\n- Store rejected versions in a separate \"Needs Revision\" sheet\n\n---\n\n## Troubleshooting\n\n### Character counts don't match\n- **AI struggling with specific lines:** Some sentences are difficult to rewrite at exact length. Check the Google Sheets log to identify which lines failed. Manual rewrite may be needed for complex technical content.\n- **Special characters counted wrong:** Ensure the AI is counting all special characters, emojis, and Unicode symbols. Edit the system prompt to emphasize counting everything.\n- **Markdown formatting interfering:** Markdown syntax (**, ##, etc.) shouldn't be counted as characters. Verify the AI understands to count only visible text.\n\n### URLs or footers appearing in rewritten output\n- **SKIP rules not working:** The AI didn't recognize a URL or footer pattern. Edit the system prompt to add specific patterns to the SKIP list (e.g., \"Privacy Policy\", \"Terms of Service\").\n- **Footer detection failed:** Some footers don't have obvious markers. Add keyword patterns to the SKIP rules (e.g., \"© 2024\", \"All rights reserved\").\n\n### Comparison agent fails to parse output\n- **Invalid JSON format:** The comparison agent must output pure JSON with no markdown. Check the \"Compare Original vs Rewritten Content\" node's system message emphasizes \"Output ONLY the JSON object—no markdown, no extra text.\"\n- **Structured parser timeout:** Large content with 100+ comparison pairs may exceed timeout. Increase timeout in \"OpenAI GPT-4o-mini Parser Model\" node or split content into smaller chunks.\n\n### Google Sheets not updating\n- **OAuth expired:** Re-authenticate Google Sheets credentials in n8n.\n- **Sheet permissions:** Verify the connected Google account has edit access.\n- **Column names mismatch:** Ensure sheet column headers exactly match the node mapping (case-sensitive).\n- **Row limit reached:** Google Sheets has a 10 million cell limit. Create a new sheet if approaching limits.\n\n### Rewriting takes too long\n- **Timeout errors:** Large webpages (10,000+ words) may exceed the 100-second timeout. Increase timeout in both GPT-4.1 model nodes or split content into sections.\n- **OpenAI API rate limits:** If processing many requests simultaneously, you may hit rate limits. Add a delay between submissions or upgrade OpenAI plan.\n\n### Form labels being rewritten incorrectly\n- **AI not recognizing labels:** Add specific examples to the KEEP list in the system prompt (e.g., \"Full Name\", \"Phone Number\", \"Email Address\").\n- **Context confusion:** If form labels are embedded in marketing text, the AI may rewrite them. Improve the prompt to emphasize preserving all form-related text.\n\n---\n\n## Resources\n\n- [n8n documentation](https://docs.n8n.io/)\n- [OpenAI GPT-4 API](https://platform.openai.com/docs/models/gpt-4)\n- [Google Sheets API](https://developers.google.com/sheets/api)\n- [Markdown specification](https://www.markdownguide.org/)\n- [n8n Form Trigger](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger/)\n- [n8n Structured Output Parser](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/)\n\n---\n\n## Support\n\nNeed help or custom development?\n\n📧 Email: [info@isawow.com](info@isawow.com)  \n🌐 Website: [https://isawow.com/](https://isawow.com/)","workflow":{"meta":{"instanceId":"bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2"},"nodes":[{"id":"ff0d97b0-f69e-4713-8459-ba1eab501847","name":"Submit Content Rewriting Request","type":"n8n-nodes-base.formTrigger","position":[0,0],"webhookId":"6d8d2955-2709-4ff0-8878-74c585c40db7","parameters":{"options":{},"formTitle":"Service Page Content Creation","formFields":{"values":[{"fieldLabel":"Client ID","requiredField":true},{"fieldLabel":"Service Page Keyword"},{"fieldLabel":"Instruction","requiredField":true},{"fieldLabel":"Reference Url"}]},"formDescription":"As soon as you fill the form, then we can start it."},"typeVersion":2.3},{"id":"790a5941-be98-4c85-bdbb-3bd08d221d94","name":"Fetch Reference URL Content","type":"n8n-nodes-base.httpRequest","position":[208,0],"parameters":{"url":"={{ $json[\"Reference Url\"] }}","method":"POST","options":{}},"typeVersion":4.3},{"id":"83f109ab-b6ac-4d3a-8868-530bc76dd56c","name":"Convert HTML to Markdown","type":"n8n-nodes-base.markdown","position":[400,0],"parameters":{"html":"={{ $json.data }}","options":{}},"typeVersion":1},{"id":"42924920-6968-4bf6-82c3-b31a0f5560d8","name":"Rewrite Content with Exact Character Count","type":"@n8n/n8n-nodes-langchain.agent","position":[656,0],"parameters":{"text":"={{ $json.data }}","options":{"systemMessage":"=🧠 ULTRA-STRICT SEO Content Rewriter – EXACT Character Count Enforcer\n\nYou are a precision-focused SEO content rewriting assistant.\nYour ONLY job is to rewrite content while maintaining EXACT CHARACTER COUNT for every single line.\n\n🚨 CRITICAL RULE – READ THIS FIRST\n\nEVERY LINE MUST HAVE THE EXACT SAME CHARACTER COUNT AS THE ORIGINAL.\nIf original line has 15 characters → Your rewrite MUST have 15 characters\nIf original line has 47 characters → Your rewrite MUST have 47 characters\nIf original line has 200 characters → Your rewrite MUST have 200 characters\n\n❌ NO EXCEPTIONS. NO APPROXIMATIONS. NO DEVIATIONS OF EVEN 1 CHARACTER.\nIf you cannot match exactly, DO NOT SUBMIT — retry the entire line until it does.\n\n📋 MANDATORY LINE-BY-LINE PROCESS\n\nFOR EACH LINE:\n\nREAD THE LINE\n\nCOUNT CHARACTERS (letters + spaces + punctuation)\n\nDECIDE: Rewrite, Keep, or Skip\n\nSimple form fields (Name, Email, Phone) → KEEP AS-IS\n\nGeneric labels → KEEP AS-IS\n\nURLs, footers, links → SKIP COMPLETELY\n\nMarketing content, headings, descriptions → REWRITE\n\n⚠️ IMPORTANT UPDATE:\nIf the line is a footer, you must SKIP IT ENTIRELY —\nDo not rewrite, do not change, do not include in the output.\nJust ignore it completely.\n\n🔢 CHARACTER COUNTING RULES\n\nCount everything: letters, spaces, numbers, symbols\n\nSpaces are characters\n\nNumbers & punctuation count\n\nCase doesn’t affect count\n\nLine breaks don’t count\n\n🎯 WHAT TO REWRITE vs KEEP vs SKIP\n\n✅ KEEP AS-IS:\nSimple form labels (Name, Email*, Phone, Message, Website)\nGeneric system messages\nTechnical single words\n\n🚫 SKIP COMPLETELY:\n\nALL URLs (https://, http://, www.)\n\nALL FOOTERS (copyright, legal links, disclaimers, etc.)\n\nNavigation URLs\n\nImage or file paths\n\nEncoded/tracking links\n\n🔄 MUST REWRITE:\nHeadings, marketing text, CTAs, service descriptions, menu items, etc.\n\n✅ CORRECT EXAMPLES\n\nExample 1 (KEEP):\nOriginal: Name → Output: Name ✅\n\nExample 2 (REWRITE):\nOriginal: About Us (8 chars) → About Me (8 chars) ✅\n\nExample 3 (SKIP - URL):\nOriginal: https://example.com → SKIPPED ✅\n\nExample 4 (SKIP - FOOTER):\nOriginal: © 2024 Company Name. All rights reserved. → SKIPPED ✅\n\n🔧 CHARACTER-MATCHING TECHNIQUES\n\nAdd characters (too short): add words, expand contractions\nRemove characters (too long): use shorter synonyms, contractions\nMaintain length: swap equal-length words\n\n⚠️ MANDATORY VERIFICATION CHECKLIST\n\n✅ Every rewritten line matches original character count\n✅ All simple labels kept exactly\n✅ All URLs skipped\n✅ All footers skipped (no rewrite or modification)\n✅ Markdown structure preserved\n✅ No explanations or notes in output\n\n🚨 FINAL WARNING\n\nIf even 1 line has mismatched characters → ❌ INVALID\nIf any URL or footer is included → ❌ INVALID\nIf footer is rewritten or modified → ❌ INVALID\n\nYou must retry until 100% of lines are perfect:\nExact character match, no URLs, no footer text in output.\n\n💡 REMEMBER\n\nRead line → Check for URL/footer → If yes, SKIP\nCount characters → Decide: rewrite or keep\nIf rewrite: verify match exactly\nIf keep: copy as-is\nIf skip: exclude entirely\n\n✅ Smart decisions + Exact counts + No URLs + No footers = Perfect Output\n\nEvery single character counts.\nNever rewrite or modify footers — skip them completely."},"promptType":"define"},"typeVersion":3},{"id":"a6e6090e-efaf-4287-a006-3c1cf4d5fc41","name":"OpenAI GPT-4.1 Rewriting Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[656,192],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1","cachedResultName":"gpt-4.1"},"options":{"timeout":100000}},"credentials":{"openAiApi":{"id":"A14MqVJzO7cufz8t","name":"Open AI - Misc for testing"}},"typeVersion":1.2},{"id":"4fb016d3-a653-4cf9-a868-33648de2f39d","name":"Compare Original vs Rewritten Content","type":"@n8n/n8n-nodes-langchain.agent","position":[1056,0],"parameters":{"text":"=Compare the following two pieces of content:\n\nORIGINAL INPUT:\n{{ $('Convert HTML to Markdown').item.json.data }}\n\nREWRITTEN OUTPUT:\n{{ $json.output }}\n\nProvide a detailed comparison analysis.","options":{"systemMessage":"=You are a content comparison expert.\nCompare the ORIGINAL INPUT with the REWRITTEN OUTPUT and create a line-by-line comparison.\n\nRules:\n\nBreak down both texts into individual sentences or meaningful phrases.\n\nMatch each line from the original with its corresponding rewritten version.\n\nOutput ONLY a valid JSON object (no markdown, no explanations).\n\nEach comparison must be a separate object in the comparisons array.\n\nKeep each comparison concise (1–2 sentences max).\n\nMatch the intent and meaning, not just word-for-word.\n\nNote any added, removed, or skipped content (like URLs or footers).\n\nVerify that each rewritten line has exactly the same character count and word count as the original.\n\nIf the line was skipped intentionally (like a footer or URL), include a note such as \"ai_suggested_text\": \"[SKIPPED - Footer/URL]\".\n\nResponse format:\n{\n  \"comparisons\": [\n    {\n      \"old_text\": \"exact sentence from original\",\n      \"ai_suggested_text\": \"corresponding sentence from rewritten version\"\n    }\n  ]\n}\n\nIMPORTANT:\n\nOutput ONLY the JSON object — no markdown, no extra text.\n\nEach comparison must show one clear change or indicate if content was skipped.\n\nCharacter count and word count must both match for rewritten lines (except skipped lines)."},"promptType":"define","hasOutputParser":true},"typeVersion":3},{"id":"4e4bf882-671b-4f7e-ad01-823aaf900872","name":"OpenAI GPT-4.1 Comparison Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[992,272],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4.1","cachedResultName":"gpt-4.1"},"options":{"timeout":100000}},"credentials":{"openAiApi":{"id":"A14MqVJzO7cufz8t","name":"Open AI - Misc for testing"}},"typeVersion":1.2},{"id":"6d19ad50-61c8-4464-bbf1-88de45bb2f52","name":"Parse Comparison to Structured Format","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1136,160],"parameters":{"autoFix":true,"jsonSchemaExample":"{\n  \"comparisons\": [\n    {\n      \"old_text\": \"original text line here\",\n      \"ai_suggested_text\": \"rewritten text line here\",   \"Old_text_count\":\"Old_text_count\",    \"ai_suggested_text_Count\":\"ai_suggested_text_Count\"\n    }\n  ]\n}"},"typeVersion":1.3},{"id":"3a2aaddb-5759-4665-a674-bad52dd1782d","name":"OpenAI GPT-4o-mini Parser Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[1136,368],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o-mini"},"options":{}},"credentials":{"openAiApi":{"id":"tCrLCjVYHhZMrULt","name":"OpenAI - Keyword Research"}},"typeVersion":1.2},{"id":"86944b96-8fc8-4836-ac14-965669c186d5","name":"Split Comparison into Individual Rows","type":"n8n-nodes-base.splitOut","position":[1424,0],"parameters":{"options":{},"fieldToSplitOut":"output.comparisons"},"typeVersion":1},{"id":"2d36605c-22f3-4b14-9d49-ad06c245386f","name":"Log Comparison to Google Sheets","type":"n8n-nodes-base.googleSheets","position":[1680,0],"parameters":{"columns":{"value":{"Old Text":"={{ $json.old_text }}","Old Text Length":"={{ $json.Old_text_count }}","Ai Suggested Text":"={{ $json.ai_suggested_text }}","Ai Suggested Text Length":"={{ $json.ai_suggested_text_Count }}"},"schema":[{"id":"Old Text","type":"string","display":true,"removed":false,"required":false,"displayName":"Old Text","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Ai Suggested Text","type":"string","display":true,"removed":false,"required":false,"displayName":"Ai Suggested Text","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Old Text Length","type":"string","display":true,"removed":false,"required":false,"displayName":"Old Text Length","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Ai Suggested Text Length","type":"string","display":true,"removed":false,"required":false,"displayName":"Ai Suggested Text Length","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1V4MjvK0yN2f7aBBqPG_O3vEisVOalRl2aeNldnS9SIU/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1V4MjvK0yN2f7aBBqPG_O3vEisVOalRl2aeNldnS9SIU","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1V4MjvK0yN2f7aBBqPG_O3vEisVOalRl2aeNldnS9SIU/edit?usp=drivesdk","cachedResultName":"content_comparision"}},"credentials":{"googleSheetsOAuth2Api":{"id":"YyH10EX32NeS4fVC","name":"AkshSHEET"}},"typeVersion":4.7},{"id":"7c69a88f-5505-46b9-9b67-61c2d6449edf","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-448,-352],"parameters":{"width":416,"height":880,"content":"## Character-Preserving SEO Content Rewriter\n\nThis workflow rewrites web content while maintaining EXACT\ncharacter counts line-by-line—critical for preserving page\nlayout and design. Submit a reference URL, and the AI fetches\nthe content, converts it to Markdown, then rewrites marketing\ntext, headings, and CTAs while keeping form labels unchanged\nand skipping URLs/footers entirely. Every rewritten line must\nmatch the original's exact character count. A comparison agent\nthen analyzes the changes and logs them to Google Sheets for\nquality verification.\n\n## How it works\n1. Submit form with reference URL and rewriting instructions.\n2. Fetch the webpage HTML content via HTTP request.\n3. Convert HTML to clean Markdown format.\n4. AI rewrites content line-by-line with exact character matching.\n5. Comparison agent analyzes original vs rewritten text.\n6. Parse comparison into structured JSON format.\n7. Split comparison array into individual rows.\n8. Log all changes to Google Sheets with character counts.\n\n## Setup steps\n1. Connect Google Sheets OAuth credentials.\n2. Add OpenAI API keys (GPT-4.1 and GPT-4o-mini).\n3. Update Google Sheet URL in the append node.\n4. Share form URL to start rewriting content.\n5. Review results in Google Sheets comparison log."},"typeVersion":1},{"id":"44078247-72f0-4524-959f-a49ec47f3026","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[0,-144],"parameters":{"color":7,"width":496,"height":192,"content":"## Content Fetching\n\nReceives rewriting request via form, fetches\nthe reference URL's HTML content, and converts\nit to clean Markdown for AI processing."},"typeVersion":1},{"id":"8be4c5a5-d29a-44fd-91e3-8b4c8d60796d","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[592,-144],"parameters":{"color":7,"width":352,"height":192,"content":"## AI Content Rewriting\n\nRewrites content line-by-line maintaining EXACT\ncharacter count. Keeps form labels unchanged,\nskips URLs/footers, rewrites marketing content."},"typeVersion":1},{"id":"f7ffda9a-13e8-446b-9b9a-a7cc29fcd3a9","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[976,-144],"parameters":{"color":7,"width":368,"height":192,"content":"## Comparison Analysis\n\nCompares original vs rewritten content line-by-line,\ncreates structured JSON comparison with character\ncounts, and parses into proper format."},"typeVersion":1},{"id":"2eb15d8e-e23d-4210-8e7d-8c9139bb8817","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[1424,-144],"parameters":{"color":7,"width":352,"height":192,"content":"##  Results Logging\n\nSplits comparison data into individual rows\nand logs each comparison to Google Sheets\nwith old/new text and character counts."},"typeVersion":1}],"pinData":{"Submit Content Rewriting Request":[{"formMode":"test","Client ID":"CLIENT_123","Instruction":"make it more professional","submittedAt":"2025-11-07T16:06:18.165+05:30","Reference Url":"https://www.incrementors.com/","Service Page Keyword":"dental SEO services"}]},"connections":{"Convert HTML to Markdown":{"main":[[{"node":"Rewrite Content with Exact Character Count","type":"main","index":0}]]},"Fetch Reference URL Content":{"main":[[{"node":"Convert HTML to Markdown","type":"main","index":0}]]},"OpenAI GPT-4.1 Rewriting Model":{"ai_languageModel":[[{"node":"Rewrite Content with Exact Character Count","type":"ai_languageModel","index":0}]]},"OpenAI GPT-4.1 Comparison Model":{"ai_languageModel":[[{"node":"Compare Original vs Rewritten Content","type":"ai_languageModel","index":0}]]},"OpenAI GPT-4o-mini Parser Model":{"ai_languageModel":[[{"node":"Parse Comparison to Structured Format","type":"ai_languageModel","index":0}]]},"Submit Content Rewriting Request":{"main":[[{"node":"Fetch Reference URL Content","type":"main","index":0}]]},"Compare Original vs Rewritten Content":{"main":[[{"node":"Split Comparison into Individual Rows","type":"main","index":0}]]},"Parse Comparison to Structured Format":{"ai_outputParser":[[{"node":"Compare Original vs Rewritten Content","type":"ai_outputParser","index":0}]]},"Split Comparison into Individual Rows":{"main":[[{"node":"Log Comparison to Google Sheets","type":"main","index":0}]]},"Rewrite Content with Exact Character Count":{"main":[[{"node":"Compare Original vs Rewritten Content","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":16,"nodeTypes":{"n8n-nodes-base.markdown":{"count":1},"n8n-nodes-base.splitOut":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.formTrigger":{"count":1},"n8n-nodes-base.httpRequest":{"count":1},"n8n-nodes-base.googleSheets":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":2},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":3},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"isaWOW","username":"isawow","bio":"","verified":true,"links":[""],"avatar":"https://gravatar.com/avatar/8e8c1f17a2be80c0d1b0248585660dff3062cefeda523bbafeafcdb813f52ffa?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"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-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/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"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/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"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/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"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-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/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.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"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":564,"icon":"file:markdown.svg","name":"n8n-nodes-base.markdown","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.markdown/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"output\"]","defaults":{"name":"Markdown"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM3LjExNjQgMzIuNjE4N0gyLjg4MzU3QzIuNTA0OSAzMi42MTg3IDIuMTI5OTMgMzIuNTQ0MSAxLjc4MDA4IDMyLjM5OTJDMS40MzAyMyAzMi4yNTQzIDEuMTEyMzQgMzIuMDQxOSAwLjg0NDU3OSAzMS43NzQxQzAuNTc2ODE1IDMxLjUwNjQgMC4zNjQ0MTIgMzEuMTg4NSAwLjIxOTQ5OSAzMC44Mzg2QzAuMDc0NTg1OCAzMC40ODg4IDAgMzAuMTEzOCAwIDI5LjczNTFWMTAuODgzNkMwIDEwLjExODggMC4zMDM4MDQgOS4zODUzNSAwLjg0NDU3OSA4Ljg0NDU4QzEuMzg1MzUgOC4zMDM4IDIuMTE4OCA4IDIuODgzNTcgOEgzNy4xMTY0QzM3LjQ5NTEgOCAzNy44NzAxIDguMDc0NTkgMzguMjE5OSA4LjIxOTVDMzguNTY5OCA4LjM2NDQxIDM4Ljg4NzcgOC41NzY4MSAzOS4xNTU0IDguODQ0NThDMzkuNDIzMiA5LjExMjM0IDM5LjYzNTYgOS40MzAyMyAzOS43ODA1IDkuNzgwMDhDMzkuOTI1NCAxMC4xMjk5IDQwIDEwLjUwNDkgNDAgMTAuODgzNlYyOS43MzE4QzQwLjAwMDIgMzAuMTEwNiAzOS45MjU4IDMwLjQ4NTggMzkuNzgxIDMwLjgzNThDMzkuNjM2MiAzMS4xODU5IDM5LjQyMzggMzEuNTAzOSAzOS4xNTYgMzEuNzcxOUMzOC44ODgyIDMyLjAzOTggMzguNTcwMyAzMi4yNTI0IDM4LjIyMDMgMzIuMzk3NEMzNy44NzAzIDMyLjU0MjQgMzcuNDk1MiAzMi42MTg3IDM3LjExNjQgMzIuNjE4N1pNOS42MTQxMyAyNi44NDgyVjE5LjM0NzZMMTMuNDYxMSAyNC4xNTYzTDE3LjMwNjQgMTkuMzQ3NlYyNi44NDgySDIxLjE1MzRWMTMuNzcyMUgxNy4zMDY0TDEzLjQ2MTEgMTguNTgwOUw5LjYxNDEzIDEzLjc3MjFINS43NjcxNVYyNi44NTE2TDkuNjE0MTMgMjYuODQ4MlpNMzUuMzg2MyAyMC4zMDk0SDMxLjUzOTNWMTMuNzcwNUgyNy42OTRWMjAuMzA5NEgyMy44NDdMMjkuNjE1OCAyNy4wNDE2TDM1LjM4NjMgMjAuMzA5NFoiIGZpbGw9IiMzODM4MzkiLz4KPC9zdmc+Cg=="},"displayName":"Markdown","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":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":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":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"}]}],"categories":[{"id":31,"name":"Content Creation"},{"id":49,"name":"AI Summarization"}],"image":[]}}