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 →
{
"name": "Job Pipeline",
"nodes": [
{
"parameters": {},
"id": "024f52fb-ebed-4ecb-ace3-31a549f3aad1",
"name": "Start Pipeline",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
-368,
-48
]
},
{
"parameters": {
"command": "py -3.12 ./jobspy_scraper.py"
},
"type": "n8n-nodes-base.executeCommand",
"typeVersion": 1,
"position": [
-176,
-192
],
"id": "608a1826-8fd5-4a16-a19a-1e137eb1d279",
"name": "1. Scrape Indeed"
},
{
"parameters": {
"command": "py -3.12 ./linkedin_scraper.py"
},
"type": "n8n-nodes-base.executeCommand",
"typeVersion": 1,
"position": [
-176,
128
],
"id": "67f87d12-c2a2-4b6a-ae9d-8bf090cfbc06",
"name": "2. Scrape LinkedIn"
},
{
"parameters": {
"command": "py -3.12 ./arbeitnow_scraper.py"
},
"type": "n8n-nodes-base.executeCommand",
"typeVersion": 1,
"position": [
-176,
-48
],
"id": "52fffac9-e696-45e1-abd6-06c22461797e",
"name": "3. Scrape Arbeitnow"
},
{
"parameters": {
"command": "py -3.12 ./job_filter.py"
},
"type": "n8n-nodes-base.executeCommand",
"typeVersion": 1,
"position": [
288,
-32
],
"id": "f4af04d2-7f41-464e-a980-a03c24035454",
"name": "4. Filter Jobs"
},
{
"parameters": {
"command": "py -3.12 ./job_scorer.py"
},
"type": "n8n-nodes-base.executeCommand",
"typeVersion": 1,
"position": [
496,
-32
],
"id": "c664695f-0625-4dcb-a327-42703fc96a5c",
"name": "5. Score Jobs (DeepSeek)"
},
{
"parameters": {
"command": "py -3.12 ./cover_letter_generator.py --auto"
},
"type": "n8n-nodes-base.executeCommand",
"typeVersion": 1,
"position": [
704,
-32
],
"id": "c2f4c287-8419-46ae-98e9-68fa21e986c5",
"name": "6. Submit Cover Letters"
},
{
"parameters": {
"command": "py -3.12 ./sheets_upload.py"
},
"type": "n8n-nodes-base.executeCommand",
"typeVersion": 1,
"position": [
912,
-32
],
"id": "40505c38-ef7d-4a51-9fec-0c0f51ae8cdc",
"name": "7. Upload to Sheets"
},
{
"parameters": {
"numberInputs": 3
},
"type": "n8n-nodes-base.merge",
"typeVersion": 3.2,
"position": [
80,
-48
],
"id": "d58596d5-2041-45be-abe9-603b2f413fbb",
"name": "Merge"
}
],
"connections": {
"Start Pipeline": {
"main": [
[
{
"node": "1. Scrape Indeed",
"type": "main",
"index": 0
},
{
"node": "3. Scrape Arbeitnow",
"type": "main",
"index": 0
},
{
"node": "2. Scrape LinkedIn",
"type": "main",
"index": 0
}
]
]
},
"1. Scrape Indeed": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"2. Scrape LinkedIn": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 2
}
]
]
},
"3. Scrape Arbeitnow": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"4. Filter Jobs": {
"main": [
[
{
"node": "5. Score Jobs (DeepSeek)",
"type": "main",
"index": 0
}
]
]
},
"5. Score Jobs (DeepSeek)": {
"main": [
[
{
"node": "6. Submit Cover Letters",
"type": "main",
"index": 0
}
]
]
},
"6. Submit Cover Letters": {
"main": [
[
{
"node": "7. Upload to Sheets",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "4. Filter Jobs",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1",
"binaryMode": "separate",
"availableInMCP": false
},
"versionId": "f7c784b8-f545-4983-9d8a-0bfc280effbf",
"id": "XDipVurzmI0NDvEU",
"tags": []
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Job Pipeline. Uses executeCommand. Event-driven trigger; 9 nodes.
Source: https://github.com/Babak-hasani/job-automation-pipeline/blob/main/n8n/job_pipeline_workflow.json — 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.
creda. Uses executeCommand, googleDrive, n8n. Event-driven trigger; 27 nodes.
Perfect for disaster recovery or migrating between environments, this workflow automatically identifies your most recent FTP backup and provides a manual restore capability that intelligently excludes
This n8n workflow template uses community nodes and is only compatible with the self-hosted version of n8n.
Perfect for disaster recovery or migrating between environments, this workflow automatically identifies your most recent backup and provides a manual restore capability that intelligently excludes the
N8N Workflow. Uses localFileTrigger, executeCommand, readWriteFile. Event-driven trigger; 16 nodes.