AutomationFlowsContent & Video › Daily Competitor Wordpress Analysis with Charts, Gemini & Telegram Reporting

Daily Competitor Wordpress Analysis with Charts, Gemini & Telegram Reporting

ByCong Nguyen @cong-nguyen on n8n.io

Every night at 22:00 (Asia/HoChiMinh), the workflow fetches the latest posts from multiple competitor WordPress RSS feeds, upserts them into Google Sheets, captures a dashboard screenshot (via ApiFlash), has Gemini Vision analyze the chart, and sends a concise insight report to…

Cron / scheduled trigger★★★★☆ complexityAI-powered16 nodesGoogle SheetsGoogle GeminiTelegramHTTP Request
Content & Video Trigger: Cron / scheduled Nodes: 16 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Googlegemini → 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": "50d2d4f8-28f2-4b90-ae66-05ca0d9b0abb",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -48,
        192
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "1ff936fb-cfe0-4294-af00-4e076884a1c4",
      "name": "Limit",
      "type": "n8n-nodes-base.limit",
      "position": [
        416,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a5b2a9d6-d648-4e23-88ee-d1fb81e371bf",
      "name": "Append or update row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        832,
        192
      ],
      "parameters": {},
      "typeVersion": 4.7
    },
    {
      "id": "80b7d5c2-5e98-4783-998c-babac5a5dcda",
      "name": "Limit1",
      "type": "n8n-nodes-base.limit",
      "position": [
        416,
        368
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "df66e0bd-eaca-4e7d-9ec1-079e6863e569",
      "name": "Limit2",
      "type": "n8n-nodes-base.limit",
      "position": [
        416,
        192
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ce6e67e6-919c-458c-b496-d3e4feac5456",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1024,
        192
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "361aeb21-b243-4605-bf12-adfdb140fbd3",
      "name": "Analyze image",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        1392,
        192
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a08a9549-6107-42d3-a693-558ee77dd2d0",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        656,
        176
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "b0bf68e9-2ac7-44d1-a233-2ebe79c38eca",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1584,
        192
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "5497f832-cbf2-41e6-a4a8-ea722a8b0fea",
      "name": "APIFlash",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1216,
        192
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "5fdd2003-c039-4a15-b26e-493503e3c1d7",
      "name": "RSS opponent 1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        208,
        0
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "afa65918-6623-4949-9d79-0e769175456f",
      "name": "RSS opponent 3",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        208,
        368
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "10a7d542-2873-45ad-bf04-c424e9581b44",
      "name": "RSS opponent 2",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        208,
        192
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "a841674e-41d5-4023-abbc-3efbcaad5de3",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -592,
        -224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "fdd53402-1c4c-4872-935a-3398e6f2aa6a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -592,
        368
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "0aa8b62c-a0f7-496d-8328-5e853d87b088",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        704,
        -256
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Limit": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Append or update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit1": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Limit2": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "APIFlash": {
      "main": [
        [
          {
            "node": "Analyze image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "APIFlash",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze image": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS opponent 1": {
      "main": [
        [
          {
            "node": "Limit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS opponent 2": {
      "main": [
        [
          {
            "node": "Limit2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS opponent 3": {
      "main": [
        [
          {
            "node": "Limit1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "RSS opponent 1",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS opponent 2",
            "type": "main",
            "index": 0
          },
          {
            "node": "RSS opponent 3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

Every night at 22:00 (Asia/HoChiMinh), the workflow fetches the latest posts from multiple competitor WordPress RSS feeds, upserts them into Google Sheets, captures a dashboard screenshot (via ApiFlash), has Gemini Vision analyze the chart, and sends a concise insight report to…

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

More Content & Video workflows → · Browse all categories →

Related workflows

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

Content & Video

Content creators, media teams, and bloggers who run a YouTube channel and want to automatically repurpose video content into SEO-ready blog posts — without manual writing. Ideal for anyone publishing

HTTP Request, Google Sheets, Google Docs +7
Content & Video

Description: This workflow fully automates your blog publishing process using n8n, AI, and WordPress. It pulls blog data from Google Sheets, generates SEO-optimized content with AI, creates feature im

XML, WordPress, Google Sheets +4
Content & Video

Automatically convert your WordPress articles into multilingual voiceovers with professional-quality audio. Want to add audio versions of your WordPress posts? Looking for a workflow that is fully aut

WordPress, Google Sheets, OpenAI +2
Content & Video

This workflow provides complete blog automation from trend detection to publication. It eliminates manual content research, writing, and publishing by using AI agents, Google Trends analysis, and Word

HTTP Request, OpenAI, Google Sheets +1
Content & Video

Blog Post : Tendencias Ecosistema. Uses httpRequest, openAi, googleSheets. Scheduled trigger; 19 nodes.

HTTP Request, OpenAI, Google Sheets