This workflow corresponds to n8n.io template #10201 — we link there as the canonical source.
This workflow follows the Agent → Form Trigger 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": "c89cf5b9-6261-4c9f-bda2-137f424dd80d",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
128,
0
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "d7bb8be4-ddff-4266-a10d-3c028144934c",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1952,
0
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "5c085c5f-555a-42c1-8094-4d5bfad5d463",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1952,
224
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c9b82f06-82e0-4978-afd9-32e0222bc009",
"name": "Get PDF Data Only",
"type": "n8n-nodes-base.set",
"position": [
1344,
0
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "a2956443-d047-4658-87ef-443e15e24b2a",
"name": "Get PDF Files/File",
"type": "n8n-nodes-base.googleDrive",
"position": [
736,
0
],
"parameters": {},
"typeVersion": 3
},
{
"id": "df7a5048-3e31-4fa9-9d61-32a47f7c60aa",
"name": "Download Retrieval Files/File",
"type": "n8n-nodes-base.googleDrive",
"position": [
928,
0
],
"parameters": {},
"typeVersion": 3
},
{
"id": "56f54c29-38e2-4e0f-a914-7b51b904fabd",
"name": "Extract Files/File's Data",
"type": "n8n-nodes-base.extractFromFile",
"position": [
1152,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e76a18f5-0dcd-4cd7-8019-da4d006570c5",
"name": "Data Parser & Cleaner",
"type": "n8n-nodes-base.code",
"position": [
1520,
0
],
"parameters": {},
"typeVersion": 2
},
{
"id": "03b45197-d407-4fd6-9c74-dc4fca9b42a6",
"name": "HTML to PDF",
"type": "n8n-nodes-base.httpRequest",
"position": [
2304,
0
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "1e1f4f8f-f7c0-4a20-9cdb-631de729782e",
"name": "Send a message",
"type": "n8n-nodes-base.gmail",
"position": [
3504,
-16
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "bbf55acd-12a9-4664-83ca-f5c931ad263f",
"name": "Cover Letter Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2304,
-576
],
"parameters": {},
"typeVersion": 2.2,
"alwaysOutputData": false
},
{
"id": "11400dcf-7f61-4f70-a795-13aff9ca7faa",
"name": "Google Gemini Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
2304,
-400
],
"parameters": {},
"typeVersion": 1
},
{
"id": "45a222ec-a0c2-4d16-a834-c91b25637a59",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
3264,
-16
],
"parameters": {},
"typeVersion": 3.2,
"alwaysOutputData": true
},
{
"id": "c7107927-74fc-4726-a2f6-876eaa6be8fe",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
720,
-560
],
"parameters": {},
"typeVersion": 3.3,
"alwaysOutputData": true
},
{
"id": "ded58812-a204-439f-a7ab-ac2b2d828322",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
928,
-560
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "0d849ae2-9bf6-419c-9a2b-adeb4638fa69",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-928,
-800
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "40584612-37e4-41ee-a9d6-f4667c94496e",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
704,
-272
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "3dd1078b-30dc-43ed-8f2b-a131163d9c5e",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1104,
-272
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "8d97ef77-1e43-4906-90cb-99c31b450ab1",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1824,
-224
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "6029c5a0-1258-4414-8a63-ec6be6790e62",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
704,
-688
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "f268956e-ba79-42c8-84d2-8c1b519f5ae5",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2240,
-720
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b4f1e77f-f5ef-4ccc-8e1e-c4ad253649a8",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
3408,
-176
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "5eeca8bd-2644-4dac-8ce0-8a084f635156",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
64,
-208
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"connections": {
"If": {
"main": [
[
{
"node": "Cover Letter Agent",
"type": "main",
"index": 0
}
],
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Send a message",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "HTML to PDF",
"type": "main",
"index": 0
}
]
]
},
"HTML to PDF": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Send a message": {
"main": [
[]
]
},
"Get PDF Data Only": {
"main": [
[
{
"node": "Data Parser & Cleaner",
"type": "main",
"index": 0
}
]
]
},
"Cover Letter Agent": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Get PDF Files/File": {
"main": [
[
{
"node": "Download Retrieval Files/File",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Get PDF Files/File",
"type": "main",
"index": 0
},
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Data Parser & Cleaner": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Extract Files/File's Data": {
"main": [
[
{
"node": "Get PDF Data Only",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model1": {
"ai_languageModel": [
[
{
"node": "Cover Letter Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Download Retrieval Files/File": {
"main": [
[
{
"node": "Extract Files/File's Data",
"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 n8n template automates the process of creating ATS-friendly resumes and personalized cover letters from uploaded pdf resume.
Source: https://n8n.io/workflows/10201/ — 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.
Arvifund - Supabase (Fixed v6). Uses httpRequest, telegram, supabase, telegramTrigger. Event-driven trigger; 92 nodes.
Arvifund - Supabase (Fixed v5). Uses httpRequest, telegram, googleSheets, telegramTrigger. Event-driven trigger; 91 nodes.
Arvifund - Supabase. Uses httpRequest, telegram, googleSheets, telegramTrigger. Event-driven trigger; 90 nodes.
Arvifund - Supabase (Fixed v2). Uses httpRequest, telegram, googleSheets, telegramTrigger. Event-driven trigger; 90 nodes.
Arvifund - Supabase (Fixed v4). Uses httpRequest, telegram, googleSheets, telegramTrigger. Event-driven trigger; 90 nodes.