{
  "name": "Automate LinkedIn job search, AI scoring, and resume creation with OpenRouter, OpenAI, Google Sheets & Docs",
  "nodes": [
    {
      "id": "d3e041d0-f045-445e-8da3-ba03bf19cc3d",
      "name": "Scrape Linkedin w/Apify",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        576,
        272
      ]
    },
    {
      "id": "f7bb8b8f-efea-42f4-b177-f1406234ee60",
      "name": "Job Description",
      "type": "n8n-nodes-base.markdown",
      "position": [
        1328,
        272
      ]
    },
    {
      "id": "83e7145d-1374-4689-877a-4805ca8a8658",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        272,
        272
      ]
    },
    {
      "id": "f167e6d7-8c9c-4e7e-b5a7-c7aa52646061",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        128
      ],
      "parameters": {
        "width": 308,
        "height": 316,
        "content": "## 1️⃣ Scrape LinkedIn Jobs\nScrapes LinkedIn job listings via Apify.\n**Setup:** Add your Apify API key and customize LinkedIn search URLs with your keywords and location."
      }
    },
    {
      "id": "ebe3186c-2da0-4297-8094-0fd047edcddf",
      "name": "Remove Big Recruiters",
      "type": "n8n-nodes-base.filter",
      "position": [
        880,
        272
      ]
    },
    {
      "id": "001d0ce3-741a-41dc-acb5-96e01c464600",
      "name": "Keep only [Your Country]",
      "type": "n8n-nodes-base.filter",
      "position": [
        1120,
        272
      ]
    },
    {
      "id": "271ff232-81eb-4e20-bf52-325c47ac095e",
      "name": "Set Profile",
      "type": "n8n-nodes-base.set",
      "position": [
        592,
        496
      ]
    },
    {
      "id": "02268d02-da57-42ae-85b2-f2f45607918a",
      "name": "Job Match Scorer",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        2384,
        160
      ]
    },
    {
      "id": "46624637-2442-41a3-ba51-b5124f034198",
      "name": "GateKeeper",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1552,
        160
      ]
    },
    {
      "id": "76405c7c-cbde-4199-84c3-310c565da9ef",
      "name": "Merge w/ Original Data",
      "type": "n8n-nodes-base.merge",
      "position": [
        1904,
        272
      ]
    },
    {
      "id": "61329973-e4d0-4fbb-8eea-9315d275b2cb",
      "name": "Keep Matches",
      "type": "n8n-nodes-base.switch",
      "position": [
        2112,
        272
      ]
    },
    {
      "id": "8e9ff572-a97e-474b-97d1-96932e7962c3",
      "name": "Merge w/ Original Data1",
      "type": "n8n-nodes-base.merge",
      "position": [
        2928,
        352
      ]
    },
    {
      "id": "bcdc1666-522d-4f3a-8563-3e84cab46a7e",
      "name": "Keep Matches1",
      "type": "n8n-nodes-base.switch",
      "position": [
        864,
        720
      ]
    },
    {
      "id": "96f999e7-0ca0-4fe4-825e-a0d21507d702",
      "name": "Add Roles to apply",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1120,
        720
      ]
    },
    {
      "id": "bed21ee0-9a82-4d11-a1d9-d34f911d92f4",
      "name": "Parse in JSON",
      "type": "n8n-nodes-base.code",
      "position": [
        2736,
        160
      ]
    },
    {
      "id": "3975ed37-683e-4926-aacd-c12696fea48c",
      "name": "Send a text message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1344,
        720
      ]
    },
    {
      "id": "3e1b8e5d-9227-4d13-ba98-a19e53671e37",
      "name": "Create Resume ",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1504,
        1152
      ]
    },
    {
      "id": "965d7fd1-5f88-4b0f-a335-a7f662976665",
      "name": "Google Sheets Trigger",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        864,
        1152
      ]
    },
    {
      "id": "6b1ae6f6-f0d0-470f-9302-671b797c7a6d",
      "name": "Update Link & Status",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2976,
        1056
      ]
    },
    {
      "id": "44cec529-1528-42fd-a3dc-c3a07331335c",
      "name": "Get Job Description",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1280,
        1152
      ]
    },
    {
      "id": "84569bdf-c9cf-4e37-b80c-5e391c32ab58",
      "name": "Select Language",
      "type": "n8n-nodes-base.switch",
      "position": [
        1856,
        1152
      ]
    },
    {
      "id": "92d23e4c-3f08-4926-bb1d-8b1e579751a0",
      "name": "Make a Copy of EN Resume",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2080,
        1056
      ]
    },
    {
      "id": "b72b62f5-9f8d-48d9-bff3-b64c82caccdd",
      "name": "Update all Resume Variables",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        2304,
        1056
      ]
    },
    {
      "id": "488402f0-3c50-4a68-bef8-2c3e1bfd9e8a",
      "name": "Make a Copy of EN CL",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2528,
        1056
      ]
    },
    {
      "id": "3df41a0b-ef34-417d-ac2e-2e3db19440a6",
      "name": "Update all CL Variables",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        2752,
        1056
      ]
    },
    {
      "id": "317f97b8-df05-46e6-a782-e9ec3830e861",
      "name": "Make a Copy of DE Resume",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2080,
        1248
      ]
    },
    {
      "id": "e753e291-94d4-4d31-9d8b-28829d431dbd",
      "name": "Update all Lebenslauf Variables",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        2304,
        1248
      ]
    },
    {
      "id": "50a32592-a65e-4a94-b0c7-6925127e2925",
      "name": "Make a Copy of DE Motivation",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2528,
        1248
      ]
    },
    {
      "id": "0c00a640-bab2-48eb-9383-bc7dc3509218",
      "name": "Update Link & Status for DE",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2976,
        1248
      ]
    },
    {
      "id": "7ebc47ad-aa30-4527-8fc3-e3c0cc8ebdcc",
      "name": "Update all Anschreiben Variables",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        2752,
        1248
      ]
    },
    {
      "id": "123cab24-37d2-4a8d-9d5c-e7832327a02f",
      "name": "Set Profile1",
      "type": "n8n-nodes-base.set",
      "position": [
        1056,
        1152
      ]
    },
    {
      "id": "c95faf0a-c8f1-4184-b06f-9739e006ac34",
      "name": "Sticky Note - Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        224,
        -224
      ],
      "parameters": {
        "width": 576,
        "height": 316,
        "content": "## 🔎 Auto-Apply: Automated Job Search & Application Workflow\n\n**What this does:**\n1. Scrapes LinkedIn jobs on a schedule\n2. Filters out unwanted recruiters & wrong locations\n3. AI evaluates each job a"
      }
    },
    {
      "id": "adaaa121-04f1-4799-b8cf-cfa1572acb72",
      "name": "Sticky Note - Setup Guide",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        192,
        768
      ],
      "parameters": {
        "width": 596,
        "height": 556,
        "content": "## 📋 SETUP GUIDE\n\n**Step 1: Credentials**\n• Apify API key (for LinkedIn scraping)\n• Google Sheets/Docs/Drive OAuth\n• OpenRouter API key (for AI models)\n• OpenAI API key (for resume generation)\n• Teleg"
      }
    },
    {
      "id": "f62297ab-0535-4529-97b8-91d4d0dc6ec0",
      "name": "Sticky Note - Filter",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        816,
        128
      ],
      "parameters": {
        "width": 2348,
        "height": 376,
        "content": "## 2️⃣ Filter & Evaluate\nRemoves spam recruiters, filters by country, then runs 2-stage AI evaluation:\n• **GateKeeper** (fast, cheap model): Quick yes/no filter\n• **Job Match Scorer** (smarter model):"
      }
    },
    {
      "id": "fec0e089-570e-49ce-a920-44c069e98246",
      "name": "Sticky Note - Score",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        816,
        592
      ],
      "parameters": {
        "width": 908,
        "height": 304,
        "content": "## 3️⃣ Score & Notify\nParses AI response, merges with original job data, filters matches above threshold, adds to Google Sheet, and sends Telegram notification."
      }
    },
    {
      "id": "00414bf3-89ed-42ff-9209-80a796795c8d",
      "name": "Sticky Note - Resume",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        816,
        992
      ],
      "parameters": {
        "width": 2352,
        "height": 436,
        "content": "## 4️⃣ Generate Resume & Apply\nTriggered from Google Sheets. Uses AI to generate tailored resume + cover letter, copies your template docs, fills in all variables, and updates status.\nSupports EN and "
      }
    },
    {
      "id": "a12b1325-4617-45af-af14-6fea084aeb6a",
      "name": "Cheap Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        1488,
        384
      ]
    },
    {
      "id": "8eb672dd-195e-448e-a617-66a3a7f2c0d0",
      "name": "Better Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        2304,
        384
      ]
    }
  ],
  "connections": {
    "GateKeeper": {
      "main": [
        [
          {
            "node": "Merge w/ Original Data",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Cheap Model": {
      "ai_languageModel": [
        [
          {
            "node": "GateKeeper",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Better Model": {
      "ai_languageModel": [
        [
          {
            "node": "Job Match Scorer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Keep Matches": {
      "main": [
        [
          {
            "node": "Job Match Scorer",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge w/ Original Data1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Profile1": {
      "main": [
        [
          {
            "node": "Get Job Description",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Keep Matches1": {
      "main": [
        [
          {
            "node": "Add Roles to apply",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse in JSON": {
      "main": [
        [
          {
            "node": "Merge w/ Original Data1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Create Resume ": {
      "main": [
        [
          {
            "node": "Select Language",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Job Description": {
      "main": [
        [
          {
            "node": "GateKeeper",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge w/ Original Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Select Language": {
      "main": [
        [
          {
            "node": "Make a Copy of EN Resume",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Make a Copy of DE Resume",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Job Match Scorer": {
      "main": [
        [
          {
            "node": "Parse in JSON",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Set Profile",
            "type": "main",
            "index": 0
          },
          {
            "node": "Scrape Linkedin w/Apify",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add Roles to apply": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Job Description": {
      "main": [
        [
          {
            "node": "Create Resume ",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Make a Copy of EN CL": {
      "main": [
        [
          {
            "node": "Update all CL Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets Trigger": {
      "main": [
        [
          {
            "node": "Set Profile1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Big Recruiters": {
      "main": [
        [
          {
            "node": "Keep only [Your Country]",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge w/ Original Data": {
      "main": [
        [
          {
            "node": "Keep Matches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge w/ Original Data1": {
      "main": [
        [
          {
            "node": "Keep Matches1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Linkedin w/Apify": {
      "main": [
        [
          {
            "node": "Remove Big Recruiters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update all CL Variables": {
      "main": [
        [
          {
            "node": "Update Link & Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Keep only [Your Country]": {
      "main": [
        [
          {
            "node": "Job Description",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Make a Copy of DE Resume": {
      "main": [
        [
          {
            "node": "Update all Lebenslauf Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Make a Copy of EN Resume": {
      "main": [
        [
          {
            "node": "Update all Resume Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update all Resume Variables": {
      "main": [
        [
          {
            "node": "Make a Copy of EN CL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Make a Copy of DE Motivation": {
      "main": [
        [
          {
            "node": "Update all Anschreiben Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update all Lebenslauf Variables": {
      "main": [
        [
          {
            "node": "Make a Copy of DE Motivation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update all Anschreiben Variables": {
      "main": [
        [
          {
            "node": "Update Link & Status for DE",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}