{
  "name": "Automated job intelligence system with Decodo, AI analysis, and email alerts",
  "nodes": [
    {
      "id": "1bdce8b3-a80a-48fb-8d65-fd343dea6a14",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1488,
        816
      ]
    },
    {
      "id": "e6afc4ed-1a56-4b4c-b730-af858095da18",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1680,
        192
      ],
      "parameters": {
        "width": 368,
        "height": 624,
        "content": "## How it works\nThis workflow checks company career pages every day at 9 AM for new job listings. It uses a web scraper to get job titles and links, then AI analyzes how relevant each job is to you. I"
      }
    },
    {
      "id": "5621bbc8-811f-4613-a9b2-b81e6b989a83",
      "name": "OpenAI Job Analyzer",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -560,
        800
      ]
    },
    {
      "id": "b647b01b-e8a6-48fc-a876-da59d0118b6a",
      "name": "Convert Job Data to Items",
      "type": "n8n-nodes-base.code",
      "position": [
        -16,
        688
      ]
    },
    {
      "id": "9c354576-0645-4bbf-88a8-99cde6a8cea7",
      "name": "Job Relevance Analyzer",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1200,
        528
      ]
    },
    {
      "id": "f2b40e0c-0de8-482e-912b-e843f4d9f7e9",
      "name": "OpenAI Relevance Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1296,
        816
      ]
    },
    {
      "id": "5cd85cff-e1a3-459f-96c7-32ce1fba1c69",
      "name": "Enrich Job Data with AI Insights",
      "type": "n8n-nodes-base.set",
      "position": [
        1568,
        528
      ]
    },
    {
      "id": "7ec93134-3946-4035-bd75-09f7d3d9f992",
      "name": "Check High Relevance Jobs",
      "type": "n8n-nodes-base.if",
      "position": [
        1776,
        528
      ]
    },
    {
      "id": "9071ab27-32d8-4271-a093-92be92cb392c",
      "name": "Daily Job Scan Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1184,
        512
      ]
    },
    {
      "id": "7b042193-e2f6-4ae0-92ff-7e1e31db6858",
      "name": "Get Company URLs",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -976,
        512
      ]
    },
    {
      "id": "beb98d56-ca96-448d-a0c1-994efc795036",
      "name": "Split Companies",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -784,
        512
      ]
    },
    {
      "id": "5e2ab438-c3ff-4d9e-9e1d-b05a56c6888d",
      "name": "Job Listing Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -448,
        512
      ]
    },
    {
      "id": "b2e26f1d-c05c-4c1d-ada5-acbebaa01c80",
      "name": "Decodo Job Scraper",
      "type": "@decodo/n8n-nodes-decodo.decodoTool",
      "position": [
        -352,
        800
      ]
    },
    {
      "id": "9fbca348-1b9f-4db1-b20e-e0ac3d310c22",
      "name": "Job Data Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -160,
        800
      ]
    },
    {
      "id": "4c51d2bf-2c0d-4e4e-b3a5-a09bc0b8d10c",
      "name": "Get All Existing Jobs",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        320,
        656
      ]
    },
    {
      "id": "52745546-33f7-4d9b-b0c3-cc586236e301",
      "name": "Slack Error Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        368,
        48
      ]
    },
    {
      "id": "ab70c3ca-43cb-4802-974a-e7f5d3469d65",
      "name": "Merge New/Existing Data",
      "type": "n8n-nodes-base.merge",
      "position": [
        576,
        800
      ]
    },
    {
      "id": "50008250-37fc-4c6d-bdd5-118f6eedd7a3",
      "name": "Compare and Filter Jobs",
      "type": "n8n-nodes-base.code",
      "position": [
        768,
        800
      ]
    },
    {
      "id": "0509c73d-5730-4a21-8cc6-9ffd176305c1",
      "name": "Split New Jobs for AI",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        992,
        800
      ]
    },
    {
      "id": "c9fbcea5-431e-4885-9bcf-db3e44dc5a20",
      "name": "Append to Sheet (All New Jobs)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2112,
        512
      ]
    },
    {
      "id": "ded39c1f-bfe6-4e2a-a3eb-d2db08866ade",
      "name": "Merge All Paths",
      "type": "n8n-nodes-base.merge",
      "position": [
        2272,
        800
      ]
    },
    {
      "id": "71c8154c-5b47-4e90-a657-5f04a864c228",
      "name": "Send Personalized Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2496,
        800
      ]
    },
    {
      "id": "d7f66b84-05fd-40cb-b374-d8750d6df909",
      "name": "Final Success Confirmation",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2752,
        800
      ]
    },
    {
      "id": "8c49e149-3f5b-4f0c-978f-84b4ac5eada0",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1232,
        352
      ],
      "parameters": {
        "width": 576,
        "height": 336,
        "content": "## Company Setup\nThis starts the workflow every day at 9 AM. It gets the list of companies to check from Google Sheets and prepares them one by one for job scanning."
      }
    },
    {
      "id": "13d19688-e078-441b-9cfc-0a7fea46b660",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -592,
        352
      ],
      "parameters": {
        "width": 720,
        "height": 608,
        "content": "## Collect Jobs\nThis part visits each company's career page and copies all job listings. It gets the job titles, company names, and application links, then prepares them for checking."
      }
    },
    {
      "id": "c9c5cff3-55a7-4abe-8d30-b8ff80d68c70",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        512
      ],
      "parameters": {
        "width": 832,
        "height": 464,
        "content": "## Process Jobs\nThis checks new jobs against your existing job database. It removes duplicate jobs you already have and keeps only the new ones for AI analysis."
      }
    },
    {
      "id": "1e85aba1-eafe-468e-981e-62fc3b44a945",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1184,
        304
      ],
      "parameters": {
        "width": 736,
        "height": 672,
        "content": "## AI Job Analysis\nThe AI looks at each job title and gives it a score from 1-10. It also finds the seniority level and tech skills needed. Jobs scoring 8 or higher are marked as high priority."
      }
    },
    {
      "id": "5c38ec8e-eeb6-4f09-8252-2fe3a760ae06",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2080,
        352
      ],
      "parameters": {
        "width": 800,
        "height": 608,
        "content": "## Save & Alert\nThis saves all new jobs to Google Sheets and sends email alerts for high-scoring jobs. It makes sure everything finishes correctly."
      }
    }
  ],
  "connections": {
    "Job Data Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Job Listing Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Merge All Paths": {
      "main": [
        [
          {
            "node": "Send Personalized Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Companies": {
      "main": [
        [
          {
            "node": "Job Listing Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Company URLs": {
      "main": [
        [
          {
            "node": "Split Companies",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Job Listing Agent": {
      "main": [
        [
          {
            "node": "Get All Existing Jobs",
            "type": "main",
            "index": 0
          },
          {
            "node": "Slack Error Alert",
            "type": "main",
            "index": 0
          },
          {
            "node": "Convert Job Data to Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Decodo Job Scraper": {
      "ai_tool": [
        [
          {
            "node": "Job Listing Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Job Analyzer": {
      "ai_languageModel": [
        [
          {
            "node": "Job Listing Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get All Existing Jobs": {
      "main": [
        [
          {
            "node": "Merge New/Existing Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split New Jobs for AI": {
      "main": [
        [
          {
            "node": "Job Relevance Analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily Job Scan Trigger": {
      "main": [
        [
          {
            "node": "Get Company URLs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Job Relevance Analyzer": {
      "main": [
        [
          {
            "node": "Enrich Job Data with AI Insights",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Relevance Model": {
      "ai_languageModel": [
        [
          {
            "node": "Job Relevance Analyzer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Compare and Filter Jobs": {
      "main": [
        [
          {
            "node": "Split New Jobs for AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge New/Existing Data": {
      "main": [
        [
          {
            "node": "Compare and Filter Jobs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Personalized Email": {
      "main": [
        [
          {
            "node": "Final Success Confirmation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Job Relevance Analyzer",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Check High Relevance Jobs": {
      "main": [
        [
          {
            "node": "Append to Sheet (All New Jobs)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge All Paths",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Convert Job Data to Items": {
      "main": [
        [
          {
            "node": "Merge New/Existing Data",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Append to Sheet (All New Jobs)": {
      "main": [
        [
          {
            "node": "Merge All Paths",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enrich Job Data with AI Insights": {
      "main": [
        [
          {
            "node": "Check High Relevance Jobs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}