{"workflow":{"id":14372,"name":"Create daily historical AI videos with Gemini, fal.ai, Telegram and YouTube","views":381,"recentViews":76,"totalViews":381,"createdAt":"2026-03-26T13:06:33.119Z","description":"## Who’s it for\nThis workflow is ideal for:\n- Content creators producing daily historical or educational videos  \n- YouTube automation enthusiasts building AI-driven channels  \n- Educators sharing engaging historical facts in short-form video format  \n- Anyone creating an automated AI video pipeline with human approval  \n\n## How it works\nThis workflow automates the full pipeline of generating and publishing historical videos:\n\n1. Triggers daily at 1 AM and initializes retry tracking (maximum 3 attempts)  \n2. Fetches historical events for the current date and selects one randomly  \n3. Uses Google Gemini to generate a cinematic text-to-video script  \n4. Sends the prompt to fal.ai (Hunyuan LoRA) to generate a short video  \n5. Polls the generation status every 30 seconds until the video is ready  \n6. Downloads the generated video and sends it to Telegram with context  \n7. Waits for manual approval via Telegram  \n8. If approved → uploads the video to YouTube and sends a confirmation message  \n9. If declined → retries with a new event (up to 3 attempts total)  \n\n## How to set up\n1. Import the workflow into n8n  \n2. Configure your Telegram credentials  \n3. Set your Telegram Chat ID using a variable or Set node (avoid hardcoding)  \n4. Configure HTTP Header Auth credentials for fal.ai (API key required)  \n5. Set up Google Gemini API credentials  \n6. Connect your YouTube account using OAuth2  \n7. (Optional) Adjust the schedule time in the trigger node  \n8. Activate the workflow  \n\n## Requirements\n- n8n (cloud or self-hosted)  \n- fal.ai account and API key (for video generation)  \n- Google Gemini API access  \n- YouTube account with upload permissions  \n- Telegram account for approval notifications  \n\n## How to customize the workflow\n- Adjust retry limits in the retry logic node  \n- Modify video parameters (resolution, frames, aspect ratio) in the fal.ai request  \n- Change the script style by editing the Gemini prompt  \n- Replace the historical events API with another content source  \n- Customize Telegram messages or approval flow  ","workflow":{"meta":{"instanceId":"984de408a5cad88d157768c66d3889d41083cb00b76637dbc690936e2e4bdbf0","templateCredsSetupCompleted":true},"nodes":[{"id":"66521938-f8bd-4a68-8159-0b5bd054f49d","name":"Check Video Generation Status","type":"n8n-nodes-base.httpRequest","position":[10704,15760],"parameters":{"url":"=https://queue.fal.run/fal-ai/hunyuan-video-lora/requests/{{ $json.request_id }}/status","options":{},"authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"credentials":{"httpHeaderAuth":{"id":"credential-id","name":"Header Auth account 2"}},"typeVersion":4.4},{"id":"98749ae7-eb3f-489b-8533-a3a2821e00b7","name":"Is Generation Complete?","type":"n8n-nodes-base.if","position":[10944,15760],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.status }}","rightValue":"=COMPLETED"}]}},"typeVersion":2.3},{"id":"e6e4f735-fe2d-46a5-8523-3733e855ddb5","name":"Wait 30 Seconds Before Retry","type":"n8n-nodes-base.wait","position":[11184,15968],"webhookId":"3d64ae5a-1fd4-496c-ba80-bf211fbd409b","parameters":{"amount":30},"typeVersion":1.1},{"id":"31420155-9de5-4138-a24a-ec18380fa01d","name":"Get Generated Video","type":"n8n-nodes-base.httpRequest","position":[11152,15744],"parameters":{"url":"=https://queue.fal.run/fal-ai/hunyuan-video-lora/requests/{{ $json.request_id }}","options":{},"authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"credentials":{"httpHeaderAuth":{"id":"credential-id","name":"Header Auth account 2"}},"typeVersion":4.4},{"id":"2631b63c-f928-422e-a9b7-39f519a66bcf","name":"Send Video for Approval","type":"n8n-nodes-base.telegram","position":[12320,15744],"webhookId":"03d3e840-6aae-4e4b-a4af-92400898694b","parameters":{"chatId":"123456789","operation":"sendVideo","additionalFields":{}},"credentials":{"telegramApi":{"id":"credential-id","name":"Telegram account 4"}},"typeVersion":1.2},{"id":"1d8fef8c-f4e0-41f6-96a4-d3b1db0ebc9d","name":"Prepare Approval Message","type":"n8n-nodes-base.code","position":[12048,15744],"parameters":{"jsCode":"// Prepare message with video info and approval buttons\nconst info = $node[\"Extract Video Metadata\"].json;\nconst maxRetries = 3;\n\nconst retryInfo = info.attemptNumber > 1 \n ? `\\n🔄 *Attempt ${info.attemptNumber}/${maxRetries}* (previous declined)`\n : '';\n\nconst caption = `🎬 *Historical Video*${retryInfo}\n\n📅 *Event:* ${info.eventDescription.substring(0, 150)}\n🗓️ *Year:* ${info.eventYear}\n\n📝 *Script:*\n${info.script.substring(0, 200)}${info.script.length > 200 ? '...' : ''}\n\n❓ *Upload to YouTube?*\n/yes - Upload this video\n/no - Try another event\n/stop - Stop workflow`;\n\nreturn { \n caption: caption,\n videoUrl: info.videoUrl,\n eventYear: info.eventYear,\n eventDescription: info.eventDescription,\n script: info.script,\n attemptNumber: info.attemptNumber\n};"},"typeVersion":2},{"id":"4727dcd0-5412-4aaa-b1fb-98f7e32a2e3d","name":"Wait for User Approval","type":"n8n-nodes-base.telegram","position":[12544,15744],"webhookId":"e89251c2-970d-44c5-8dbd-f06815e74f35","parameters":{"chatId":"123456789","message":"Please approve or reject this video:","options":{},"operation":"sendAndWait","approvalOptions":{"values":{"approvalType":"double"}}},"credentials":{"telegramApi":{"id":"credential-id","name":"Telegram account 4"}},"typeVersion":1.2},{"id":"fe5539e0-82a7-44ef-ac9c-3ae33b9431cb","name":"Increment Retry Counter","type":"n8n-nodes-base.code","position":[13072,16160],"parameters":{"jsCode":"const maxRetries = 3;\n\n// Get current retry count from input data\nconst current = $input.first().json.retryCount || 0;\n\n// Increment retry\nconst next = current + 1;\n\n// Check if limit reached (>= means stop when attempts exceed maxRetries)\nif (next >= maxRetries) {\n return {\n stopWorkflow: true,\n message: `⛔ Max retries (${maxRetries}) reached. Workflow stopped after ${next} attempts.`,\n retryCount: next,\n attemptNumber: next\n };\n}\n\nreturn {\n stopWorkflow: false,\n retryCount: next,\n attemptNumber: next,\n message: `🔄 Retry ${next}/${maxRetries} - selecting a new historical event`\n};"},"typeVersion":2},{"id":"85e57273-15e1-4cd8-8ffd-af1defa89bdb","name":"Upload Confirmation Message","type":"n8n-nodes-base.code","position":[13616,15728],"parameters":{"jsCode":"// Send final confirmation after successful YouTube upload\nconst uploadResult = $input.first().json;\nconst videoInfo = $node[\"Extract Video Metadata\"].json;\n\nconst message = `✅ *Video uploaded to YouTube!*\n\n📹 *Watch:* https://www.youtube.com/watch?v=${uploadResult.id}\n📅 *Event:* ${videoInfo.eventDescription.substring(0, 100)}\n🗓️ *Year:* ${videoInfo.eventYear}`;\n\nreturn { message: message };"},"typeVersion":2},{"id":"454ac1f6-1a70-4c29-9451-86fc340963a4","name":"Send Upload Confirmation","type":"n8n-nodes-base.telegram","position":[13888,15728],"webhookId":"6fb75372-a91f-4bc9-93c9-940cc17f67eb","parameters":{"text":"={{ $json.message }}","chatId":"123456789","additionalFields":{}},"credentials":{"telegramApi":{"id":"credential-id","name":"Telegram account 4"}},"typeVersion":1.2},{"id":"bb2d112d-0312-4cb5-b387-cd3883bdbf72","name":"Select Random Historical Event","type":"n8n-nodes-base.code","position":[9488,15792],"parameters":{"jsCode":"// Pick a random historical event from the fetched data\nconst data = $input.first().json.data;\nconst events = data.Events;\n\n// Random selection - each run picks a different event\nconst selectedEvent = events[Math.floor(Math.random() * events.length)];\n\n// Clean HTML entities from event description\nconst cleanText = selectedEvent.text\n .replace(/&nbsp;/g, ' ')\n .replace(/&[a-z]+;/g, ' ')\n .replace(/\\s+/g, ' ')\n .trim();\n\n// Get retry count from input if available\nconst retryData = $input.first().json;\nconst retryCount = retryData.retryCount || 0;\nconst attemptNumber = retryCount + 1;\n\nreturn {\n year: selectedEvent.year,\n description: cleanText,\n retryCount: retryCount,\n attemptNumber: attemptNumber\n};"},"typeVersion":2},{"id":"953fafa0-23f6-4baf-8027-982e3e4cd1ca","name":"Generate Cinematic Script with AI","type":"@n8n/n8n-nodes-langchain.agent","position":[9840,15792],"parameters":{"text":"=You are a professional scriptwriter specializing in cinematic historical documentaries.\n\nCreate a SHORT cinematic video script based on this historical event:\n{{ $json.description }} ({{ $json.year }})\n\nReturn ONLY a single clean paragraph (no markdown, no **bold**, no --- separators, no \"SCENE 1\" labels) that includes:\n- scene description\n- mood\n- camera movement\n- visual style\n\nMake it ready to be used directly as a Text-to-Video prompt. Keep it under 400 words.","options":{"systemMessage":"You are a professional scriptwriter specializing in cinematic historical documentaries."},"promptType":"define"},"typeVersion":3.1},{"id":"be82b1f5-aaaa-439f-a5fe-f5ae919fb584","name":"Extract Video Metadata","type":"n8n-nodes-base.code","position":[11456,15744],"parameters":{"jsCode":"// Extract video URL and metadata from fal.ai response\nconst response = $input.first().json;\nconst videoFile = response.video;\nconst eventInfo = $node[\"Select Random Historical Event\"].json;\n\nif (!videoFile || !videoFile.url) {\n throw new Error('No video URL found from fal.ai');\n}\n\nreturn {\n videoUrl: videoFile.url,\n eventYear: eventInfo.year,\n eventDescription: eventInfo.description,\n script: $node[\"Generate Cinematic Script with AI\"].json.output,\n retryCount: eventInfo.retryCount,\n attemptNumber: eventInfo.attemptNumber\n};"},"typeVersion":2},{"id":"3044c4e5-1289-42a0-8ab1-49830391df2f","name":"Download Video File","type":"n8n-nodes-base.httpRequest","position":[11712,15744],"parameters":{"url":"={{ $json.videoUrl }}","options":{"timeout":300000,"response":{"response":{"responseFormat":"file"}}}},"typeVersion":4.4},{"id":"fc353991-a943-4951-8d48-e9a5c82e5a08","name":"Upload to YouTube","type":"n8n-nodes-base.youTube","position":[13280,15728],"parameters":{"title":"={{ $node['Extract Video Metadata'].json.eventDescription.substring(0, 100) }} ({{ $node['Extract Video Metadata'].json.eventYear }})","options":{},"resource":"video","operation":"upload","regionCode":"US"},"credentials":{"youTubeOAuth2Api":{"id":"credential-id","name":"YouTube account"}},"typeVersion":1},{"id":"3f79dcb7-887b-495d-abba-f7501fb35a09","name":"Check User Approval","type":"n8n-nodes-base.if","position":[12848,15744],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"8ef3580a-a5ce-43e5-962e-7a5e3c7e79f9","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.data.approved }}","rightValue":"=true"}]}},"typeVersion":2.2},{"id":"92259068-c1d3-4370-bbfe-35a7edd2ffcc","name":"Initialize Workflow State","type":"n8n-nodes-base.code","position":[8256,15760],"parameters":{"jsCode":"// Initialize workflow state for retry tracking\n// Using a robust approach that passes data through the flow\n\n// Check if we have incoming retry data\nconst input = $input.first();\nlet retryCount = 0;\n\nif (input && input.json) {\n // If this is a retry, preserve the retry count\n if (input.json.retryCount !== undefined) {\n retryCount = input.json.retryCount;\n }\n}\n\n// For fresh starts, retryCount remains 0\nreturn {\n retryCount: retryCount,\n attemptNumber: retryCount + 1,\n stopWorkflow: false,\n initialized: true,\n message: retryCount > 0 ? `Continuing with retry attempt ${retryCount + 1}` : \"Workflow initialized\"\n};"},"typeVersion":2},{"id":"7c5cc181-aabf-4bd6-9957-8f3b90fb8837","name":"Fetch Historical Events","type":"n8n-nodes-base.httpRequest","position":[9232,15792],"parameters":{"url":"=https://history.muffinlabs.com/date/{{ new Date().getMonth() + 1 }}/{{ new Date().getDate() }}","options":{"timeout":30000}},"typeVersion":4.4},{"id":"b1198fbb-f109-46da-8dfe-50c1fd5387bf","name":"Send Stop Message","type":"n8n-nodes-base.telegram","position":[8800,15632],"webhookId":"d7c6b4c8-bbb6-4e60-8246-de0bb3d97d71","parameters":{"text":"={{ $json.message }}","chatId":"123456789","additionalFields":{}},"credentials":{"telegramApi":{"id":"credential-id","name":"Telegram account 4"}},"typeVersion":1.2},{"id":"7c5d8f43-1341-4bc6-8f78-b60b14d341eb","name":"Check Retry Limit","type":"n8n-nodes-base.if","position":[8608,15760],"parameters":{"options":{},"conditions":{"options":{"version":3,"leftValue":"","caseSensitive":true,"typeValidation":"loose"},"combinator":"and","conditions":[{"id":"fa22adc5-4304-4cd7-a4c6-92abfd39d62f","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.stopWorkflow }}","rightValue":"=true"}]},"looseTypeValidation":true},"typeVersion":2.3},{"id":"ba210861-ef8d-4365-b479-3a3264f231ca","name":"Schedule (Daily at 1 AM)","type":"n8n-nodes-base.scheduleTrigger","position":[8000,15760],"parameters":{"rule":{"interval":[{"triggerAtHour":1}]}},"typeVersion":1.3},{"id":"09a713ae-dc16-42c6-b974-d59f870b3dbf","name":"Gemini Language Model","type":"@n8n/n8n-nodes-langchain.lmChatGoogleGemini","position":[9808,16032],"parameters":{"options":{}},"credentials":{"googlePalmApi":{"id":"credential-id","name":"Google Gemini(PaLM) Api account"}},"typeVersion":1},{"id":"c76633c3-8d4f-4cea-a75b-c9f529ad2e0f","name":"Submit to fal.ai","type":"n8n-nodes-base.httpRequest","position":[10336,15792],"parameters":{"url":"https://queue.fal.run/fal-ai/hunyuan-video-lora","method":"POST","options":{},"jsonBody":"={\"prompt\": \"{{ $json.output.replace(/\\\"/g, '\\\\\"') }}\", \"aspect_ratio\": \"16:9\", \"resolution\": \"720p\", \"num_frames\": 129, \"enable_safety_checker\": true}","sendBody":true,"specifyBody":"json","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth"},"credentials":{"httpHeaderAuth":{"id":"credential-id","name":"Header Auth account 2"}},"typeVersion":4.4},{"id":"2527fde4-db08-4cf1-b49c-c461bf75ef31","name":"Event Selection","type":"n8n-nodes-base.stickyNote","width":380,"height":120,"position":[9152,15648],"parameters":{"color":6,"width":1056,"height":544,"content":"**Fetch and process historical event**\nRetrieves daily history and generates a cinematic script via AI."},"typeVersion":1},{"id":"3bd98221-d891-4beb-83cd-6a02c67887cd","name":"Video Generation","type":"n8n-nodes-base.stickyNote","width":420,"height":140,"position":[10288,15648],"parameters":{"color":5,"width":1600,"height":544,"content":"**Generate and download AI video **\nSubmits script to fal.ai and monitors generation progress."},"typeVersion":1},{"id":"bc215578-d34b-406c-b6db-fd1624bbb956","name":"User Approval","type":"n8n-nodes-base.stickyNote","width":420,"height":160,"position":[11968,15584],"parameters":{"width":1024,"height":384,"content":"**Retrieve and prepare video file**\n\nFetches the final file and extracts metadata for the approval message."},"typeVersion":1},{"id":"cb1cb366-7f61-4aaa-8a2a-f9e69e635f28","name":"Retry on Decline","type":"n8n-nodes-base.stickyNote","width":320,"height":120,"position":[13008,15984],"parameters":{"width":384,"height":368,"content":"**Retry Handling on Decline**\n\nIncrements retry counter (max 3) and loops back to select a new event."},"typeVersion":1},{"id":"90021626-a94a-4f79-9698-7074162ec719","name":"YouTube Upload","type":"n8n-nodes-base.stickyNote","width":400,"height":140,"position":[13232,15584],"parameters":{"color":4,"width":832,"height":336,"content":"**YouTube Upload & Confirmation**\n\nUploads approved video to YouTube and sends final confirmation with link via Telegram."},"typeVersion":1},{"id":"6e8d4318-c6f4-475d-9fb8-feed182b8410","name":"Daily Schedule & Init","type":"n8n-nodes-base.stickyNote","width":520,"height":140,"position":[7920,15600],"parameters":{"color":4,"width":1168,"height":416,"content":"**Schedule and state initialization**\nHandles the daily trigger, retry logic, and workflow termination."},"typeVersion":1},{"id":"ecd4c7ed-5cbe-4616-8048-199368391481","name":"Main Workflow Overview","type":"n8n-nodes-base.stickyNote","style":{"fontSize":14,"borderColor":"#F4D03F","backgroundColor":"#FFF8C4"},"width":820,"height":320,"position":[7072,15440],"parameters":{"width":688,"height":1200,"content":"## Generate AI historical videos and upload to YouTube with Telegram approval\n\n## Who’s it for\nThis workflow is ideal for:\n- Content creators producing daily historical or educational videos  \n- YouTube automation enthusiasts building AI-driven channels  \n- Educators sharing engaging historical facts in short-form video format  \n- Anyone creating an automated AI video pipeline with human approval  \n\n## How it works\nThis workflow automates the full pipeline of generating and publishing historical videos:\n\n1. Triggers daily at 1 AM and initializes retry tracking (maximum 3 attempts)  \n2. Fetches historical events for the current date and selects one randomly  \n3. Uses Google Gemini to generate a cinematic text-to-video script  \n4. Sends the prompt to fal.ai (Hunyuan LoRA) to generate a short video  \n5. Polls the generation status every 30 seconds until the video is ready  \n6. Downloads the generated video and sends it to Telegram with context  \n7. Waits for manual approval via Telegram  \n8. If approved → uploads the video to YouTube and sends a confirmation message  \n9. If declined → retries with a new event (up to 3 attempts total)  \n\n## How to set up\n1. Import the workflow into n8n  \n2. Configure your Telegram credentials  \n3. Set your Telegram Chat ID using a variable or Set node (avoid hardcoding)  \n4. Configure HTTP Header Auth credentials for fal.ai (API key required)  \n5. Set up Google Gemini API credentials  \n6. Connect your YouTube account using OAuth2  \n7. (Optional) Adjust the schedule time in the trigger node  \n8. Activate the workflow  \n\n## Requirements\n- n8n (cloud or self-hosted)  \n- fal.ai account and API key (for video generation)  \n- Google Gemini API access  \n- YouTube account with upload permissions  \n- Telegram account for approval notifications  \n\n## How to customize the workflow\n- Adjust retry limits in the retry logic node  \n- Modify video parameters (resolution, frames, aspect ratio) in the fal.ai request  \n- Change the script style by editing the Gemini prompt  \n- Replace the historical events API with another content source  \n- Customize Telegram messages or approval flow  "},"typeVersion":1}],"pinData":{},"connections":{"Submit to fal.ai":{"main":[[{"node":"Check Video Generation Status","type":"main","index":0}]]},"Check Retry Limit":{"main":[[{"node":"Send Stop Message","type":"main","index":0}],[{"node":"Fetch Historical Events","type":"main","index":0}]]},"Upload to YouTube":{"main":[[{"node":"Upload Confirmation Message","type":"main","index":0}]]},"Check User Approval":{"main":[[{"node":"Upload to YouTube","type":"main","index":0}],[{"node":"Increment Retry Counter","type":"main","index":0}]]},"Download Video File":{"main":[[{"node":"Prepare Approval Message","type":"main","index":0}]]},"Get Generated Video":{"main":[[{"node":"Extract Video Metadata","type":"main","index":0}]]},"Gemini Language Model":{"ai_languageModel":[[{"node":"Generate Cinematic Script with AI","type":"ai_languageModel","index":0}]]},"Extract Video Metadata":{"main":[[{"node":"Download Video File","type":"main","index":0}]]},"Wait for User Approval":{"main":[[{"node":"Check User Approval","type":"main","index":0}]]},"Fetch Historical Events":{"main":[[{"node":"Select Random Historical Event","type":"main","index":0}]]},"Increment Retry Counter":{"main":[[{"node":"Check Retry Limit","type":"main","index":0}]]},"Is Generation Complete?":{"main":[[{"node":"Get Generated Video","type":"main","index":0}],[{"node":"Wait 30 Seconds Before Retry","type":"main","index":0}]]},"Send Video for Approval":{"main":[[{"node":"Wait for User Approval","type":"main","index":0}]]},"Prepare Approval Message":{"main":[[{"node":"Send Video for Approval","type":"main","index":0}]]},"Schedule (Daily at 1 AM)":{"main":[[{"node":"Initialize Workflow State","type":"main","index":0}]]},"Initialize Workflow State":{"main":[[{"node":"Check Retry Limit","type":"main","index":0}]]},"Upload Confirmation Message":{"main":[[{"node":"Send Upload Confirmation","type":"main","index":0}]]},"Wait 30 Seconds Before Retry":{"main":[[{"node":"Check Video Generation Status","type":"main","index":0}]]},"Check Video Generation Status":{"main":[[{"node":"Is Generation Complete?","type":"main","index":0}]]},"Select Random Historical Event":{"main":[[{"node":"Generate Cinematic Script with AI","type":"main","index":0}]]},"Generate Cinematic Script with AI":{"main":[[{"node":"Submit to fal.ai","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":30,"nodeTypes":{"n8n-nodes-base.if":{"count":3},"n8n-nodes-base.code":{"count":6},"n8n-nodes-base.wait":{"count":1},"n8n-nodes-base.youTube":{"count":1},"n8n-nodes-base.telegram":{"count":4},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.httpRequest":{"count":5},"@n8n/n8n-nodes-langchain.agent":{"count":1},"n8n-nodes-base.scheduleTrigger":{"count":1},"@n8n/n8n-nodes-langchain.lmChatGoogleGemini":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Natnail Getachew","username":"itan","bio":"I’m a developer and tech enthusiast currently exploring the power of n8n for workflow automation. I enjoy building web and mobile applications, experimenting with new tools, and connecting APIs to create smart solutions for daily tasks. Still learning the ropes of n8n, I’m excited to automate social media publishing, integrate AI, and streamline processes with low-code tools. Looking forward to collaborating, sharing, and discovering creative ways to boost productivity!","verified":true,"links":["https://natnailgetachew.vercel.app/"],"avatar":"https://gravatar.com/avatar/75a025131d44c52f91acb9e34662d19f16c22f4a13c524a753945292dba92f5f?r=pg&d=retro&size=200"},"nodes":[{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":49,"icon":"file:telegram.svg","name":"n8n-nodes-base.telegram","codex":{"data":{"alias":["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/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"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/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"},{"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/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/creating-telegram-bots-with-n8n-a-no-code-platform/","icon":"💬","label":"Creating Telegram Bots with n8n, a No-Code Platform"},{"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.telegram/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/telegram/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Telegram"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgNjYgNjYiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzM3YWVlMiIgZD0iTTAgMzJjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMlM0OS42NzMgMCAzMiAwIDAgMTQuMzI3IDAgMzIiLz48cGF0aCBmaWxsPSIjYzhkYWVhIiBkPSJtMjEuNjYxIDM0LjMzOCAzLjc5NyAxMC41MDhzLjQ3NS45ODMuOTgzLjk4MyA4LjA2OC03Ljg2NCA4LjA2OC03Ljg2NGw4LjQwNy0xNi4yMzctMjEuMTE5IDkuODk4eiIvPjxwYXRoIGZpbGw9IiNhOWM2ZDgiIGQ9Im0yNi42OTUgMzcuMDM0LS43MjkgNy43NDZzLS4zMDUgMi4zNzMgMi4wNjggMGw0LjY0NC00LjIwMyIvPjxwYXRoIGQ9Im0yMS43MyAzNC43MTItNy44MDktMi41NDVzLS45MzItLjM3OC0uNjMzLTEuMjM3Yy4wNjItLjE3Ny4xODYtLjMyOC41NTktLjU4OCAxLjczMS0xLjIwNiAzMi4wMjgtMTIuMDk2IDMyLjAyOC0xMi4wOTZzLjg1Ni0uMjg4IDEuMzYxLS4wOTdjLjIzMS4wODguMzc4LjE4Ny41MDMuNTQ4LjA0NS4xMzIuMDcxLjQxMS4wNjguNjg5LS4wMDMuMjAxLS4wMjcuMzg2LS4wNDUuNjc4LS4xODQgMi45NzgtNS43MDYgMjUuMTk4LTUuNzA2IDI1LjE5OHMtLjMzIDEuMy0xLjUxNCAxLjM0NWMtLjQzMi4wMTYtLjk1Ni0uMDcxLTEuNTgyLS42MS0yLjMyMy0xLjk5OC0xMC4zNTItNy4zOTQtMTIuMTI2LTguNThhLjM0LjM0IDAgMCAxLS4xNDYtLjIzOWMtLjAyNS0uMTI1LjEwOC0uMjguMTA4LS4yOHMxMy45OC0xMi40MjcgMTQuMzUyLTEzLjczMWMuMDI5LS4xMDEtLjA3OS0uMTUxLS4yMjYtLjEwNy0uOTI5LjM0Mi0xNy4wMjUgMTAuNTA2LTE4LjgwMSAxMS42MjktLjEwNC4wNjYtLjM5NS4wMjMtLjM5NS4wMjMiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Telegram","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":357,"icon":"file:youTube.png","name":"n8n-nodes-base.youTube","codex":{"data":{"resources":{"generic":[{"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.youtube/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Marketing"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"YouTube"},"iconData":{"type":"file","fileBuffer":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAewQAAHsEBw2lUUwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOLSURBVHic7ZrNSltBFMf/kdAmtiER/CQUXBVqIC5aaBH0CVqQgkv1FQpdxPYJ3JQiheo2a7d5AoOUSt0IEZcuWhK1ojbfJeR0MQRFc5oz00kT2/ODIbnkMHPmd+/k3rkzAQIIyg0Gep1Av6JiGFQMg4phUDEMKoZBxTCoGAYVw6BiGFQMg4phUDEMKoZBxTCoGIag9xpjMSASAe7dMyUWM5/hMBCNXsYFAua333F+DtCV92gXF0C1CpTL5rdy2ZRi0Rx7xF3M0BCwsAA8eQIkEsCDB8DYGHDnjsf0LPj5EygUgK9fgVwO+PIF2NwEzs7c6iNzTuQlECB6+5aoUqG+p1IhSqVMzpb9tBezvt7r7tqzsdFlMfPzve6iOy9fWomxuyu9fu02XvuBV6+swgPi5ZNIxNwVAgGXtHoPkbkL/vghCpdfMcnk7ZUCmNwTCXG4XMz0tEs6/UUyKQ6Vi3n0yCWV/mJqShwqFzMx4ZJKexoNIJv1V5+U8XFxqFzMyIhLKu1pNIC5OeDFC+Dw0F+9nRgdFYfKxQwPu6TyezIZc3mvrAClkv/6r2NzcsUPPfm8v4etavVm/fE4UTpN1Gz6a+c6+XwXHvAGBx1OkQXfvgHLy8CzZ8Dnz91pIxwWh8rF3L3rkoo9OzvAzAywtAQcHfmt26YP4hm1z0u83VBqV2IxotVVolrNT7vNpnimLRMTCvlJrIVUTKs8fEiUyfhpOxTqwiTyf+JWDKV63U+73ocS4G+cE3UWMzBAtLhIVCj4a1PS7pUif+dbr/+dO9PTp8Damvn0Tb0uDpX/x1QqLqnIiceBdBr49Kk7UgCzwiBELub01CWVzoTDQCoFHByYZ5duvvP5/l0cKh9KFpWKef4c+PABmJz0X3c7Tk7EoXIxFpV2bjUIbG0Bs7P+6pRwfCwOlQ+lQsEllfYEg39fCmA1xZCLyeVcUukvLPogF7O355JKf2HRB10+YZBfMcUisL3tmlbvyWbFUgDb/THv39um0z+8e2cXbzX9B27nov7Hj3Z9tJpEXp1pp1JE5XKvu9uZSoXozRunbSDyP9/rtDYOPX5slj7jcbNuEwo5VffH1GqXG4f294Hd3T/aOOQuhiMaBe7fN9vLIpHLY59bzUol871YNFvNWsce8S/mH0FfbTKoGAYVw6BiGFQMg4phUDEMKoZBxTCoGAYVw6BiGFQMg4phUDEMKobhF0xEbb6Jqe94AAAAAElFTkSuQmCC"},"displayName":"YouTube","typeVersion":1,"nodeCategories":[{"id":27,"name":"Marketing"}]},{"id":514,"icon":"fa:pause-circle","name":"n8n-nodes-base.wait","codex":{"data":{"alias":["pause","sleep","delay","timeout"],"resources":{"generic":[{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Flow"]}}},"group":"[\"organization\"]","defaults":{"name":"Wait","color":"#804050"},"iconData":{"icon":"pause-circle","type":"icon"},"displayName":"Wait","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":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":839,"icon":"fa:clock","name":"n8n-nodes-base.scheduleTrigger","codex":{"data":{"alias":["Time","Scheduler","Polling","Cron","Interval"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\",\"schedule\"]","defaults":{"name":"Schedule Trigger","color":"#31C49F"},"iconData":{"icon":"clock","type":"icon"},"displayName":"Schedule Trigger","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":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"}]}],"categories":[{"id":31,"name":"Content Creation"},{"id":51,"name":"Multimodal AI"}],"image":[]}}