{
  "name": "Monitor any web page for changes and post to Slack with Rendex Watch",
  "nodes": [
    {
      "parameters": {
        "content": "## 👀 Watch a page → alert Slack — powered by Rendex Watch\n\n**Who it's for:** teams tracking competitor pricing, docs, status pages, T&Cs, stock, or any page that matters — without writing a scraper.\n\n**What it does:** Rendex Watch checks a page on a schedule and detects **any** change (visual + text). When it changes, this workflow posts the AI \"what changed\" summary + the text diff to Slack.\n\n**Two flows below:**\n- **Flow A — Set up the watch (run once):** creates the watch on Rendex.\n- **Flow B — Alert on change (leave active):** the **Rendex Watch Trigger** polls your watches and fires whenever one changes.\n\n**How to use:**\n1. Install `n8n-nodes-rendex` and add your **Rendex API** credential (free key at rendex.dev)\n2. Edit the URL in **Create Watch**, then click **Test workflow** on Flow A once\n3. Add your **Slack** credential on **Post to Slack**\n4. **Activate** the workflow — Flow B now runs on its own\n\n📚 Docs: https://rendex.dev/docs/n8n · Watch guide: https://rendex.dev/watch",
        "height": 480,
        "width": 440
      },
      "id": "sticky-overview",
      "name": "Overview",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [-380, 100]
    },
    {
      "parameters": {
        "content": "### Flow A · Set up the watch (run once)\nSet the **URL** you want to monitor and how often to check. **Change Detection = Both** catches any change (visual + text). Free plan checks daily; Starter every 3h; Pro every 30m. Run this once, then you can disable Flow A.",
        "height": 340,
        "width": 360,
        "color": 5
      },
      "id": "sticky-setup",
      "name": "Setup note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [120, 100]
    },
    {
      "parameters": {},
      "id": "manual-setup",
      "name": "Set up the watch",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [180, 300]
    },
    {
      "parameters": {
        "resource": "watch",
        "operation": "create",
        "url": "https://news.ycombinator.com",
        "intervalMinutes": 1440,
        "diffMode": "both",
        "watchOptions": {
          "name": "HN front page",
          "aiSummary": false
        }
      },
      "id": "rendex-create-watch",
      "name": "Create Watch",
      "type": "n8n-nodes-rendex.rendex",
      "typeVersion": 1,
      "position": [400, 300]
    },
    {
      "parameters": {
        "content": "### Flow B · Alert on every change (keep active)\nThe **Rendex Watch Trigger** polls your watches. Leave **Watch ID** empty to fire on ANY of your watches, or paste one ID to track a single page. Each change arrives with `aiSummary`, `textDiff`, and image URLs (`beforeUrl` / `afterUrl` / `diffOverlayUrl`).",
        "height": 360,
        "width": 380,
        "color": 4
      },
      "id": "sticky-alert",
      "name": "Alert note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [120, 520]
    },
    {
      "parameters": {
        "watchId": ""
      },
      "id": "watch-trigger",
      "name": "Rendex Watch Trigger",
      "type": "n8n-nodes-rendex.rendexWatchTrigger",
      "typeVersion": 1,
      "position": [200, 720]
    },
    {
      "parameters": {
        "authentication": "oAuth2",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#alerts"
        },
        "text": "=🔔 *{{ $json.name || $json.url }}* changed.\n\n{{ $json.aiSummary || $json.textDiff || 'A change was detected.' }}\n\n<{{ $json.url }}|View page> · <{{ $json.diffOverlayUrl || $json.afterUrl }}|See the diff>",
        "otherOptions": {}
      },
      "id": "post-slack",
      "name": "Post to Slack",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 2.3,
      "position": [480, 720]
    }
  ],
  "connections": {
    "Set up the watch": {
      "main": [[{ "node": "Create Watch", "type": "main", "index": 0 }]]
    },
    "Rendex Watch Trigger": {
      "main": [[{ "node": "Post to Slack", "type": "main", "index": 0 }]]
    }
  },
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "instanceId": ""
  }
}
