AutomationFlowsAI & RAG › Create AI News Video Content Ideas for Social Media with Perplexity & Openai

Create AI News Video Content Ideas for Social Media with Perplexity & Openai

ByGain FLow AI @gain-flow on n8n.io

This workflow automates the daily generation of viral short-form video content ideas tailored for founders and business leaders. It scrapes fresh AI-related news and trends from various topics, synthesizes the information, and then uses AI to craft complete content…

Cron / scheduled trigger★★★★☆ complexityAI-powered18 nodesOpenAIHTTP RequestGoogle SheetsGmail
AI & RAG Trigger: Cron / scheduled Nodes: 18 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #5995 — we link there as the canonical source.

This workflow follows the Gmail → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "ba46fd37-7223-4bf4-9ee2-48d25c415f09",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        1140,
        480
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 6
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "18aac787-d988-4505-876d-72dc2c5e8056",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1780,
        500
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.1
    },
    {
      "id": "233798de-74b0-42bb-83ef-2151fbce1f8b",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1800,
        840
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "91253544-dba4-4055-ac8c-b5c0a0ac8077",
      "name": "About me",
      "type": "n8n-nodes-base.set",
      "position": [
        2100,
        500
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e1fa7dff-0850-4743-a503-85c234802478",
              "name": "Name",
              "type": "string",
              "value": "John Doe"
            },
            {
              "id": "a2452ec6-4130-4057-bd6f-26512fbc3dd9",
              "name": "Niche",
              "type": "string",
              "value": "a tech founder"
            },
            {
              "id": "89ec4977-fd00-432f-b71c-73ee2d2d89a0",
              "name": "Business Name",
              "type": "string",
              "value": "John Doe AI"
            },
            {
              "id": "2ff18a0a-45a8-45c2-9a99-0f051d294e61",
              "name": "Busines Type",
              "type": "string",
              "value": "Marketing Agency"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c152e25f-4f81-4277-a58f-c60933f2ffdd",
      "name": "Content Generation",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2260,
        500
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Your Role:\nYou are \"CreatorAI,\" an expert short-form video content strategist and scriptwriter specializing in AI.\n\nUser & Objectives:\nYour user is {{ $json.Name }}, a tech founder aiming to build authority and attract inbound interest for {{ $json['Business Name'] }}, their {{ $json['Busines Type'] }}. Content should educate, entertain, and establish {{ $json.Name }} as a thought leader, leading to client acquisition naturally.\n\n{{ $json.Name }}'s Desired Content Tone:\nExpert, Approachable & Connecting, Friendly & Conversational (like a 25-year-old peer), Concise & Smart (with dry humor), Value-Driven.\n\nInput Material:\nYou will receive relevant stories, news, or raw information under a \"[INPUT STORIES/NEWS]:\" heading (e.g., {{ $('Combine items').item.json.combinedContent }} and citations: {{ $('Combine items').item.json.combinedCitations }}). Use this for content generation.\n\nCore Task: Create Content Packages (Up to 10 per input batch)\nFor each input, generate a content package including a Video Script, Caption Text, and Text Overlay. All content must focus on tangible business benefits and solutions.\n\nUnique Angle: Identify a distinct, interesting angle or insight from the input.\n\nContent Pillars Alignment: Prioritize angles aligned with:\n\nAI news as a game-changer.\n\nAI automation solving business pain points (time, cost, efficiency).\n\nSpecific AI automation use cases/applications.\n\nAI agents/custom workflows transforming operations.\n\nFuture of work with AI.\n\nSales process automation benefits.\n\nQuick AI tool tips/productivity hacks.\n\nDebunking AI myths.\n\nBroader implications of AI for founders/professionals.\n\nReinforce: Every piece must address a business need or offer a clear, compelling advantage.\n\nOutput Requirements (Per Content Package):\n\nA. Video Script:\nStyle & Tone: First-person narration, expert sharing insights (not selling). Mention [{{ $json['Business Name'] }}] organically as a reference, not a direct pitch.\n\nEngagement: Powerful hook (first 3 seconds).\n\nMini-Narrative: Problem/event \u2192 generic AI solution/strategy \u2192 potential impact. DO NOT mention [{{ $json['Business Name'] }}] here.\n\nClarity: Single, clear takeaway. Simple language, no jargon unless clarified.\n\nShow, Don't Tell: Vivid language, concrete examples, micro-stories (struggle \u2192 AI turning point \u2192 positive outcome).\n\nHuman-Centric: Focus on impact on employees/founders.\n\nPacing & Conciseness: UNDER 700 CHARACTERS. Short, impactful sentences, natural line breaks.\n\nFormatting: NEVER use triple quotes (\"\"\").\n\nB. Caption Text:\nTone: Friendly, expert, funny, approachable.\n\nStructure: Engaging hook/question, more context/value than script.\n\nCall to Action (CTA): Clear, direct engagement. Ask for a specific keyword comment (e.g., \"Comment 'Workflow' for more\"). Add \"Follow for more.\"\n\nHashtags: 3-5 relevant, space-separated (e.g., #AIautomation #BusinessGrowth).\n\nC. Text Overlay:\nPurpose: Short, punchy core message (for thumbnail/first screen).\n\nFormat: Extremely concise (3-7 words), ALL CAPS or Title Case.\n\nContent: Intriguing hook, benefit, or core idea from video's angle.\n\nStrict Final Output Format (For EACH Package):\nAdhere precisely to this format. Do not add any extra formatting, explanations, or markdown around these lines:\n\nText Overlay: [YOUR GENERATED TEXT OVERLAY HERE]\nVideo Script: [YOUR GENERATED VIDEO SCRIPT HERE]\nCaption Text: [YOUR GENERATED CAPTION TEXT HERE]"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "15a10fc1-c346-4baf-aeb8-361ec819aa6d",
      "name": "Topic 1 (eg-AI News)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1340,
        480
      ],
      "parameters": {
        "url": "https://api.perplexity.ai/chat/completions",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"sonar-pro\",\n  \"messages\": [\n    {\n      \"role\": \"system\",\n      \"content\": \"Be precise and concise.\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \"Find me 5 new, interesting, and relevant stories and news related to artificial intelligence from today or yesterday. Label them 1 through 5\"\n    }\n  ]\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer <YOUR_API_KEY>"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "0f2cc14b-72d2-44ed-92e7-1c203caf6bc5",
      "name": "Topic 2 (eg - AI Market Trends)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1340,
        680
      ],
      "parameters": {
        "url": "https://api.perplexity.ai/chat/completions",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"sonar-pro\",\n  \"messages\": [\n    {\n      \"role\": \"system\",\n      \"content\": \"Be precise and concise.\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \"Find me 5 new, interesting, and relevant stories and news related to market and industry trends in artificial intelligence from today or yesterday. Label them 1 through 5\"\n    }\n  ]\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer <YOUR_API_KEY>"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "232d6065-7132-4e10-9b09-cee1a8238b8d",
      "name": "Topic 3 (eg- AI Business Automation)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1340,
        880
      ],
      "parameters": {
        "url": "https://api.perplexity.ai/chat/completions",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"sonar-pro\",\n  \"messages\": [\n    {\n      \"role\": \"system\",\n      \"content\": \"Be precise and concise.\"\n    },\n    {\n      \"role\": \"user\",\n      \"content\": \"Find me 5 new, interesting, and relevant stories related to automation of business using artificial intelligence from today or yesterday. Label them 1 through 5\"\n    }\n  ]\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer <YOUR_API_KEY>"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "8b31dda9-a7a6-43c4-a00f-4322a17ac110",
      "name": "Organise Content",
      "type": "n8n-nodes-base.code",
      "position": [
        1540,
        480
      ],
      "parameters": {
        "jsCode": "return items.map(item => {\n  const choice = item.json.choices?.[0];\n  const message = \n    choice?.message?.content || \"No message content found\";\n  const citations = \n    item.json?.citations || [];\n\n  return {\n    json: {\n      index: choice?.index ?? null,\n      role: choice?.message?.role ?? null,\n      finish_reason: \n        choice?.finish_reason ?? null,\n      content: message,\n      citations: citations,\n    },\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "efcb202e-4fcc-40c0-93a9-5ae6ca3ccf12",
      "name": "Organise Content1",
      "type": "n8n-nodes-base.code",
      "position": [
        1540,
        680
      ],
      "parameters": {
        "jsCode": "return items.map(item => {\n  const choice = item.json.choices?.[0];\n  const message = \n    choice?.message?.content || \"No message content found\";\n  const citations = \n    item.json?.citations || [];\n\n  return {\n    json: {\n      index: choice?.index ?? null,\n      role: choice?.message?.role ?? null,\n      finish_reason: \n        choice?.finish_reason ?? null,\n      content: message,\n      citations: citations,\n    },\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "13edb6e8-878a-4fbd-893b-747f5f020b6a",
      "name": "Organise Content2",
      "type": "n8n-nodes-base.code",
      "position": [
        1540,
        880
      ],
      "parameters": {
        "jsCode": "return items.map(item => {\n  const choice = item.json.choices?.[0];\n  const message = \n    choice?.message?.content || \"No message content found\";\n  const citations = \n    item.json?.citations || [];\n\n  return {\n    json: {\n      index: choice?.index ?? null,\n      role: choice?.message?.role ?? null,\n      finish_reason: \n        choice?.finish_reason ?? null,\n      content: message,\n      citations: citations,\n    },\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "6bbdb827-729b-437c-a1b2-751fc391999b",
      "name": "Combine items",
      "type": "n8n-nodes-base.code",
      "position": [
        1940,
        500
      ],
      "parameters": {
        "jsCode": "const combinedContent =\n  items.map(item =>\n    item.json.content).join('\\n\\n');\n\n// Flatten and dedupe citations\nconst combinedCitations = [\n  ...new Set(\n    items\n      .flatMap(item =>\n        item.json.citations || [])\n      .filter(url => typeof url ===\n        'string' && url.startsWith('http'))\n  )\n];\n\nreturn [{\n  json: {\n    combinedContent,\n    combinedCitations\n  }\n}];"
      },
      "typeVersion": 2
    },
    {
      "id": "4417ab22-ab3b-4a68-93e5-9eab2ea7509a",
      "name": "Extract Data",
      "type": "n8n-nodes-base.code",
      "position": [
        1800,
        680
      ],
      "parameters": {
        "jsCode": "const results = [];\n\nfor (const item of items) {\n  // Ensure the input item has the expected structure and content\n  if (!item.json || !item.json.message || typeof item.json.message.content !== 'string') {\n    console.warn(\"Skipping item: Invalid structure or missing AI content.\", item);\n    continue;\n  }\n\n  const aiResponse = item.json.message.content;\n\n  // Skip placeholder messages if the AI didn't generate actual content\n  if (aiResponse.includes(\"Please provide the collection of relevant stories\")) {\n    console.log(\"Skipping instruction/placeholder message from AI.\");\n    continue;\n  }\n\n  const lines = aiResponse.split('\\n');\n\n  let currentPackage = {\n    text_overlay_output: \"\",\n    video_script_output: \"\",\n    caption_text_output: \"\"\n  };\n  let currentSection = \"\"; // 'overlay', 'script', 'caption'\n\n  for (const line of lines) {\n    const trimmedLine = line.trim();\n\n    // Skip empty lines unless they are part of a multi-line content (unlikely for this format)\n    if (!trimmedLine && currentSection !== \"\") {\n      // Allow empty lines within content if needed, but for strict format, they usually indicate a break\n      // For this specific format, an empty line usually means end of a section if not followed by data\n      continue;\n    }\n\n    if (trimmedLine.startsWith(\"Text Overlay:\")) {\n      // If we've already collected data for a package, push it before starting a new one\n      if (currentPackage.text_overlay_output || currentPackage.video_script_output || currentPackage.caption_text_output) {\n        results.push({ json: { ...currentPackage } }); // Push a copy of the current package\n        currentPackage = { // Reset for the new package\n          text_overlay_output: \"\",\n          video_script_output: \"\",\n          caption_text_output: \"\"\n        };\n      }\n      currentPackage.text_overlay_output = trimmedLine.substring(\"Text Overlay:\".length).trim();\n      currentSection = \"overlay\";\n    } else if (trimmedLine.startsWith(\"Video Script:\")) {\n      currentPackage.video_script_output = trimmedLine.substring(\"Video Script:\".length).trim();\n      currentSection = \"script\";\n    } else if (trimmedLine.startsWith(\"Caption Text:\")) {\n      currentPackage.caption_text_output = trimmedLine.substring(\"Caption Text:\".length).trim();\n      currentSection = \"caption\";\n    } else {\n      // Append content to the current section if it's a continuation\n      // Add a space or newline depending on desired handling of multi-line content.\n      // Given the prompt's strict output, these are usually single lines.\n      // Let's assume continuation means adding a space or newline.\n      // For short-form content, it's safer to append with a space if it's not a new key.\n      if (currentSection === \"video_script_output\") {\n        currentPackage.video_script_output += (currentPackage.video_script_output ? \" \" : \"\") + trimmedLine;\n      } else if (currentSection === \"caption_text_output\") {\n        currentPackage.caption_text_output += (currentPackage.caption_text_output ? \"\\\\n\" : \"\") + trimmedLine; // Captions might have line breaks for hashtags etc.\n      }\n      // No need to append to text_overlay_output as it's typically a single, short line.\n    }\n  }\n\n  // After the loop, push the last collected package\n  if (currentPackage.text_overlay_output || currentPackage.video_script_output || currentPackage.caption_text_output) {\n    // Final check for triple quotes in the last script\n    if (currentPackage.video_script_output) {\n      currentPackage.video_script_output = currentPackage.video_script_output.replace(/\\\"\\\"\\\"/g, \"'''\");\n    }\n    results.push({ json: { ...currentPackage } });\n  }\n}\n\nreturn results;"
      },
      "typeVersion": 2
    },
    {
      "id": "508e2c05-b2db-4b01-a131-98b10cfff657",
      "name": "Save Data",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2120,
        860
      ],
      "parameters": {
        "columns": {
          "value": {
            "Caption": "={{ $json.caption_text_output }}",
            "Text Overlay": "={{ $json.text_overlay_output }}",
            "Video Script": "={{ $json.video_script_output }}"
          },
          "schema": [
            {
              "id": "Text Overlay",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Text Overlay",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Video Script",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Video Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Caption",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Caption",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Approval",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Approval",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Published",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Published",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 285661820,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1elN8QyRUOSISUTfTNBCMRiVfS6NtW23Kh0ZS8y2P66o/edit#gid=285661820",
          "cachedResultName": "Content Idea"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1PIb-YOYMKuVxFiGmpRgNvAMwVlG7nrG8gRiU2R1y6bk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1PIb-YOYMKuVxFiGmpRgNvAMwVlG7nrG8gRiU2R1y6bk/edit?usp=drivesdk",
          "cachedResultName": "Content "
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "4c4fb796-c957-4569-9666-a27e6a04207d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1100,
        400
      ],
      "parameters": {
        "width": 1480,
        "height": 680,
        "content": "# Content Gen"
      },
      "typeVersion": 1
    },
    {
      "id": "a19169e7-ded8-4053-9a25-3b10220ad1cf",
      "name": "Notify user",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2120,
        700
      ],
      "parameters": {
        "sendTo": "user@example.com",
        "message": "10 new articles are added in the google sheets.",
        "options": {},
        "subject": "Content Generated"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "6a7b6154-e1be-4fb2-8e61-1f4c2d2bbaef",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        740,
        400
      ],
      "parameters": {
        "width": 360,
        "height": 680,
        "content": "## 1. Resources  \n### Get your API keys by clicking on the links below.\n- ### [Perplexity](https://www.perplexity.ai/account/api/keys)\n- ### [Open AI](https://platform.openai.com/)\n### Copy this Google Sheet Template\n- ### [Template](https://docs.google.com/spreadsheets/d/1UcvTSCuKN_rXm6amblLyZ_Ogfk5tKuryYEBAlRoznpQ/edit?usp=sharing)\n## 2. Setup Guide\n- ### Add your Perplexity API key in all the topic nodes and update your niche as required.\n- ### Setup the Google Sheet and select it in the workflow.\n- ### Connect your Open AI credentials.\n- ### Update the infomation in the about me node.\n## Help\n- ### Read This [Detailed Setup Guide](https://drive.google.com/file/d/1XTDUf4iGE43d78duHkwS7fZuWieQh9un/view?usp=sharing) if need help\n- ### Reach out to us via [Email](mailto:info.gainflow@gmail.com) if need further assistance.\n- ### Find more real world use workflows by clicking [HERE](https://docs.google.com/document/d/1RACo90h-QwKA4hEZSlOQZsyw4iB5-43JM2l0s4lpuoY/edit?usp=sharing)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "5db8228f-3254-4ef0-8d42-32aa54aa2615",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1300,
        460
      ],
      "parameters": {
        "color": 3,
        "width": 180,
        "height": 600,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Combine items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "About me": {
      "main": [
        [
          {
            "node": "Content Generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Data": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Data": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine items": {
      "main": [
        [
          {
            "node": "About me",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Notify user",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Save Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Organise Content": {
      "main": [
        [
          {
            "node": "Topic 2 (eg - AI Market Trends)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Topic 1 (eg-AI News)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Organise Content1": {
      "main": [
        [
          {
            "node": "Topic 3 (eg- AI Business Automation)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Organise Content2": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Content Generation": {
      "main": [
        [
          {
            "node": "Extract Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Topic 1 (eg-AI News)": {
      "main": [
        [
          {
            "node": "Organise Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Topic 2 (eg - AI Market Trends)": {
      "main": [
        [
          {
            "node": "Organise Content1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Topic 3 (eg- AI Business Automation)": {
      "main": [
        [
          {
            "node": "Organise Content2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow automates the daily generation of viral short-form video content ideas tailored for founders and business leaders. It scrapes fresh AI-related news and trends from various topics, synthesizes the information, and then uses AI to craft complete content…

Source: https://n8n.io/workflows/5995/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Stop wasting billable hours on manual time-tracking. AutoTimesheet Pro uses AI to collect emails, meetings, and GitHub work, then writes a clean timesheet straight into Google Sheets. Perfect for deve

Google Calendar, Gmail, GitHub +3
AI & RAG

Imagine a dedicated financial expert tirelessly working behind the scenes, sifting through every transaction, every investment move, and every accounting entry. That's exactly what this automated syst

HTTP Request, Google Sheets, OpenAI +3
AI & RAG

Who is this for? AI creators, marketers, agencies, and researchers tracking YouTube trends who need weekly high-signal insights without 4+ hours manual research.

HTTP Request, OpenAI, Google Sheets +2
AI & RAG

Automatically logs time to Jira every night from a Google Sheet. No manual worklog entries needed — just fill in your sheet and the workflow handles the rest at 10 PM.

Google Sheets, HTTP Request, OpenAI +1
AI & RAG

This template automates overnight system health monitoring for DevOps and IT operations teams. It checks your internal services and APIs on a schedule, logs all results to Google Sheets, and sends AI-

HTTP Request, OpenAI, Gmail +1