{"workflow":{"id":14012,"name":"Create AI newsletters from YouTube with LangChain, Gemini, Apify & Gmail","views":433,"recentViews":5,"totalViews":433,"createdAt":"2026-03-12T10:56:44.535Z","description":"# Video → Newsletter AI Agent\n\nThis n8n workflow converts a YouTube video into a polished, email-ready newsletter. It scrapes the transcript, extracts a thumbnail/logo and brand color theme, uses multiple AI agents to (1) clean & summarize the transcript into three newsletter sections, (2) convert that content into a styled HTML newsletter (color-aware), then saves the draft to Google Sheets and sends the email to subscribers via Gmail. The flow is optimized for batch sending and brand-consistent HTML output.\n\n## How it works (step-by-step)\n1. **Trigger** — `On form submission` accepts Brand Name, Brand Website, and YouTube video link.  \n2. **Site scrape & colour study** — HTTP requests + `Information Extractor` → AI agent derives brand color theme (primary/secondary/accent/background).  \n3. **Transcript retrieval** — Two YouTube transcript scrapers (Apify acts) fetch the video transcript and thumbnail; a small `Code` node merges transcript chunks.  \n4. **Summarization & journalism** — `AI Agent2` (LangChain/Gemini) cleans the transcript, extracts thesis + key points, and writes 3 newsletter sections in a journalistic tone.  \n5. **HTML conversion** — `Convert Newsletter to HTML (AI)` agent applies the fixed layout and injects only text color variables (keeps layout intact) and outputs Subject + HTML body (≤1000 words).  \n6. **Aggregate & merge** — `Merge` + `Aggregate` assemble files, assets, and parsed outputs.  \n7. **Save & send** — Save the email draft to Google Sheets (`Save Newsletter Draft in Google Sheet`) and loop through subscribers from a subscribers sheet; `Sending Emails to all the Subscribers` (Gmail node) sends the HTML to each address in batches.  \n8. **Batching & looping** — `Split In Batches` handles large subscriber lists; `Loop Over Items` triggers the HTML-conversion per recipient batch.\n\n## Quick Setup Guide\n👉 [Demo & Setup Video](https://drive.google.com/file/d/1bOfkyDY-Y06pq9ojZzLaGy5Xuvp9LdH7/view?usp=sharing)\n👉 [Sheet Template](https://docs.google.com/spreadsheets/d/1hvB5Zif52eCLv_X7E_OifQv9OI5usn-CQ50-TsZTMQA/edit?usp=sharing)\n👉 [Course](https://www.udemy.com/course/n8n-automation-mastery-build-ai-powered-enterprise-ready/?referralCode=2EAE71591D3BEB80F2CC)\n\n## Nodes of interest\n- `On form submission` (formTrigger) — entry point for video + brand inputs.  \n- `You Tube Transcript Scraper`, `You Tube Transcript Scraper1` (HTTP Request → Apify) — transcript + thumbnail fetching.  \n- `Information Extractor` & `AI Agent1` — website color/theme extraction.  \n- `Code in JavaScript` — merges transcript pieces into a single text payload.  \n- `AI Agent2` (LangChain agent + Gemini Chat Model) — transcript → journalist-style newsletter sections.  \n- `Convert Newsletter to HTML (AI)` (LangChain agent + Structured Output Parser) — builds constrained, brand-aware HTML email and subject.  \n- `Structured Output Parser1/2` — enforce schemas for color theme / structured outputs.  \n- `Get row(s) in sheet` & `Save Newsletter Draft in Google Sheet` (Google Sheets) — subscriber list + draft storage.  \n- `Loop Over Items` / `Split In Batches` — batch processing for sends.  \n- `Sending Emails to all the Subscribers` (Gmail) — SMTP/OAuth send.  \n- `OpenRouter Chat Model` — LM compute provider configured in the workflow.\n\n## What you’ll need (credentials & resources)\n- Google Sheets OAuth2 (for reading subscribers & saving drafts).  \n- Gmail OAuth2 (for sending HTML emails).  \n- Gemini / LLM provider credentials (Gemini API key or equivalent) for the LangChain agents.  \n- Apify API key (for the YouTube transcript scrapers).  \n- ConvertAPI (or similar) key if you convert logos (SVG→PNG) server-side.  \n- Host storage / publicly accessible URLs for images (thumbnails, logos) or a file-store (S3).  \n- Optional: SendGrid / Mailgun credentials if you swap Gmail for a transactional email provider.  \n**Security note:** do NOT hardcode credentials in node parameters; use n8n credentials manager or environment variables.\n\n## Recommended settings & best practices\n- **Batch size & rate-limits:** set `Split In Batches` to a conservative batch size (e.g., 50–200) and add delays between batches to avoid provider rate limits and Gmail throttling.  \n- **Retries & timeouts:** enable retries for HTTP Request nodes and set sensible timeouts (e.g., 30–60s). Use exponential backoff.  \n- **LM controls:** set token/response length limits and `max_output_tokens` (or equivalent) to avoid runaway costs; enforce the 1000-word HTML hard limit in the prompt.  \n- **Validation:** validate the YouTube URL and that transcript content exists before invoking AI summarization (fail fast with a clear error).  \n- **Schema enforcement:** use `Structured Output Parser` nodes with strict JSON schemas to prevent malformed outputs.  \n- **Testing:** run with a small subscriber test sheet and use a safety test Gmail account before sending to production lists.  \n- **Logging & monitoring:** log each run (video URL, subject, send count, errors) to a monitoring sheet or external logging service.  \n- **Privacy & compliance:** ensure recipients have consent to receive emails (store opt-ins); include unsubscribe handling if you move beyond one-off sends. Comply with CAN-SPAM / local laws.  \n- **Credential rotation:** rotate API keys periodically and revoke compromised tokens.  \n- **Content safety:** instruct the LM agents to avoid hallucinated citations — only include links you can verify.\n\n## Customization ideas\n- Multi-language support: auto-detect video language and run summarizer in that language.  \n- A/B subject testing: generate 2–3 subject lines and send variations to subsets.  \n- Scheduling: add a scheduler node to delay sends or publish at optimal send-times per recipient timezone.  \n- Integrate with SendGrid/Mailgun for higher throughput and analytics (opens/clicks).  \n- Add personalization tokens (first name, company) from subscribers sheet to the HTML (merge fields).  \n- Auto-attach transcript as plain-text footer or include “Read more” link to a hosted full article.  \n- Add analytics: record opens, clicks, and engagement back into Google Sheets or a database.  \n- Support other platforms: ingest videos from Vimeo, Loom, or uploaded MP4s.  \n- Use a templating engine to allow multiple newsletter layouts and style variants.  \n- Auto-generate social posts (Twitter/X, LinkedIn) from the newsletter summary.\n\n## Tags\n`n8n` `newsletter` `youtube` `transcript` `langchain` `gemini` `apify` `gmail` `google-sheets` `html-email` `automation` `batching` `ai` `content-ops`","workflow":{"id":"pCBzf4zyJcIsQkth","meta":{"instanceId":"4764540811cbb8d2e1efff249fe019f120efdfc1d1ad5d0e40382bf91ca0b3dc","templateCredsSetupCompleted":true},"name":"Video → Newsletter AI Agent","tags":[],"nodes":[{"id":"3e73c364-46f3-4c9f-8a63-a1f60ee491f9","name":"Structured Output Parser1","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[3456,608],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"subject\": {\n      \"type\": \"string\",\n      \"description\": \"the email subject\"\n    },\n    \"content\": {\n      \"type\": \"string\",\n      \"description\": \"the newsletter content\"\n    }\n  },\n  \"required\": [\"subject\", \"content\"]\n}"},"typeVersion":1.3},{"id":"ba883af4-bb38-452b-94e8-1970cf1a1ead","name":"Convert Newsletter to HTML (AI)","type":"@n8n/n8n-nodes-langchain.agent","position":[3312,400],"parameters":{"text":"=\nData: {{ $('Aggregate').item.json.output[2].output }}\n","options":{"systemMessage":"=You are an expert newsletter editor and visual designer.\nGenerate email-ready HTML body that maintains a consistent professional layout, while adapting only the text colors according to the provided brand color theme.\n\n🎯 Objectives\n\nRefine clarity, coherence, and tone across all sections.\n\nMaintain a friendly, modern, Gen Z–aligned voice that’s professional yet approachable.\n\nOnly text colors (headings, paragraphs, links, footer text) should dynamically adapt to the provided color theme.\n\nPreserve the original layout, structure, padding, and overall visual hierarchy exactly as provided.\n\nEnsure strong readability, balance, and flow.\n\nKeep total content ≤ 1000 words (hard limit). Avoid filler or redundant text.\n\nEnd every email with a friendly, brand-colored footer.\n\n🎨 Brand Text Color Adaptation Rules\n\nUse the color theme study provided by the workflow, which typically includes:\n\nVariable\tDescription\nprimary_color\tHighlight / heading color\nsecondary_color\tBody and paragraph text color\naccent_color\tLinks and buttons\nbackground_color\tOverall background tone\n\n✅ Important: Only apply these to text elements.\nDo not alter layout properties such as background, borders, padding, or container structure.\n\n🧱 Fixed Layout Template\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<body style=\"background-color:#f9f9f9; padding:30px; font-family:'Helvetica Neue', Arial, sans-serif;\">\n  <div style=\"max-width:720px; margin:auto; background:#ffffff; padding:35px 40px; border-radius:16px; line-height:1.7; color:{{ $('Aggregate').item.json.output[1].output.secondary_color }}; box-shadow:0 4px 12px rgba(0,0,0,0.05);\">\n\n    <div style=\"text-align:center;\">\n      <img src=\"{{ $('Aggregate').item.json.output[0].output.Logo }}\" alt=\"Company Logo\" width=\"120\" />\n    </div>\n\n    <h1 style=\"font-size:26px; color:{{ $('Aggregate').item.json.output[1].output.primary_color }}; margin-bottom:20px; text-align:center; font-weight:700;\">\n      {{ $('On form submission').item.json['Brand Name'] }} Newsletter ✨\n    </h1>\n    <div style=\"margin:16px 0 20px 0; text-align:center;\">\n  <a href=\"{{ $('Aggregate').item.json.output[3]['You Tube Video Link'] }}\" target=\"_blank\">\n    <img \n      src=\"{{ $('Aggregate').item.json.output[3].Thumbnail }}\" \n      alt=\"Watch on YouTube\" \n      style=\"width:100%; max-width:640px; border-radius:12px; display:block;\"\n    />\n  </a>\n</div>\n    <p> Hi {{ $json.Name }}, </p>\n    \n    <!-- Dynamic merged content goes here -->\n    \n    <p style=\"font-size:14px; color:{{ $('Aggregate').item.json.output[1].output.secondary_color }}; text-align:center; margin-top:35px; border-top:1px solid #eee; padding-top:15px;\">\n      © {{ $now.format('yyyy') }} <span style=\"color:{{ $('Aggregate').item.json.output[1].output.primary_color }}; font-weight:bold;\">{{ $('On form submission').item.json['Brand Name'] }}</span> | Built with 💚 for our community <br>\n      <span style=\"font-size:12px; color:{{ $('Aggregate').item.json.output[1].output.accent_color }};\">Stay curious. Stay creative. 🚀</span>\n    </p>\n  </div>\n</body>\n\n🖋 Element Styling (Only Text Color Adapts)\nElement\tStyle\n<h2>\tfont-size:21px; color: {{ $('Aggregate').item.json.output[1].output.primary_color }}; margin-top:28px; margin-bottom:12px; font-weight:600;\n<h3>\tfont-size:18px; color: {{ $('Aggregate').item.json.output[1].output.secondary_color }}; margin-top:22px; margin-bottom:10px; font-weight:500;\n<p>\tfont-size:16px; margin-bottom:18px; color: {{ $('Aggregate').item.json.output[1].output.secondary_color }};\n<ul>\tmargin:18px 0 18px 25px; font-size:16px; color: {{ $('Aggregate').item.json.output[1].output.secondary_color }};\n<li>\tmargin-bottom:10px;\n<a>\tcolor: {{ $('Aggregate').item.json.output[1].output.accent_color }}; text-decoration:none; (hover underline optional)\n\nThe layout (margins, padding, shadows, alignment) remains static. Only text colors are dynamically injected from the color study.\n\n🧩 Content Structure\n\nIntroduction Paragraph:\nBriefly introduce the three topics and mention today’s date: {{ $now.format('yyyy-MM-dd') }}.\n\nEach Section:\n\n<h2>: Use or slightly refine the section title.\n\n<p>: Summarize clearly and engagingly.\n\nAdd verifiable citations using clickable <a href=\"https://...\">Source</a> links.\n\nSources Section:\n\n<h3>Sources:</h3>\n<ul>\n  <li><a href=\"[URL]\">[Publication Name] – [Article Title]</a></li>\n</ul>\n\n\nAlphabetize by publication name\n\nRemove duplicates\n\nConclusion:\nSummarize all three themes and end with an uplifting or call-to-action note.\n\n🔗 Citation Rules\n\nNever fabricate or alter sources.\n\nOnly use real, verifiable URLs.\n\nStandardize all sources into <a> tags.\n\nRemove duplicates.\n\n📥 Input\n\nYou will receive:\n\nThree newsletter content sections\n\nBrand color theme study (primary_color, secondary_color, accent_color, background_color)\n\nOptionally: brand_name and brand_logo_url\n\n📤 Output Format\n\nSubject line: One concise, specific subject (≤ 80 characters)\n\nBody: Fully styled HTML that applies dynamic text colors only, while preserving the fixed, professional layout and footer."},"promptType":"define","hasOutputParser":true},"typeVersion":2.2},{"id":"f4a8e7b1-004f-4912-90f7-080d21d5c9b6","name":"Sending Emails to all the Subscribers","type":"n8n-nodes-base.gmail","position":[3680,480],"webhookId":"90afe21b-4201-4de0-87d7-c89eb7e5c11a","parameters":{"sendTo":"={{ $('Loop Over Items').item.json.Email }}","message":"={{ $('Convert Newsletter to HTML (AI)').item.json.output.content }}","options":{},"subject":"={{ $('Convert Newsletter to HTML (AI)').item.json.output.subject }}"},"credentials":{"gmailOAuth2":{"id":"Nr9CJxeie122bJtH","name":"Gmail account"}},"typeVersion":2.1},{"id":"0f3bdc82-1eac-4f73-a78d-4f0a7ad93cb0","name":"On form submission","type":"n8n-nodes-base.formTrigger","position":[928,416],"webhookId":"5da34eba-2648-48f1-b133-45700a22ead0","parameters":{"options":{},"formTitle":"Newsletter","formFields":{"values":[{"fieldType":"file","fieldLabel":"Brand Logo","multipleFiles":false,"requiredField":true},{"fieldLabel":"Brand Name","requiredField":true},{"fieldLabel":"Brand Website","requiredField":true},{"fieldLabel":"You Tube Video Link","requiredField":true}]}},"typeVersion":2.3},{"id":"07a77200-990c-4db6-8281-c417994090fb","name":"HTTP Request2","type":"n8n-nodes-base.httpRequest","position":[1488,128],"parameters":{"url":"={{ $json['Brand Website'] }}","options":{}},"typeVersion":4.2},{"id":"a67fcffa-eaa3-49e5-b5a2-5fc1415d3762","name":"Merge","type":"n8n-nodes-base.merge","position":[2400,352],"parameters":{"numberInputs":4},"typeVersion":3.2},{"id":"03af34d4-125d-476a-abef-aaadb973285f","name":"Aggregate","type":"n8n-nodes-base.aggregate","position":[2624,368],"parameters":{"options":{},"aggregate":"aggregateAllItemData","destinationFieldName":"output"},"typeVersion":1},{"id":"8b6c2b24-7b82-402c-9fd5-beaa4afa6723","name":"Structured Output Parser2","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[1840,320],"parameters":{"jsonSchemaExample":"{\n\t\"primary_color\": \"\",\n\t\"secondary_color\": \"\",\n    \"accent_color\": \"\",\n    \"background_color\":\"\"\n}"},"typeVersion":1.3},{"id":"f7e10755-4e35-47fe-81e2-2b4e6a925779","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[3056,384],"parameters":{"options":{}},"executeOnce":true,"typeVersion":3},{"id":"414424e3-9640-4ac9-b2f8-e53b6f123f95","name":"Get row(s) in sheet","type":"n8n-nodes-base.googleSheets","position":[2848,368],"parameters":{"options":{},"sheetName":{"__rl":true,"mode":"list","value":358131854,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1hvB5Zif52eCLv_X7E_OifQv9OI5usn-CQ50-TsZTMQA/edit#gid=358131854","cachedResultName":"Subscribers List"},"documentId":{"__rl":true,"mode":"list","value":"1hvB5Zif52eCLv_X7E_OifQv9OI5usn-CQ50-TsZTMQA","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1hvB5Zif52eCLv_X7E_OifQv9OI5usn-CQ50-TsZTMQA/edit?usp=drivesdk","cachedResultName":"Newsletter Emails"}},"credentials":{"googleSheetsOAuth2Api":{"id":"mAQcaPLUUl8WFD1j","name":"Google Sheets account"}},"typeVersion":4.7},{"id":"c42d0232-6dcf-4a01-88cd-4b8bba157f1e","name":"AI Agent1","type":"@n8n/n8n-nodes-langchain.agent","position":[1680,128],"parameters":{"text":"={{ $json.data }}","options":{"systemMessage":"analyze the website html data and then provide me the colour code this website is following like the theme of this website and output the result providing\nprimary_color – brand’s accent or highlight color\n\nsecondary_color – neutral contrast or typography color\n\naccent_color – supporting tone for buttons or links\n\nbackground_color – overall email background tone"},"promptType":"define","hasOutputParser":true},"typeVersion":2.2},{"id":"0059f930-9451-4e7b-99b0-fc90f2766a16","name":"Code in JavaScript","type":"n8n-nodes-base.code","position":[1536,576],"parameters":{"jsCode":"// Get input data (first item in n8n input)\nconst items = $input.item.json.data;\n\n// Combine all \"text\" fields into one string\nlet combined = items\n  .map(chunk => chunk.text || \"\") // safely get text\n  .join(\" \")                      // join with spaces\n  .trim();\n\n// Return as a single item\nreturn [{\n  json: {\n    combinedText: combined\n  }\n}];\n"},"typeVersion":2},{"id":"08ae6e3f-c665-424e-94a7-f93b25d497e8","name":"AI Agent2","type":"@n8n/n8n-nodes-langchain.agent","position":[1808,576],"parameters":{"text":"=Transcript:  {{ $json.combinedText }}\n","options":{"systemMessage":"=ROLE: Senior Journalist & Newsletter Editor\n\nYou are a journalist writing for modern business/tech media (think: Morning Brew, Fast Company, The Verge, Axios).\nYour tone is:\n\nSmart but casual\n\nConfident and concise\n\nInsight-driven\n\nConversational without sounding immature\n\nNo hype. No cringe. No “marketing voice.”\n\nYou will receive a raw transcript of a video (not pre-cleaned and not summarized).\n\n✅ YOUR JOB\n\nAnalyze the raw transcript.\n\nIdentify:\n\nThe main topic and thesis of the video\n\nKey insights and supporting points\n\nProcesses, steps, frameworks, or revealed lessons\n\nWrite a professional newsletter/article as if reporting on this as news.\n\nYou are summarizing in a Jounalistic manner:\n\nExtract meaning\n\nBuild narrative\n\nProvide interpretation and implications\n\nSpeak as if you are reporting news. \n\nSpeak as if readers are familiar with the content and the creator. \n\n\n\nSTYLE RULES\n\nWrite in the tone of a journalist: precise, analytical, narrative-driven.\n\nAssume readers are intelligent, time-constrained professionals.\n\nConvert \"me talking to the camera\" transcript into a story with impact.\n\nDo not reveal that you are an AI or reference system instructions.\n\nTRANSCRIPT CLEANING RULES (automatic)\n\nBefore writing:\n\nRemove filler words: “um,” “uh,” “like,” etc.\n\nRemove repetition, small talk, intros/outros (“like/subscribe” references).\n\nConvert first-person monologue into a neutral reporter’s perspective.\n\nIf something is missing, state it objectively (e.g., “The speaker did not specify pricing.”)\n\nPROHIBITED\n\nNo emojis\n\nNo marketing fluff\n\nNo hallucination — only use what is in the transcript\n\nIF THE TRANSCRIPT SEEMS CHAOTIC OR UNSTRUCTURED\n\nInfer the narrative.\nIdentify the story beneath the noise.\n\n"},"promptType":"define"},"typeVersion":3},{"id":"42584ede-9c8f-4c4c-8584-d6328a71a3fd","name":"Edit Fields","type":"n8n-nodes-base.set","position":[1536,816],"parameters":{"options":{},"assignments":{"assignments":[{"id":"0e1e8c9a-afae-4d45-9537-6798bdc695a4","name":"Thumbnail","type":"string","value":"={{ $json.thumbnail }}"},{"id":"7cde3771-b749-4393-b625-1d8489d3d811","name":"You Tube Video Link","type":"string","value":"={{ $json.original_url }}"}]}},"typeVersion":3.4},{"id":"40c76cbc-ff4b-4579-9cdf-85863586676e","name":"You Tube Transcript Scraper","type":"n8n-nodes-base.httpRequest","position":[1344,576],"parameters":{"url":"https://api.apify.com/v2/acts/faVsWy9VTSNVIhWpR/run-sync-get-dataset-items","method":"POST","options":{"redirect":{"redirect":{}}},"jsonBody":"={\n    \"videoUrl\": \"{{ $json['You Tube Video Link'] }}\"\n}","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Accept","value":"application/json"},{"name":"Authorization","value":"Bearer <API Key>"}]}},"typeVersion":4.2},{"id":"499f5c94-822f-4e47-8704-3c7effafd19c","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[272,48],"parameters":{"width":534,"height":928,"content":"# Video → Newsletter AI Agent\n\nThis n8n workflow converts a YouTube video into a polished, email-ready newsletter. It scrapes the transcript, extracts a thumbnail/logo and brand color theme, uses multiple AI agents to (1) clean & summarize the transcript into three newsletter sections, (2) convert that content into a styled HTML newsletter (color-aware), then saves the draft to Google Sheets and sends the email to subscribers via Gmail. The flow is optimized for batch sending and brand-consistent HTML output.\n\n## How it works (step-by-step)\n1. **Trigger** — `On form submission` accepts Brand Name, Brand Website, and YouTube video link.  \n2. **Site scrape & colour study** — HTTP requests + `Information Extractor` → AI agent derives brand color theme (primary/secondary/accent/background).  \n3. **Transcript retrieval** — Two YouTube transcript scrapers (Apify acts) fetch the video transcript and thumbnail; a small `Code` node merges transcript chunks.  \n4. **Summarization & journalism** — `AI Agent2` (LangChain/Gemini) cleans the transcript, extracts thesis + key points, and writes 3 newsletter sections in a journalistic tone.  \n5. **HTML conversion** — `Convert Newsletter to HTML (AI)` agent applies the fixed layout and injects only text color variables (keeps layout intact) and outputs Subject + HTML body (≤1000 words).  \n6. **Aggregate & merge** — `Merge` + `Aggregate` assemble files, assets, and parsed outputs.  \n7. **Save & send** — Save the email draft to Google Sheets (`Save Newsletter Draft in Google Sheet`) and loop through subscribers from a subscribers sheet; `Sending Emails to all the Subscribers` (Gmail node) sends the HTML to each address in batches.  \n8. **Batching & looping** — `Split In Batches` handles large subscriber lists; `Loop Over Items` triggers the HTML-conversion per recipient batch.\n\n## Quick Setup Guide\n👉 [Demo & Setup Video](https://drive.google.com/file/d/1bOfkyDY-Y06pq9ojZzLaGy5Xuvp9LdH7/view?usp=sharing)\n👉 [Sheet Template](https://docs.google.com/spreadsheets/d/1hvB5Zif52eCLv_X7E_OifQv9OI5usn-CQ50-TsZTMQA/edit?usp=sharing)\n👉 [Course](https://www.udemy.com/course/n8n-automation-mastery-build-ai-powered-enterprise-ready/?referralCode=2EAE71591D3BEB80F2CC)\n"},"typeVersion":1},{"id":"9dcde39b-9e42-4783-a293-a7b64783b214","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[832,256],"parameters":{"color":6,"width":294,"height":384,"content":"## Workflow Input (Form Trigger)\nThis section collects the required inputs from the user through a form submission."},"typeVersion":1},{"id":"5bccab58-f443-47d7-994a-d303978c7d5e","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1152,-160],"parameters":{"color":6,"width":1190,"height":608,"content":"## Extract Brand Style & Colors\nThis block analyzes the provided brand website to determine the brand’s visual identity."},"typeVersion":1},{"id":"287201ba-2b24-40ed-967c-b1f70d8536be","name":"You Tube Thumbnail Scraper","type":"n8n-nodes-base.httpRequest","position":[1344,816],"parameters":{"url":"https://api.apify.com/v2/acts/gLdh4fh3Q9Rqcmqdf/run-sync-get-dataset-items","method":"POST","options":{"redirect":{"redirect":{}}},"jsonBody":"={\n    \"video_urls\": [\n        {\n            \"url\": \"{{ $json['You Tube Video Link'] }}\"\n        }\n    ]\n} ","sendBody":true,"sendHeaders":true,"specifyBody":"json","headerParameters":{"parameters":[{"name":"Accept","value":"application/json"},{"name":"Authorization","value":"Bearer <API Key>"}]}},"typeVersion":4.2},{"id":"ecd1c08a-7936-470b-a383-5c46cd26c5a4","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1152,464],"parameters":{"color":6,"width":1190,"height":544,"content":"## Fetch YouTube Transcript\nThis section retrieves the transcript and thumbnail from the YouTube video."},"typeVersion":1},{"id":"9b457210-34aa-4936-ab2b-ec8a27b58f05","name":"Sticky Note4","type":"n8n-nodes-base.stickyNote","position":[2368,208],"parameters":{"color":6,"width":1478,"height":592,"content":"## AI Processing, HTML Generation & Email Delivery\nThis section handles the core content generation and delivery of the newsletter."},"typeVersion":1},{"id":"97699901-a961-438e-b33a-b334a005a9bf","name":"Google Gemini Chat Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[1792,768],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"scf4DJDBt8eBly6x","name":"Google Gemini Api account"}},"typeVersion":1},{"id":"5f23ca4b-f0fd-441f-9304-460cde581ebe","name":"Google Gemini Chat Model1","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[3312,624],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"scf4DJDBt8eBly6x","name":"Google Gemini Api account"}},"typeVersion":1},{"id":"f3c78fce-5e7d-4cda-bd0f-9d534c1d2d3c","name":"Information Extractor","type":"@n8n/n8n-nodes-langchain.informationExtractor","position":[1664,-32],"parameters":{"text":"={{ $json.data }}","options":{},"attributes":{"attributes":[{"name":"Logo","description":"Logo Image Link"}]}},"typeVersion":1.2},{"id":"9c0f0a8a-18a0-41bc-96ca-2ff465f19d12","name":"HTTP Request5","type":"n8n-nodes-base.httpRequest","position":[1488,-32],"parameters":{"url":"={{ $json['Brand Website'] }}","options":{}},"typeVersion":4.2},{"id":"d51b5ac2-ba70-405b-8264-bb67a2e2c7db","name":"Save Newsletter Draft in Google Sheet1","type":"n8n-nodes-base.googleSheets","position":[3664,288],"parameters":{"columns":{"value":{"Email":"={{ $json.output.subject }}","Message":"={{ $json.output.content }}","Email Send At":"={{$now}}","Email Created At":"={{$now}}"},"schema":[{"id":"Email","type":"string","display":true,"required":false,"displayName":"Email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Message","type":"string","display":true,"required":false,"displayName":"Message","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Email Created At","type":"string","display":true,"required":false,"displayName":"Email Created At","defaultMatch":false,"canBeUsedToMatch":true},{"id":"Email Send At","type":"string","display":true,"required":false,"displayName":"Email Send At","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/1hvB5Zif52eCLv_X7E_OifQv9OI5usn-CQ50-TsZTMQA/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"1hvB5Zif52eCLv_X7E_OifQv9OI5usn-CQ50-TsZTMQA","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1hvB5Zif52eCLv_X7E_OifQv9OI5usn-CQ50-TsZTMQA/edit?usp=drivesdk","cachedResultName":"Newsletter Emails"}},"credentials":{"googleSheetsOAuth2Api":{"id":"mAQcaPLUUl8WFD1j","name":"Google Sheets account"}},"typeVersion":4.7}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"cf336a58-c66b-46dc-96f9-e8fc9a4ef723","connections":{"Merge":{"main":[[{"node":"Aggregate","type":"main","index":0}]]},"AI Agent1":{"main":[[{"node":"Merge","type":"main","index":1}]]},"AI Agent2":{"main":[[{"node":"Merge","type":"main","index":2}]]},"Aggregate":{"main":[[{"node":"Get row(s) in sheet","type":"main","index":0}]]},"Edit Fields":{"main":[[{"node":"Merge","type":"main","index":3}]]},"HTTP Request2":{"main":[[{"node":"AI Agent1","type":"main","index":0}]]},"HTTP Request5":{"main":[[{"node":"Information Extractor","type":"main","index":0}]]},"Loop Over Items":{"main":[[],[{"node":"Convert Newsletter to HTML (AI)","type":"main","index":0}]]},"Code in JavaScript":{"main":[[{"node":"AI Agent2","type":"main","index":0}]]},"On form submission":{"main":[[{"node":"HTTP Request2","type":"main","index":0},{"node":"You Tube Transcript Scraper","type":"main","index":0},{"node":"You Tube Thumbnail Scraper","type":"main","index":0},{"node":"HTTP Request5","type":"main","index":0}]]},"Get row(s) in sheet":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]},"Information Extractor":{"main":[[{"node":"Merge","type":"main","index":0}]]},"Google Gemini Chat Model":{"ai_languageModel":[[{"node":"AI Agent1","type":"ai_languageModel","index":0},{"node":"AI Agent2","type":"ai_languageModel","index":0},{"node":"Information Extractor","type":"ai_languageModel","index":0}]]},"Google Gemini Chat Model1":{"ai_languageModel":[[{"node":"Convert Newsletter to HTML (AI)","type":"ai_languageModel","index":0}]]},"Structured Output Parser1":{"ai_outputParser":[[{"node":"Convert Newsletter to HTML (AI)","type":"ai_outputParser","index":0}]]},"Structured Output Parser2":{"ai_outputParser":[[{"node":"AI Agent1","type":"ai_outputParser","index":0}]]},"You Tube Thumbnail Scraper":{"main":[[{"node":"Edit Fields","type":"main","index":0}]]},"You Tube Transcript Scraper":{"main":[[{"node":"Code in JavaScript","type":"main","index":0}]]},"Convert Newsletter to HTML (AI)":{"main":[[{"node":"Sending Emails to all the Subscribers","type":"main","index":0},{"node":"Save Newsletter Draft in Google Sheet1","type":"main","index":0}]]},"Sending Emails to all the Subscribers":{"main":[[{"node":"Loop Over Items","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":26,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.merge":{"count":1},"n8n-nodes-base.aggregate":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.formTrigger":{"count":1},"n8n-nodes-base.httpRequest":{"count":4},"n8n-nodes-base.googleSheets":{"count":2},"n8n-nodes-base.splitInBatches":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":3},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":2},"@n8n/n8n-nodes-langchain.informationExtractor":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":2}}},"status":"published","readyToDemo":null,"user":{"name":"Pratyush Kumar Jha","username":"pratyush","bio":"Automation consultant specialising in n8n workflows. I help teams automate operations, integrate APIs, and deploy AI-powered automations. ","verified":true,"links":["https://www.linkedin.com/in/pratyush-kumar-jha-b37a57235/"],"avatar":"https://gravatar.com/avatar/079121acb8b4fe22d234072b32960dff812a5e5d787de1a0ca16a3ba04d3b77e?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":24,"icon":"file:merge.svg","name":"n8n-nodes-base.merge","codex":{"data":{"alias":["Join","Concatenate","Wait"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-sync-data-between-two-systems/","icon":"🏬","label":"How to synchronize data between two systems (one-way vs. two-way sync"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.merge/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Merge"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTc3XzUxOCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAgNDhDMCAyMS40OTAzIDIxLjQ5MDMgMCA0OCAwSDExMkMxMzguNTEgMCAxNjAgMjEuNDkwMyAxNjAgNDhWNTZIMTk2LjI1MkMyNDAuNDM1IDU2IDI3Ni4yNTIgOTEuODE3MiAyNzYuMjUyIDEzNlYxOTJDMjc2LjI1MiAyMTQuMDkxIDI5NC4xNjEgMjMyIDMxNi4yNTIgMjMySDM1MlYyMjRDMzUyIDE5Ny40OSAzNzMuNDkgMTc2IDQwMCAxNzZINDY0QzQ5MC41MSAxNzYgNTEyIDE5Ny40OSA1MTIgMjI0VjI4OEM1MTIgMzE0LjUxIDQ5MC41MSAzMzYgNDY0IDMzNkg0MDBDMzczLjQ5IDMzNiAzNTIgMzE0LjUxIDM1MiAyODhWMjgwSDMxNi4yNTJDMjk0LjE2MSAyODAgMjc2LjI1MiAyOTcuOTA5IDI3Ni4yNTIgMzIwVjM3NkMyNzYuMjUyIDQyMC4xODMgMjQwLjQzNSA0NTYgMTk2LjI1MiA0NTZIMTYwVjQ2NEMxNjAgNDkwLjUxIDEzOC41MSA1MTIgMTEyIDUxMkg0OEMyMS40OTAzIDUxMiAwIDQ5MC41MSAwIDQ2NFY0MDBDMCAzNzMuNDkgMjEuNDkwMyAzNTIgNDggMzUySDExMkMxMzguNTEgMzUyIDE2MCAzNzMuNDkgMTYwIDQwMFY0MDhIMTk2LjI1MkMyMTMuOTI1IDQwOCAyMjguMjUyIDM5My42NzMgMjI4LjI1MiAzNzZWMzIwQzIyOC4yNTIgMjk0Ljc4NCAyMzguODU5IDI3Mi4wNDQgMjU1Ljg1MyAyNTZDMjM4Ljg1OSAyMzkuOTU2IDIyOC4yNTIgMjE3LjIxNiAyMjguMjUyIDE5MlYxMzZDMjI4LjI1MiAxMTguMzI3IDIxMy45MjUgMTA0IDE5Ni4yNTIgMTA0SDE2MFYxMTJDMTYwIDEzOC41MSAxMzguNTEgMTYwIDExMiAxNjBINDhDMjEuNDkwMyAxNjAgMCAxMzguNTEgMCAxMTJWNDhaTTEwNCA0OEMxMDguNDE4IDQ4IDExMiA1MS41ODE3IDExMiA1NlYxMDRDMTEyIDEwOC40MTggMTA4LjQxOCAxMTIgMTA0IDExMkg1NkM1MS41ODE3IDExMiA0OCAxMDguNDE4IDQ4IDEwNFY1NkM0OCA1MS41ODE3IDUxLjU4MTcgNDggNTYgNDhIMTA0Wk00NTYgMjI0QzQ2MC40MTggMjI0IDQ2NCAyMjcuNTgyIDQ2NCAyMzJWMjgwQzQ2NCAyODQuNDE4IDQ2MC40MTggMjg4IDQ1NiAyODhINDA4QzQwMy41ODIgMjg4IDQwMCAyODQuNDE4IDQwMCAyODBWMjMyQzQwMCAyMjcuNTgyIDQwMy41ODIgMjI0IDQwOCAyMjRINDU2Wk0xMTIgNDA4QzExMiA0MDMuNTgyIDEwOC40MTggNDAwIDEwNCA0MDBINTZDNTEuNTgxNyA0MDAgNDggNDAzLjU4MiA0OCA0MDhWNDU2QzQ4IDQ2MC40MTggNTEuNTgxNyA0NjQgNTYgNDY0SDEwNEMxMDguNDE4IDQ2NCAxMTIgNDYwLjQxOCAxMTIgNDU2VjQwOFoiIGZpbGw9IiM1NEI4QzkiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTc3XzUxOCI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Merge","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":39,"icon":"fa:sync","name":"n8n-nodes-base.splitInBatches","codex":{"data":{"alias":["Loop","Concatenate","Batch","Split","Split In Batches"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Loop Over Items","color":"#007755"},"iconData":{"icon":"sync","type":"icon"},"displayName":"Loop Over Items (Split in Batches)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"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"},{"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/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-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/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/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"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":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":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":1262,"icon":"file:google.svg","name":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatgooglegemini/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"Google Gemini Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDggNDgiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNDQuNSAyMEgyNHY4LjVoMTEuOEMzNC43IDMzLjkgMzAuMSAzNyAyNCAzN2MtNy4yIDAtMTMtNS44LTEzLTEzczUuOC0xMyAxMy0xM2MzLjEgMCA1LjkgMS4xIDguMSAyLjlsNi40LTYuNEMzNC42IDQuMSAyOS42IDIgMjQgMiAxMS44IDIgMiAxMS44IDIgMjRzOS44IDIyIDIyIDIyYzExIDAgMjEtOCAyMS0yMiAwLTEuMy0uMi0yLjctLjUtNCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNMCAzN1YxMWwxNyAxM3oiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im0wIDExIDE3IDEzIDctNi4xTDQ4IDE0VjBIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Im0wIDM3IDMwLTIzIDcuOSAxTDQ4IDB2NDhIMHoiIGNsaXAtcGF0aD0idXJsKCNiKSIvPjxwYXRoIGZpbGw9IiM0Mjg1RjQiIGQ9Ik00OCA0OCAxNyAyNGwtNC0zIDM1LTEweiIgY2xpcC1wYXRoPSJ1cmwoI2IpIi8+PC9zdmc+"},"displayName":"Google Gemini Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1273,"icon":"fa:project-diagram","name":"@n8n/n8n-nodes-langchain.informationExtractor","codex":{"data":{"alias":["NER","parse","parsing","JSON","data extraction","structured"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.information-extractor/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Chains","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"Information Extractor"},"iconData":{"icon":"project-diagram","type":"icon"},"displayName":"Information Extractor","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":33,"name":"Social Media"},{"id":51,"name":"Multimodal AI"}],"image":[]}}