AutomationFlowsAI & RAG › Talentflow AI – Instantly Evaluate Applicant's Github, Linkedin, Using AI

Talentflow AI – Instantly Evaluate Applicant's Github, Linkedin, Using AI

ByRoshan Ramani @rawsun007 on n8n.io

This template is ideal for: HR teams Recruiters Hiring managers

Event trigger★★★★★ complexityAI-powered41 nodesOpenRouter ChatAgentOutput Parser StructuredJot Form TriggerHTTP RequestN8N Nodes PdfcoGoogle Sheets
AI & RAG Trigger: Event Nodes: 41 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #5099 — we link there as the canonical source.

This workflow follows the Agent → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "YdVdTyx5ud7uQxun",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "hr-before-sheets-final-v1",
  "tags": [],
  "nodes": [
    {
      "id": "ec66f55c-587e-40f9-aecb-c4ab0154df7f",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        600,
        2180
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "49429cbc-6ace-43ee-93fb-2eca3e5f7a3c",
      "name": "OpenRouter Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        820,
        1060
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "eb920ae1-1739-4054-be69-bbdce9238377",
      "name": "github evaluation",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        800,
        900
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "ee88bd1a-f23b-4a5d-8dd2-9e60a8fc270c",
      "name": "resume evaluation",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        600,
        1960
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "af1308fb-6eac-409a-8064-cfddf495df27",
      "name": "OpenRouter Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        740,
        1580
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "fdb3775a-a15b-467f-8f04-8407c8246913",
      "name": "leetcode evaluation",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        740,
        1380
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "e682330d-7303-496f-9102-066927a406cf",
      "name": "OpenRouter Chat Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        1120,
        540
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "7c1406c0-19b6-43d7-a8d2-965a2f1d09cf",
      "name": "linkedin evaluation",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1120,
        340
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "c04d7b9d-aea6-4da1-82b2-72bfac8501dc",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        820,
        340
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "2b132df7-c7ed-4a5f-ba10-dd7ade4d7cce",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        780,
        2160
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "5e484b04-6a76-473f-8ec8-c1956f05d4a9",
      "name": "Structured Output Parser1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        900,
        1580
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "c2846f32-a4d5-4814-84e6-a642471322a1",
      "name": "Structured Output Parser2",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        960,
        1060
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "a7ceb534-b78d-4736-8603-c04cebf0609e",
      "name": "Structured Output Parser3",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1280,
        560
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "cc9921bf-3183-437d-877a-cc3db12f0790",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        260,
        600
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e2a23646-7812-4ee7-bc50-484195b60f92",
      "name": "No Operation, do nothing1",
      "type": "n8n-nodes-base.noOp",
      "position": [
        360,
        1160
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a1720c55-f6dd-40f7-940e-2bd0e7253e9a",
      "name": "No Operation, do nothing2",
      "type": "n8n-nodes-base.noOp",
      "position": [
        300,
        1700
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ea00a63e-9463-4aef-b691-85691c5ff4cb",
      "name": "Trigger: New Job Application",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -800,
        1140
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "8769ef4f-5f8c-4a54-b107-2ce62ec10588",
      "name": "Fetch JotForm Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -580,
        1140
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "39606ca2-9c26-49cf-9753-b20760ad28eb",
      "name": "Filter Required Fields",
      "type": "n8n-nodes-base.code",
      "position": [
        -360,
        1140
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "fb4d6ec4-1e4d-4239-bcf1-e8c4b91a0037",
      "name": "Extract Usernames from Fields",
      "type": "n8n-nodes-base.code",
      "position": [
        -140,
        1140
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "21248c37-9c87-460b-b62f-a71352a575a8",
      "name": "Validate LinkedIn Username",
      "type": "n8n-nodes-base.if",
      "disabled": true,
      "position": [
        40,
        340
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "06b638fb-ec7f-4da3-8889-a68063451e18",
      "name": "Scrape LinkedIn Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        300,
        240
      ],
      "parameters": {},
      "typeVersion": 3,
      "continueOnFail": true
    },
    {
      "id": "aeb02efc-8e68-4640-be62-9df70fdc8198",
      "name": "Format LinkedIn Result",
      "type": "n8n-nodes-base.code",
      "position": [
        520,
        240
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "c3c016fa-cb02-44dd-a042-1de9e2cbe6cb",
      "name": "Format LinkedIn Result1",
      "type": "n8n-nodes-base.code",
      "position": [
        520,
        440
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "7d998770-e860-4d93-becb-92aea3d26047",
      "name": "Scrape GitHub Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        360,
        960
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "727f07af-cc18-4a2b-8e4a-161068a3de4c",
      "name": "Format Github Data",
      "type": "n8n-nodes-base.code",
      "position": [
        580,
        960
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "5edb3d4e-9498-4001-9605-1f5d5b5823e7",
      "name": "Validate GitHub  Username",
      "type": "n8n-nodes-base.if",
      "disabled": true,
      "position": [
        140,
        1060
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "df6e7a46-f1eb-4c1e-8cb7-ce1e7186f736",
      "name": "Validate Leetcode Username",
      "type": "n8n-nodes-base.if",
      "disabled": true,
      "position": [
        80,
        1600
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e6560e3c-e24a-49fa-9689-58f57be93e6b",
      "name": "Scrape LinkedIn Post Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        300,
        440
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "9f91e2cc-8bb2-4306-a3a7-eba11119ded4",
      "name": "Scrape LeetCode Stats",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        300,
        1500
      ],
      "parameters": {},
      "typeVersion": 3,
      "continueOnFail": true
    },
    {
      "id": "4b5fda38-ccb9-4ff9-9bc0-57a740b6c4eb",
      "name": "Format LeetCode Data",
      "type": "n8n-nodes-base.code",
      "position": [
        520,
        1500
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "1aa9f92c-2feb-4b05-adb8-d2e54687e209",
      "name": "Convert Pdf to Text(return text file link)",
      "type": "n8n-nodes-pdfco.PDFco Api",
      "position": [
        160,
        1960
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "284ef868-c9a4-448b-aac4-5e4e09c48e2e",
      "name": "Get Resume Text data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        380,
        1960
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "0bb4dada-bfc8-4d2a-8b7f-57b92639b8a5",
      "name": "Merge All Evaluations",
      "type": "n8n-nodes-base.merge",
      "position": [
        1940,
        1060
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "89ab80d5-4906-4508-97cc-196416d1779b",
      "name": "Format Final Output",
      "type": "n8n-nodes-base.code",
      "position": [
        2160,
        1080
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "3aab4095-d404-4000-b2bf-7d7b4a9faf86",
      "name": "Append Candidate Data to Google Sheet ",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2360,
        1080
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "dc0012f6-8c2c-42d0-9273-7b8e63bcc079",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        2380
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "f1502167-8213-4d91-ab8a-58bb4baca748",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        2380
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8b4f6f88-e1aa-455a-bc46-a29cda14d5f9",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        960,
        2380
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "7f3f9ed7-bdaa-44dc-aeef-b89bd4499e0e",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1640,
        2360
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ebadcb17-48fd-4db5-89cd-edeebbac5aac",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2040,
        860
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5012333e-0c51-46eb-a78f-90784bec6764",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "linkedin evaluation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "github evaluation": {
      "main": [
        [
          {
            "node": "Merge All Evaluations",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "resume evaluation": {
      "main": [
        [
          {
            "node": "Merge All Evaluations",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "Fetch JotForm Data": {
      "main": [
        [
          {
            "node": "Filter Required Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Github Data": {
      "main": [
        [
          {
            "node": "github evaluation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape GitHub Data": {
      "main": [
        [
          {
            "node": "Format Github Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Final Output": {
      "main": [
        [
          {
            "node": "Append Candidate Data to Google Sheet ",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "leetcode evaluation": {
      "main": [
        [
          {
            "node": "Merge All Evaluations",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "linkedin evaluation": {
      "main": [
        [
          {
            "node": "Merge All Evaluations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format LeetCode Data": {
      "main": [
        [
          {
            "node": "leetcode evaluation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Resume Text data": {
      "main": [
        [
          {
            "node": "resume evaluation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape LinkedIn Data": {
      "main": [
        [
          {
            "node": "Format LinkedIn Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge All Evaluations": {
      "main": [
        [
          {
            "node": "Format Final Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "resume evaluation",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Scrape LeetCode Stats": {
      "main": [
        [
          {
            "node": "Format LeetCode Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Required Fields": {
      "main": [
        [
          {
            "node": "Extract Usernames from Fields",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Format LinkedIn Result": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "github evaluation",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "leetcode evaluation",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model3": {
      "ai_languageModel": [
        [
          {
            "node": "linkedin evaluation",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Format LinkedIn Result1": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "resume evaluation",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Scrape LinkedIn Post Data": {
      "main": [
        [
          {
            "node": "Format LinkedIn Result1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser1": {
      "ai_outputParser": [
        [
          {
            "node": "leetcode evaluation",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser2": {
      "ai_outputParser": [
        [
          {
            "node": "github evaluation",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser3": {
      "ai_outputParser": [
        [
          {
            "node": "linkedin evaluation",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Validate GitHub  Username": {
      "main": [
        [
          {
            "node": "Scrape GitHub Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate Leetcode Username": {
      "main": [
        [
          {
            "node": "Scrape LeetCode Stats",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate LinkedIn Username": {
      "main": [
        [
          {
            "node": "Scrape LinkedIn Data",
            "type": "main",
            "index": 0
          },
          {
            "node": "Scrape LinkedIn Post Data",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger: New Job Application": {
      "main": [
        [
          {
            "node": "Fetch JotForm Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Usernames from Fields": {
      "main": [
        [
          {
            "node": "Validate GitHub  Username",
            "type": "main",
            "index": 0
          },
          {
            "node": "Validate Leetcode Username",
            "type": "main",
            "index": 0
          },
          {
            "node": "Validate LinkedIn Username",
            "type": "main",
            "index": 0
          },
          {
            "node": "Convert Pdf to Text(return text file link)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Pdf to Text(return text file link)": {
      "main": [
        [
          {
            "node": "Get Resume Text data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This template is ideal for: HR teams Recruiters Hiring managers

Source: https://n8n.io/workflows/5099/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

🧠 Automate end-to-end SEO blog creation and WordPress publishing using a GPT-5 multi-agent workflow with real-time research, metadata generation, and optional featured images.

Output Parser Structured, HTTP Request, OpenAI +10
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Output Parser Structured, Telegram, N8N Nodes Tesseractjs +14
AI & RAG

YouTube Strategist. Uses formTrigger, splitOut, splitInBatches, agent. Event-driven trigger; 50 nodes.

Form Trigger, Agent, OpenRouter Chat +5
AI & RAG

This advanced multi-phase n8n workflow automates the complete research, analysis, and ideation pipeline for a YouTube strategist. It scrapes competitor channels, analyzes top-performing titles and thu

Form Trigger, Agent, OpenRouter Chat +5
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

HTTP Request, Google Sheets, OpenRouter Chat +5