{
  "name": "Track Upwork jobs from Vollna RSS with Google Sheets logging and Slack alerts",
  "nodes": [
    {
      "id": "a13633fc-3429-4840-8a86-0f3f552fc4f5",
      "name": "Check for foreign characters",
      "type": "n8n-nodes-base.filter",
      "position": [
        240,
        -16
      ]
    },
    {
      "id": "b52a5f5f-fd41-4dab-8b5b-a2e1935ae0e0",
      "name": "Title, Budget, Link, Posted, Date, Job Description, Skills, Categories",
      "type": "n8n-nodes-base.code",
      "position": [
        816,
        -16
      ]
    },
    {
      "id": "407c809a-89a6-4727-b6af-f7596077bf66",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1776,
        -32
      ]
    },
    {
      "id": "eff67652-6bd6-4ccc-8fb6-0b1a443b40cf",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -304,
        -16
      ]
    },
    {
      "id": "2cb9b9fc-0221-4039-8e32-6fb1d45c6d11",
      "name": "RSS Read",
      "type": "n8n-nodes-base.rssFeedRead",
      "position": [
        -48,
        -16
      ]
    },
    {
      "id": "9e4f6014-dce7-4923-9cd3-b1655f1ac925",
      "name": "Sort",
      "type": "n8n-nodes-base.sort",
      "position": [
        512,
        -16
      ]
    },
    {
      "id": "c6d4316a-f13f-464d-b3d7-7315f50b1a28",
      "name": "Get row(s) in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1088,
        144
      ]
    },
    {
      "id": "5925e47c-7174-4811-acbf-5aa7499922bc",
      "name": "Compare Datasets",
      "type": "n8n-nodes-base.compareDatasets",
      "position": [
        1360,
        -16
      ]
    },
    {
      "id": "dd503da0-f241-42e2-a8dc-14794fc73bef",
      "name": "Send a message",
      "type": "n8n-nodes-base.slack",
      "position": [
        2112,
        -32
      ]
    },
    {
      "id": "7dc37ecc-6fe2-4fa3-8c54-0b1a76221a4d",
      "name": "Send a message1",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2672,
        -32
      ]
    },
    {
      "id": "86e8692d-42e3-4598-9e59-efecbae62c67",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2368,
        -32
      ]
    },
    {
      "id": "27b4377b-c6b7-410c-a896-9e74b5af9c05",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -528
      ],
      "parameters": {
        "width": 720,
        "height": 448,
        "content": "Trigger & Input\n\nLocation: Near the Schedule Trigger and RSS Read nodes\nNote Text:\nTrigger & Input\n\n    Runs every 3 minutes\n    Fetches new jobs from Vollna RSS feed\n\nData Cleaning & Filtering\n\nLocat"
      }
    },
    {
      "id": "46cf316d-a0d9-493b-b933-f44925065ab2",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        -528
      ],
      "parameters": {
        "width": 800,
        "height": 448,
        "content": "Sorting\n\nLocation: Next to the Sort node\nNote Text:\nSort Jobs\n\n    Sorts jobs by most recent (descending by pubDate)\n\nData Extraction & Formatting\n\nLocation: Next to the Title, Budget, Link, Posted, D"
      }
    },
    {
      "id": "b7c8fbe2-09b9-4a8f-9d57-372d4ac69e43",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        -528
      ],
      "parameters": {
        "width": 720,
        "height": 448,
        "content": "Duplicate Check\n\nLocation: Between Get row(s) in sheet and Compare Datasets nodes\nNote Text:\nCheck for Duplicates\n\n    Looks up job link in Google Sheet\n    Compares to avoid duplicate entries\n\nAppend"
      }
    },
    {
      "id": "dca71453-7f0f-4e52-8862-a29e191372fd",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2144,
        -528
      ],
      "parameters": {
        "width": 704,
        "height": 448,
        "content": "Notification\n\nLocation: Next to Send a message node\nNote Text:\nSlack Notification\n\n    Sends new job alert to #n8n-jobs Slack channel\n\n(Optional) Email Confirmation\n\nLocation: Next to Aggregate and Se"
      }
    }
  ],
  "connections": {
    "Sort": {
      "main": [
        [
          {
            "node": "Title, Budget, Link, Posted, Date, Job Description, Skills, Categories",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Read": {
      "main": [
        [
          {
            "node": "Check for foreign characters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Send a message1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a message": {
      "main": [
        []
      ]
    },
    "Compare Datasets": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "RSS Read",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append row in sheet": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "Compare Datasets",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Check for foreign characters": {
      "main": [
        [
          {
            "node": "Sort",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Title, Budget, Link, Posted, Date, Job Description, Skills, Categories": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          },
          {
            "node": "Compare Datasets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}