This workflow corresponds to n8n.io template #4055 — we link there as the canonical source.
This workflow follows the Chainllm → Chainsummarization 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 →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "5e7b4bc0-9c75-4081-9643-316a8342e869",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
-560,
640
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "e3b16d5e-a6ab-406f-ad30-db14dc77594c",
"name": "Extract from File",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-200,
620
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0669f3af-5cbc-457c-b567-8b8c19c6935e",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2080,
760
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "08ba1e4e-8831-41f1-970a-6699a704ae54",
"name": "Upload CV",
"type": "n8n-nodes-base.googleDrive",
"position": [
-200,
420
],
"parameters": {},
"typeVersion": 3
},
{
"id": "a78316b6-7aa0-492c-9420-fc93692d18e3",
"name": "OpenAI",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
820,
980
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "d3fd18b5-5ac3-46c2-ab71-61564afbde43",
"name": "Applicant's Details",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
440,
620
],
"parameters": {},
"typeVersion": 1
},
{
"id": "edee8eac-35db-4e9f-8e9d-bfee2026b0ac",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-680,
480
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "9b580432-b053-40eb-b7f7-3a6a4bf43220",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
200
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a08d6a5e-dd7f-43ff-85e6-b1c85c885423",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
40,
440
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "0d66c506-e075-42f9-b203-3d2d5c82b3a6",
"name": "Add Applicant's Details in Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
160,
620
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "9bddc163-93ae-4ac4-977d-617e3c131f5d",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
440
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "f3b53278-b5a7-4be1-a6f9-0838d716c312",
"name": "Summarize Applicant's Profile",
"type": "@n8n/n8n-nodes-langchain.chainSummarization",
"position": [
800,
620
],
"parameters": {},
"typeVersion": 2
},
{
"id": "90730922-8626-462d-a272-19a833e623ed",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
760,
440
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "7eeccf09-7000-46ad-8ae3-362355a55ded",
"name": "Get Job Description from Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
1240,
620
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "64c5518e-5ae8-47b2-8546-c34443a05277",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
440
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "f1a9a92f-38a3-471d-a881-adfec8300c6f",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1480,
440
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "ac959bc3-a3b8-466c-8b70-b26dde0278a3",
"name": "Summarize Job Role Description",
"type": "@n8n/n8n-nodes-langchain.chainSummarization",
"position": [
1520,
620
],
"parameters": {},
"typeVersion": 2
},
{
"id": "1f8df772-bac2-404d-9d97-6625d34b48f9",
"name": "Semantic Fit & Evaluation by HR Expert",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1880,
620
],
"parameters": {},
"typeVersion": 1.5
},
{
"id": "798f152f-04e9-4414-94ec-46a41ee23907",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1840,
340
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "449b61db-37ad-47ac-b0db-1d1e1db13a9a",
"name": "Update Evaluation Results in Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
1240,
1100
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "ab4ba4ba-691f-46bc-b8cb-1bba7aaa613a",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
920
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "782f1308-9d27-40fd-babd-ac600eba5463",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1480,
920
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "ce880485-99d2-4123-bb52-de6d9f1625e5",
"name": "Notify TA for Approval via Email",
"type": "n8n-nodes-base.emailSend",
"position": [
1600,
1100
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "be24af1d-3768-443e-a9d6-60463a2cc76f",
"name": "Approval Check - IF Condition",
"type": "n8n-nodes-base.if",
"position": [
1960,
1100
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "3ae04f71-2677-4e95-b217-5a67929e1c55",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1840,
920
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "8512ef39-ada3-48e6-8be3-c7ec27d24031",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
2200,
500
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "862cccbc-4ebf-4aea-9bf4-7f3511e13ffd",
"name": "Send Shortlist Email to Candidate",
"type": "n8n-nodes-base.emailSend",
"position": [
2300,
680
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "86985d78-5205-45e0-985b-9f5eef074271",
"name": "Send Rejection Email to Candidate",
"type": "n8n-nodes-base.emailSend",
"position": [
2320,
1100
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "905352eb-013e-48d6-9444-181919362009",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
2200,
920
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "59757e6e-4a3b-4683-ae45-18bffa2c521f",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
200
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"connections": {
"OpenAI": {
"ai_languageModel": [
[
{
"node": "Applicant's Details",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Summarize Applicant's Profile",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Semantic Fit & Evaluation by HR Expert",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Summarize Job Role Description",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Extract from File": {
"main": [
[
{
"node": "Add Applicant's Details in Google Sheet",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Upload CV",
"type": "main",
"index": 0
},
{
"node": "Extract from File",
"type": "main",
"index": 0
}
]
]
},
"Applicant's Details": {
"main": [
[
{
"node": "Summarize Applicant's Profile",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Semantic Fit & Evaluation by HR Expert",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Approval Check - IF Condition": {
"main": [
[
{
"node": "Send Shortlist Email to Candidate",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Rejection Email to Candidate",
"type": "main",
"index": 0
}
]
]
},
"Summarize Applicant's Profile": {
"main": [
[
{
"node": "Get Job Description from Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Summarize Job Role Description": {
"main": [
[
{
"node": "Semantic Fit & Evaluation by HR Expert",
"type": "main",
"index": 0
}
]
]
},
"Notify TA for Approval via Email": {
"main": [
[
{
"node": "Approval Check - IF Condition",
"type": "main",
"index": 0
}
]
]
},
"Get Job Description from Google Sheets": {
"main": [
[
{
"node": "Summarize Job Role Description",
"type": "main",
"index": 0
}
]
]
},
"Semantic Fit & Evaluation by HR Expert": {
"main": [
[
{
"node": "Update Evaluation Results in Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Add Applicant's Details in Google Sheet": {
"main": [
[
{
"node": "Applicant's Details",
"type": "main",
"index": 0
}
]
]
},
"Update Evaluation Results in Google Sheets": {
"main": [
[
{
"node": "Notify TA for Approval via Email",
"type": "main",
"index": 0
}
]
]
}
}
}
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, staffing agencies, and tech-enabled hiring managers looking to automate the intake, analysis, and shortlisting of job applicants directly from CV submissions.
Source: https://n8n.io/workflows/4055/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.
This end-to-end AI-powered recruitment automation workflow helps HR and talent acquisition teams automate the complete hiring pipeline—from resume intake and parsing to GPT-4-based evaluation, TA appr
This workflow is perfect for graphic designers, creative agencies, marketing teams, or freelancers who regularly use AI-generated images in their projects. It's specifically beneficial for teams that
[](https://www.youtube.com/watch?v=MD1krFvVKdU) Automatically extract, evaluate, and shortlist multiple resumes against a selected job description using GPT-4. This smart, scalable n8n workflow helps
[](https://youtu.be/-KHze-bRpqQ)