{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "a5753110-3dcf-45f6-b310-40058c796fc3",
      "name": "Merge Feeds",
      "type": "n8n-nodes-base.merge",
      "position": [
        1056,
        736
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "36efbd30-54a0-4516-8fac-eba1fb583c82",
      "name": "Generate post summary",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1728,
        736
      ],
      "parameters": {
        "text": "=",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "type": "AIMessagePromptTemplate",
              "message": "=You are a creative social media manager. Create a short telegram channel post summarizing today's top AI news from these articles: {{JSON.stringify($json)}}\nRequirements:\n- Professional but friendly tone\n- Include 2-3 relevant hashtags, such as #AInews #TechTrends #Innovation\n- Add a call to action: \u201cRead more below \ud83d\udc47\u201d\nOutput should be a tweet suitable for posting, with clear highlights from the articles.\n"
            }
          ]
        },
        "promptType": "=auto"
      },
      "typeVersion": 1.7
    },
    {
      "id": "9c88bf25-4872-44eb-a353-114b8ce66e46",
      "name": "Fetch VentureBeat AI feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        832,
        640
      ],
      "parameters": {
        "url": "https://venturebeat.com/category/ai/feed/",
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "82aa9f4c-f9f6-4b02-82db-08a35eceb07e",
      "name": "Fetch AI Blog feed",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        832,
        832
      ],
      "parameters": {
        "url": "https://feeds.feedburner.com/TheAIBlog",
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "bef31cce-6af5-40e0-a8f1-6694628fa0fc",
      "name": "Request approval via Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2096,
        736
      ],
      "parameters": {
        "chatId": "123456789",
        "message": "={{ $json.text }}",
        "options": {},
        "operation": "sendAndWait",
        "approvalOptions": {
          "values": {
            "approvalType": "double"
          }
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3c9ce1a5-33fa-4d9e-86a7-32576850a976",
      "name": "Workflow Explanation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        0
      ],
      "parameters": {
        "width": 712,
        "height": 448,
        "content": "Post AI news to Telegram with Google Gemini and human approval\n\nThis workflow automates fetching and summarizing AI news from RSS feeds, then posts to Telegram after human approval. It balances automation with control.\n\n## How it works\n- Schedule triggers RSS feeds to fetch recent AI articles.\n- Merges and selects the top article.\n- Uses Google Gemini to generate a concise Telegram post draft.\n- Sends draft for approval via Telegram; posts only if approved.\n\n## Setup steps\n1. Configure RSS feed URLs.\n2. Add Google Gemini API credentials.\n3. Set up Telegram bot and target channel/chat ID.\n4. Adjust schedule as needed.\n5. Activate the workflow."
      },
      "typeVersion": 1
    },
    {
      "id": "58b97e44-a4fe-46c4-806e-bf937a4d230f",
      "name": "Prepare Gemini Prompt",
      "type": "n8n-nodes-base.code",
      "position": [
        1504,
        736
      ],
      "parameters": {
        "jsCode": "return items.map(item => ({\n json: {\n chatInput: `Summarize this article for a LinkedIn post:\\nTitle: ${item.json.title}\\nSummary: ${item.json.contentSnippet}\\nLink: ${item.json.link}`\n }\n}));\n"
      },
      "typeVersion": 2
    },
    {
      "id": "39a1873d-1b2a-451c-af41-3fcd95e63153",
      "name": "Group: Data Collection",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        528
      ],
      "parameters": {
        "color": 3,
        "width": 656,
        "height": 544,
        "content": "Data Collection\n\nFetches and merges recent AI articles from RSS feeds, then selects the top one."
      },
      "typeVersion": 1
    },
    {
      "id": "5eed1300-d089-4ceb-8b00-1457b5bd77db",
      "name": "Group: AI Summarization",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1456,
        544
      ],
      "parameters": {
        "color": 6,
        "width": 560,
        "height": 528,
        "content": "AI Summarization\n\nPrepares prompt and uses Google Gemini to generate a Telegram-friendly post draft."
      },
      "typeVersion": 1
    },
    {
      "id": "bf8152e0-2631-4567-ab18-83e687ad4c53",
      "name": "Keep Top 1 Article",
      "type": "n8n-nodes-base.code",
      "position": [
        1280,
        736
      ],
      "parameters": {
        "jsCode": "// Keep top 1 most recent\nconst sorted = items.sort((a, b) => new Date(b.json.isoDate) - new Date(a.json.isoDate));\nreturn sorted.slice(0, 1);\n"
      },
      "typeVersion": 2
    },
    {
      "id": "9ef7310d-89d2-45c9-aec0-ae81a06430a5",
      "name": "Check approval result",
      "type": "n8n-nodes-base.if",
      "position": [
        2288,
        736
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8ef3580a-a5ce-43e5-962e-7a5e3c7e79f9",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.data.approved }}",
              "rightValue": "=true"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "6c1a2850-26d3-43dd-a463-3575d145ba62",
      "name": "Group: Approval & Publishing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        544
      ],
      "parameters": {
        "color": 7,
        "width": 672,
        "height": 512,
        "content": "Approval & Publishing\n\nRequests human approval in Telegram, checks result, and posts if approved."
      },
      "typeVersion": 1
    },
    {
      "id": "6beeca00-7d90-4012-888d-86b28fc5cfd1",
      "name": "Generate Telegram post (Gemini)",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1728,
        928
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7288507b-0ee9-4b87-af70-9cd80b870e52",
      "name": "Publish approved post to Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2528,
        720
      ],
      "parameters": {
        "text": "={{ $('Generate post summary').item.json.text }}",
        "chatId": "123456789",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3a5b9eb0-a1da-4aaf-ab40-2ca79fb76f83",
      "name": "Schedule trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        608,
        736
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 15,
              "triggerAtMinute": 56
            }
          ]
        }
      },
      "typeVersion": 1.2
    }
  ],
  "connections": {
    "Merge Feeds": {
      "main": [
        [
          {
            "node": "Keep Top 1 Article",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule trigger": {
      "main": [
        [
          {
            "node": "Fetch VentureBeat AI feed",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch AI Blog feed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch AI Blog feed": {
      "main": [
        [
          {
            "node": "Merge Feeds",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Keep Top 1 Article": {
      "main": [
        [
          {
            "node": "Prepare Gemini Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check approval result": {
      "main": [
        [
          {
            "node": "Publish approved post to Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate post summary": {
      "main": [
        [
          {
            "node": "Request approval via Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Gemini Prompt": {
      "main": [
        [
          {
            "node": "Generate post summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch VentureBeat AI feed": {
      "main": [
        [
          {
            "node": "Merge Feeds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Request approval via Telegram": {
      "main": [
        [
          {
            "node": "Check approval result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Telegram post (Gemini)": {
      "ai_languageModel": [
        [
          {
            "node": "Generate post summary",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}