{
  "name": "Scrape job listings and send alerts using Decodo, Google Gemini, Slack, and Gmail",
  "nodes": [
    {
      "id": "2a2821a5-6703-4935-bbe1-04f33e9b8758",
      "name": "Decodo",
      "type": "@decodo/n8n-nodes-decodo.decodo",
      "position": [
        -320,
        528
      ]
    },
    {
      "id": "e07f65d0-c492-4d9e-a6c2-d5ec31278c3e",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        528,
        848
      ]
    },
    {
      "id": "2fd41692-d12b-43aa-8de8-23774d6fc763",
      "name": "Code in JavaScript",
      "type": "n8n-nodes-base.code",
      "position": [
        928,
        608
      ]
    },
    {
      "id": "35c926a5-16ad-4f91-9618-3be27c84b93a",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1360,
        512
      ]
    },
    {
      "id": "e7a1d3ce-2207-446a-8bae-c04bdc30084e",
      "name": "Google Gemini Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1360,
        784
      ]
    },
    {
      "id": "4beaa50b-115a-4738-a780-b4233195ef8f",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -80,
        528
      ]
    },
    {
      "id": "327931ea-cc59-452c-be0a-a6698365a6d8",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1776,
        672
      ]
    },
    {
      "id": "1fdf4aff-dbff-4c7d-a478-fdcaee54430b",
      "name": "Send a message1",
      "type": "n8n-nodes-base.slack",
      "position": [
        1776,
        416
      ]
    },
    {
      "id": "f0a25984-5f41-4328-ba00-bc7f84a2dcb0",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1248,
        288
      ],
      "parameters": {
        "width": 432,
        "height": 432,
        "content": "## Nodes: Schedule Trigger, Edit Fields\nControls when the workflow runs and defines the target job category (e.g., Engineering).\nChange the schedule interval or target department without touching the "
      }
    },
    {
      "id": "b529e21a-8ca2-4045-a069-6a7569bce097",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -736,
        272
      ],
      "parameters": {
        "width": 1120,
        "height": 432,
        "content": "\n## Nodes: Airtable Search Records\nFetches company career page URLs from Airtable.\nOnly records with valid links are processed, making it easy to manage multiple companies in one place.\n\n## Nodes: Dec"
      }
    },
    {
      "id": "d6ffaedd-61df-41b9-88ea-b7493ac8a741",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2000,
        288
      ],
      "parameters": {
        "width": 1120,
        "height": 592,
        "content": "### Title: Automated Job Scraping & Alerts with Decodo and Google Gemini\n\nThis workflow automatically monitors company career pages, extracts open job positions, filters them by a target department, a"
      }
    },
    {
      "id": "a180a0f9-30ee-41a8-8b54-1ded07d60c90",
      "name": "Search records",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -592,
        512
      ]
    },
    {
      "id": "e52106e0-9fb6-4b3a-a14c-751d265f1452",
      "name": "Run Daily",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1216,
        512
      ]
    },
    {
      "id": "e1b1d1b8-821c-4eff-93ab-7a837902c7d8",
      "name": "Job Name",
      "type": "n8n-nodes-base.set",
      "position": [
        -960,
        512
      ]
    },
    {
      "id": "8f0f9c15-e990-46d5-ab9d-ff7ba1c8dcdb",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        272
      ],
      "parameters": {
        "width": 368,
        "height": 464,
        "content": "\n\n## Nodes: Code in JavaScript\nCleans AI output by removing formatting, empty results, and “No open positions.”\nConverts jobs into structured items for reliable filtering."
      }
    },
    {
      "id": "02b37d56-87fe-49a2-9146-26675ebbc8b6",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        272
      ],
      "parameters": {
        "width": 368,
        "height": 448,
        "content": "\n\n\n\n## Nodes: AI Agent 1, Google Gemini Chat Model\nUses Google Gemini to extract clean job titles and application links from raw page content while ignoring navigation and non-job text."
      }
    },
    {
      "id": "43133fa3-0f23-4cc3-9641-727c41a1128a",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1264,
        272
      ],
      "parameters": {
        "width": 544,
        "height": 464,
        "content": "\n\n\n\n\n\n\n## Nodes: AI Agent, Google Gemini Chat Model 1, Slack, Gmail\nFilters jobs based on the target department and sends alerts.\nOnly relevant roles trigger Slack and email notifications."
      }
    },
    {
      "id": "d3df37b6-6d8f-4412-b89a-070e0b77e681",
      "name": "Wait 5 seconds",
      "type": "n8n-nodes-base.wait",
      "position": [
        256,
        608
      ]
    },
    {
      "id": "811649b9-4e3a-4790-8d9b-137c61182947",
      "name": "Job extractor",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        528,
        608
      ]
    }
  ],
  "connections": {
    "Decodo": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Send a message1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Job Name": {
      "main": [
        [
          {
            "node": "Search records",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run Daily": {
      "main": [
        [
          {
            "node": "Job Name",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Job extractor": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search records": {
      "main": [
        [
          {
            "node": "Decodo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 5 seconds": {
      "main": [
        [
          {
            "node": "Job extractor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 5 seconds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Job extractor",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}