AutomationFlowsAI & RAG › Track Competitor Prices Daily with Zenrows, Openai, Telegram, and Datatables

Track Competitor Prices Daily with Zenrows, Openai, Telegram, and Datatables

ByLukaszB @lukaszb on n8n.io

This workflow monitors product prices across multiple online retailers every day — automatically. The moment a price changes, you get an instant Telegram alert with the product name, old price, new price, and a direct link to the page.

Cron / scheduled trigger★★★★☆ complexityAI-powered23 nodesHTTP RequestOpenAI ChatChain LlmGmailTelegramData Table
AI & RAG Trigger: Cron / scheduled Nodes: 23 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Chainllm → Gmail 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": "c12b6836-0abb-421a-863a-1a0b2ff68fd2",
      "name": "set input data",
      "type": "n8n-nodes-base.set",
      "position": [
        640,
        -176
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "63c4ea30-572a-4825-83e5-c0c85a4e213c",
      "name": "Compare prices",
      "type": "n8n-nodes-base.code",
      "position": [
        1776,
        656
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "6c0d4b24-dd23-4b59-b92e-fd68c4a12a29",
      "name": "Extract data",
      "type": "n8n-nodes-base.code",
      "position": [
        1568,
        656
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "755100f6-5b0d-4a8b-8fe2-4a31c51b9917",
      "name": "Zenrows check product",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        1376,
        656
      ],
      "parameters": {},
      "typeVersion": 4.4
    },
    {
      "id": "d92af848-0a05-40f1-bf82-866b0e25a5fc",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1728,
        0
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "1346e233-d9c1-486a-b9a3-16aa96b23ecc",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        976,
        -176
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "9a5e5ba1-2f9e-4f77-81ec-d57380574d13",
      "name": "Sumary writer",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1712,
        -176
      ],
      "parameters": {},
      "typeVersion": 1.9
    },
    {
      "id": "46d3f97f-c0d9-4269-b309-a8ee0bf25089",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "disabled": true,
      "position": [
        2208,
        0
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "41550c01-6d03-41ae-bdff-8f1bcab67794",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2208,
        -176
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "035c57eb-2ac1-4e9c-8612-8154e7e01b99",
      "name": "Update row(price chenged)",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        2000,
        656
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "b077c860-8141-4997-91f3-b90da95cc2e5",
      "name": "Get row(price url)",
      "type": "n8n-nodes-base.dataTable",
      "position": [
        416,
        -176
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "74012c6b-5001-49f7-946f-2ad95163d42f",
      "name": "Set Data in Loop",
      "type": "n8n-nodes-base.set",
      "position": [
        1184,
        656
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "f62c7cd0-5f07-44c5-95f6-f7f6598a0a09",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1504,
        -176
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9aa63b77-bb34-4497-b0c4-49274db25490",
      "name": "Filter",
      "type": "n8n-nodes-base.filter",
      "position": [
        1296,
        -176
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "1e55d4e8-868b-4fcd-a3e2-89690ab5bd3f",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -80,
        -176
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "de8b1b64-9f60-478f-930f-3d2c0b7b1764",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1120,
        -480
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "f11cca65-5412-4b30-baef-ed2cc71e4824",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -208,
        -400
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "2b2602c5-0eed-47fc-8b13-a853451976af",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        224,
        -400
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "2d13cb8e-98e2-41e8-bb83-5485a4bff2ac",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1200,
        -400
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b141a99d-75a2-4e1f-bbd4-ce15f97fb46d",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        816,
        240
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "cd9e09fc-b703-4013-8275-fef44aa3b315",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        -224
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "9729e00f-7e96-489b-b045-b7527feb2e4e",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1936,
        592
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "e49f067f-d0ca-47bc-9916-d81f4c401f65",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2096,
        -256
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Filter": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Sumary writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract data": {
      "main": [
        [
          {
            "node": "Compare prices",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sumary writer": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compare prices": {
      "main": [
        [
          {
            "node": "Update row(price chenged)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "set input data": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set Data in Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get row(price url)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Data in Loop": {
      "main": [
        [
          {
            "node": "Zenrows check product",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Sumary writer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get row(price url)": {
      "main": [
        [
          {
            "node": "set input data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a text message": {
      "main": [
        []
      ]
    },
    "Zenrows check product": {
      "main": [
        [
          {
            "node": "Extract data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update row(price chenged)": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "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

This workflow monitors product prices across multiple online retailers every day — automatically. The moment a price changes, you get an instant Telegram alert with the product name, old price, new price, and a direct link to the page.

Source: https://n8n.io/workflows/14675/ — 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

This n8n workflow automates the creation of viral CCTV-style animal videos using AI, perfect for TikTok content creators looking to capitalize on the popular security camera animal footage trend. The

OpenAI, HTTP Request, Telegram +5
AI & RAG

leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.

Supabase, Gmail, Form Trigger +13
AI & RAG

This workflow automates the creation, rendering, approval, and posting of TikTok-style POV (Point of View) videos to Instagram, with cross-posting to Facebook and YouTube. It eliminates manual video p

OpenAI Chat, Output Parser Item List, HTTP Request +10
AI & RAG

This workflow automates document processing using LlamaParse to extract and analyze text from various file formats. It intelligently processes documents, extracts structured data, and delivers actiona

Gmail, Gmail Trigger, HTTP Request +6
AI & RAG

This workflow searches the internet for the latest news in your niche, selects the most interesting topics, writes complete long-form SEO articles with AI-generated images, and publishes them directly

Agent, OpenAI Chat, @Brave/N8N Nodes Brave Search +5