내 워크플로우
고급
이것은자동화 워크플로우로, 27개의 노드를 포함합니다.주로 Set, Code, Html, Wait, Gmail 등의 노드를 사용하며. LinkedIn, Google Sheets 및 AI 이력서 점수 매기기와 자기소개서를 사용한 채용 공고 검색 자동화
사전 요구사항
- •Google 계정 및 Gmail API 인증 정보
- •Google Drive API 인증 정보
- •대상 API의 인증 정보가 필요할 수 있음
- •Google Sheets API 인증 정보
- •Google Gemini API Key
사용된 노드 (27)
카테고리
-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "SrQYoBJKHtuSzi6B",
"meta": {
"instanceId": "1da5d9ac3e2974ca203c09fc21d9eb832e61e497fa9e11c9fbcaae0e18a9c185",
"templateCredsSetupCompleted": true
},
"name": "My workflow",
"tags": [],
"nodes": [
{
"id": "9dd871da-bb3b-4ebe-963b-128fcff34099",
"name": "파일 다운로드",
"type": "n8n-nodes-base.googleDrive",
"position": [
208,
0
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "url",
"value": ""
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "AcZcDztmyUtsa3Kc",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "6bdbd596-b061-427a-b97c-e789fe7090a4",
"name": "파일에서 추출",
"type": "n8n-nodes-base.extractFromFile",
"position": [
416,
0
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "484e0f62-0d1a-4637-8b58-4942d6d0a4e0",
"name": "시트에서 행 가져오기",
"type": "n8n-nodes-base.googleSheets",
"position": [
624,
0
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1m_p1yu6j10cuHK-bImqz86Oraegz5j9ii2u5LJqxg1g/edit#gid=0",
"cachedResultName": "Filter"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1m_p1yu6j10cuHK-bImqz86Oraegz5j9ii2u5LJqxg1g",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1m_p1yu6j10cuHK-bImqz86Oraegz5j9ii2u5LJqxg1g/edit?usp=drivesdk",
"cachedResultName": "Job Search N8N"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "oD5JyqmvqMOPNTeR",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "c4bc1e36-3acb-4637-a867-085a3079eb14",
"name": "LinkedIn 검색 URL",
"type": "n8n-nodes-base.code",
"position": [
832,
0
],
"parameters": {
"jsCode": "let url = \"https://www.linkedin.com/jobs/search/?f_TPR=r86400\"\n\nconst keyword = $input.first().json.Keyword\nconst location = $input.first().json.Location\nconst experienceLevel = $input.first().json['Experience Level']\nconst remote = $input.first().json.Remote\nconst easyApply = $input.first().json['Easy Apply']\n\nif (keyword != \"\") {\n url += `&keywords=${keyword}`;\n}\n\nif (location != \"\") {\n url += `&location=${location}`;\n}\n\nif (experienceLevel !== \"\") {\n // Transform experience levels to LinkedIn codes\n // Internship -> 1, Entry level -> 2, Associate -> 3\n // Mid-Senior level -> 4, Director -> 5, Executive -> 6\n const transformedExperiences = experienceLevel\n .split(\",\")\n .map((exp) => {\n switch (exp.trim()) {\n case \"Internship\": return \"1\";\n case \"Entry level\": return \"2\";\n case \"New Grad\": return \"3\";\n default: return \"\";\n }\n })\n .filter(Boolean);\n url += `&f_E=${transformedExperiences.join(\",\")}`;\n}\n\nif (remote.length != \"\") {\n // Transform remote options to LinkedIn codes\n // On-Site -> 1, Remote -> 2, Hybrid -> 3\n const transformedRemote = remote\n .split(\",\")\n .map((e) => {\n switch (e.trim()) {\n case \"Remote\": return \"2\";\n case \"Hybrid\": return \"3\";\n case \"On-Site\": return \"1\";\n default: return \"\";\n }\n })\n .filter(Boolean);\n url += `&f_WT=${transformedRemote.join(\",\")}`;\n}\n\nif (easyApply != \"\") {\n url += \"&f_EA=true\";\n}\n\nreturn {url}\n"
},
"typeVersion": 2
},
{
"id": "dc8f887e-81e6-44bf-a356-13f61d6a0388",
"name": "LinkedIn에서 채용 공고 가져오기",
"type": "n8n-nodes-base.httpRequest",
"position": [
1040,
0
],
"parameters": {
"url": "={{ $json.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "c9e59fa5-49df-47bb-89c0-87ab7845fd2f",
"name": "HTML",
"type": "n8n-nodes-base.html",
"position": [
1248,
0
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "jobs",
"attribute": "href",
"cssSelector": "ul.jobs-search__results-list li div a[class*=\"base-card\"]",
"returnArray": true,
"returnValue": "attribute"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "c2aec608-8302-4bcd-a00b-2e3d293b89bf",
"name": "분할",
"type": "n8n-nodes-base.splitOut",
"position": [
1456,
0
],
"parameters": {
"options": {},
"fieldToSplitOut": "jobs"
},
"typeVersion": 1
},
{
"id": "00612b80-a789-4615-9942-e62584e22fdf",
"name": "항목 반복",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1568,
816
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "293a9da0-abfd-491c-9ee6-926fb6de30f1",
"name": "대기",
"type": "n8n-nodes-base.wait",
"position": [
-32,
208
],
"webhookId": "12409f66-fbe7-48bd-b9d7-68449f197264",
"parameters": {
"amount": 2
},
"typeVersion": 1.1
},
{
"id": "2f0cb178-8831-458f-9c8c-f9fbbc52abbc",
"name": "HTTP 요청",
"type": "n8n-nodes-base.httpRequest",
"position": [
176,
208
],
"parameters": {
"url": "={{ $json.jobs }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "33d05837-7b57-4f7d-9aa1-d79fe3e71753",
"name": "HTML1",
"type": "n8n-nodes-base.html",
"position": [
384,
208
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "Title",
"cssSelector": "div h1"
},
{
"key": "Company",
"cssSelector": "div span a"
},
{
"key": "Location",
"cssSelector": "div span[class*='topcard__flavor topcard__flavor--bullet']"
},
{
"key": "Description",
"cssSelector": "div.description__text.description__text--rich"
},
{
"key": "Job ID",
"attribute": "data-semaphore-content-urn",
"cssSelector": "a[data-item-type='semaphore']",
"returnValue": "attribute"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "43feb566-7427-455c-9109-2a6ba56764f7",
"name": "필드 편집",
"type": "n8n-nodes-base.set",
"position": [
592,
208
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "240418dc-3349-48d5-ba59-3aa590d71950",
"name": "Description",
"type": "string",
"value": "={{ $json.Description.replaceAll(/\\s+/g, \" \")}}"
},
{
"id": "7b24938f-8b47-488d-9f65-54d036dcffd5",
"name": "Job ID",
"type": "string",
"value": "={{ $json['Job ID'].split(\":\").last() }}"
},
{
"id": "d6addada-9e01-464f-a768-c19f6224c491",
"name": "Apply Link",
"type": "string",
"value": "={{ \"https://www.linkedin.com/jobs/view/\"+ $json['Job ID'].split(\":\").last() }}"
},
{
"id": "21c89d3a-c8b6-44eb-9719-9ae5716a7c76",
"name": "Title",
"type": "string",
"value": "={{ $json.Title }}"
},
{
"id": "da713845-9a81-486e-bff2-1613105e424d",
"name": "Company",
"type": "string",
"value": "={{ $json.Company }}"
},
{
"id": "1a9a31dd-8d51-4f35-b6b6-ca8a348de5d7",
"name": "Location",
"type": "string",
"value": "={{ $json.Location }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8d9894bd-66fe-4069-aff0-84d351b8b5b4",
"name": "AI 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
32,
464
],
"parameters": {
"text": "=You are a precise job-matching assistant.\n\nReturn ONE JSON object wrapped in ```json fences, followed by the line END_OF_JSON.\nNo extra prose. No Markdown inside the JSON. No comments.\n\nINPUTS\njob_description: {{ $json.Description }}\nmy_resume: {{ $('Extract from File').item.json.text }}\n\nTASKS\n1) Parse job_description → job_analysis with keys:\n title (string), company (string), must_have_skills (string[]), nice_to_have_skills (string[]),\n responsibilities (string[]), years_of_experience (string), education_certifications (string),\n location_constraints (string), domain_industry_focus (string), tech_stack (string[]), measurable_kpis (string[])\n\n2) Parse my_resume → resume_analysis:\n core_skills (string[]),\n tools_tech { programming_languages[], frontend_technologies[], backend_technologies[], databases_devops[] },\n years_of_experience_key_areas (object of short strings),\n accomplishments_with_metrics (string[]),\n education_certs (string[]), domains (string[]), roles_titles (string[]),\n leadership_collaboration (string[]), location_work_auth (string)\n\n3) Scoring (integer 0–100):\n - Skills/Tools overlap: 40\n - Relevant experience & seniority: 25\n - Responsibilities alignment: 15\n - Education/Certs fit: 10\n - Domain/industry fit: 5\n - Logistics (location/work auth/availability): 5\n Allow partial credit; deduct up to 10 via red_flags. Clamp to [0,100], integer.\n\n4) Explain the score:\n For each bucket, provide 1–3 concise evidence bullets. Cite \"JD\" or \"Resume\" and include short quoted fragments (escape quotes).\n\n5) Gaps & Suggestions:\n List missing/weak requirements with 1–2 concrete upskilling steps per gap.\n\n6) Cover letter:\n 150–220 words (2–4 short paragraphs), tailored to the role/company.\n Concrete impacts; no greeting/signature. JSON-safe: escape all \" as \\\", use \\n for newlines.\n\nSTRICT CONTENT RULES (to prevent invalid JSON)\n- Do NOT paste raw paragraphs, markdown (**bold**, lists), headings, or multi-line blocks into any array fields.\n- Every array element must be a short phrase (≤ 140 characters), single line, no line breaks, no asterisks, no bullets.\n- If a JD section is long, summarize into short phrases before placing into arrays.\n- Do NOT include unrelated job text inside arrays or objects. Keep each value semantically atomic.\n- Never invent company/title; use \"\" if unknown.\n- No trailing commas anywhere.\n\nSTRICT OUTPUT RULES\n- Output exactly the following schema (keys and types). No extra keys.\n\nSCHEMA\n```json\n{\n \"job_analysis\": {\n \"title\": \"\",\n \"company\": \"\",\n \"must_have_skills\": [],\n \"nice_to_have_skills\": [],\n \"responsibilities\": [],\n \"years_of_experience\": \"\",\n \"education_certifications\": \"\",\n \"location_constraints\": \"\",\n \"domain_industry_focus\": \"\",\n \"tech_stack\": [],\n \"measurable_kpis\": []\n },\n \"resume_analysis\": {\n \"core_skills\": [],\n \"tools_tech\": {\n \"programming_languages\": [],\n \"frontend_technologies\": [],\n \"backend_technologies\": [],\n \"databases_devops\": []\n },\n \"years_of_experience_key_areas\": {},\n \"accomplishments_with_metrics\": [],\n \"education_certs\": [],\n \"domains\": [],\n \"roles_titles\": [],\n \"leadership_collaboration\": [],\n \"location_work_auth\": \"\"\n },\n \"match_score\": 0,\n \"score_explanation\": [\n { \"category\": \"Skills/Tools overlap (40 points)\", \"score\": 0, \"evidence\": [] },\n { \"category\": \"Relevant experience depth & seniority (25 points)\", \"score\": 0, \"evidence\": [] },\n { \"category\": \"Responsibilities alignment (15 points)\", \"score\": 0, \"evidence\": [] },\n { \"category\": \"Education/Certs fit (10 points)\", \"score\": 0, \"evidence\": [] },\n { \"category\": \"Domain/industry fit (5 points)\", \"score\": 0, \"evidence\": [] },\n { \"category\": \"Logistics (location, work auth, availability) (5 points)\", \"score\": 0, \"evidence\": [] }\n ],\n \"red_flags\": [],\n \"gaps_and_suggestions\": [\n { \"gap\": \"\", \"suggestion\": \"\" }\n ],\n \"cover_letter\": \"\"\n}\n",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "cc137b01-1f25-4ba5-955d-6fb7f947bcd6",
"name": "Google Gemini 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
32,
640
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "g6RyTSgLpUyQXe6T",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "4ef714a7-1e5d-4c45-b1fd-d961592ec459",
"name": "필드 편집1",
"type": "n8n-nodes-base.set",
"position": [
432,
656
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={{ (() => {\n // 0) Read model output from AI Agent node\n const raw = String(($('AI Agent').item.json.output ?? ''));\n\n // 1) Strip code fences\n let s = raw\n .replace(/`{2,3}(?:json)?\\s*/gi, '')\n .replace(/\\s*`{3}\\s*$/gi, '');\n\n // 1b) Normalize curly quotes (Gemini sometimes emits them)\n s = s.replace(/[\\u201C\\u201D]/g, '\"').replace(/\\u2019/g, \"'\");\n\n // 2) Cut at END_OF_JSON if present\n const endIdx = s.indexOf('END_OF_JSON');\n if (endIdx !== -1) s = s.slice(0, endIdx);\n\n // 3) Extract first complete { ... } by brace counting\n const start = s.indexOf('{');\n if (start < 0) return {};\n let depth = 0, inStr = false, esc = false, end = -1;\n for (let i = start; i < s.length; i++) {\n const ch = s[i];\n if (inStr) {\n if (esc) { esc = false; }\n else if (ch === '\\\\') { esc = true; }\n else if (ch === '\"') { inStr = false; }\n } else {\n if (ch === '\"') inStr = true;\n else if (ch === '{') depth++;\n else if (ch === '}') { depth--; if (depth === 0) { end = i + 1; break; } }\n }\n }\n if (end < 0) return {};\n\n const cleaned = s.slice(start, end).trim();\n\n try {\n return JSON.parse(cleaned); // JSON mode expects an OBJECT\n } catch (e) {\n // As a last resort, return an empty object to keep the run alive\n return {};\n }\n})() }}\n"
},
"typeVersion": 3.4
},
{
"id": "b4795633-1f39-4d56-b19d-d2837d987d89",
"name": "AI 에이전트1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
736,
656
],
"parameters": {
"text": "You are a ruthless resume editor. Compare the inputs and output ONLY crisp, point-wise changes to improve job fit.\n\nInputs:\n- job_description: {{ $json.Description }}\n- my_resume: {{ $('Extract from File').item.json.text }}\n\nInstructions:\n- Output a numbered list; highest-impact first.\n- One line per point; <= 14 words.\n- Start each line with a tag: [ADD], [REMOVE], [REWRITE], [ORDER], [QUANTIFY], [KEYWORDS], [FORMAT], [FOCUS].\n- Base every point on gaps vs. the job_description; do not invent experience.\n- Prefer concrete actions: skills to add, bullets to rewrite, sections to reorder/remove.\n- Include one line: 'Missing keywords: term1, term2, ...' (only if any).\n- No intros, explanations, code fences, or extra text - points only.\n\nOutput: points only, exactly as specified above.",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "5e3518b8-e203-45ba-9d02-356edf668c0c",
"name": "Google Gemini 채팅 모델1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
736,
816
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "g6RyTSgLpUyQXe6T",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "ca1e037d-bb59-455c-8738-f1e1ce89f2b4",
"name": "시트1에 행 추가 또는 업데이트",
"type": "n8n-nodes-base.googleSheets",
"position": [
1072,
656
],
"parameters": {
"columns": {
"value": {
"Link": "={{ $('Edit Fields').item.json['Apply Link'] }}",
"Score": "={{ $('Edit Fields1').item.json.match_score }}",
"Title": "={{ $('Edit Fields').item.json.Title }}",
"Skills": "={{ $('Edit Fields1').item.json.resume_analysis.core_skills }}",
"Locaton": "={{ $('Edit Fields').item.json.Location }}",
"Company ": "={{ $('Edit Fields').item.json.Company }}",
"Cover Letter": "={{ $('Edit Fields1').item.json.cover_letter }}",
"Improvements": "={{ $json.output }}"
},
"schema": [
{
"id": "Title",
"type": "string",
"display": true,
"required": false,
"displayName": "Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company ",
"type": "string",
"display": true,
"required": false,
"displayName": "Company ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Locaton",
"type": "string",
"display": true,
"required": false,
"displayName": "Locaton",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Link",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Score",
"type": "string",
"display": true,
"required": false,
"displayName": "Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Cover Letter",
"type": "string",
"display": true,
"required": false,
"displayName": "Cover Letter",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Skills",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Skills",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Improvements",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Improvements",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Link"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 11035642,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1m_p1yu6j10cuHK-bImqz86Oraegz5j9ii2u5LJqxg1g/edit#gid=11035642",
"cachedResultName": "Result"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1m_p1yu6j10cuHK-bImqz86Oraegz5j9ii2u5LJqxg1g",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1m_p1yu6j10cuHK-bImqz86Oraegz5j9ii2u5LJqxg1g/edit?usp=drivesdk",
"cachedResultName": "Job Search N8N"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "oD5JyqmvqMOPNTeR",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "d2b5241e-c511-42c9-8301-e75c1b5c22c9",
"name": "메시지 보내기",
"type": "n8n-nodes-base.gmail",
"position": [
1984,
800
],
"webhookId": "f0d6158b-a72b-4e84-8f3e-0e8ecfaeda72",
"parameters": {
"sendTo": "<your e-mail address>",
"message": "Hey, your job search results with resume changes are ready in your sheet for today",
"options": {},
"subject": "Job search results",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "Zd1C7CJsZcTcApAG",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "9100d62e-1108-4ba2-b6dd-91576b1c015b",
"name": "스티커 메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
112,
-240
],
"parameters": {
"height": 192,
"content": "## Add Google Cloud Credentials\n\n1. sign in with google\n2. Upload your resume and change to anyone can view\n3. Paste your link\n"
},
"typeVersion": 1
},
{
"id": "ff1c1aad-5ab0-49c3-805a-092e1e371985",
"name": "스티커 메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
-224
],
"parameters": {
"height": 176,
"content": "## Add Google Cloud Credentials\n\n1. sign in with google\n2. Prepare your sheet filter\n3. Add your sheet Link"
},
"typeVersion": 1
},
{
"id": "9d6df7e1-3a16-483b-add7-9d0e2fc95498",
"name": "스티커 메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1904,
592
],
"parameters": {
"content": "## Add Google Cloud Credentials\n\n- sign in with google\n- Enter your e-mail address"
},
"typeVersion": 1
},
{
"id": "986e4584-7f86-4a56-97d4-f6a09835808e",
"name": "스티커 메모3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1008,
448
],
"parameters": {
"height": 176,
"content": "## Add Google Cloud Credentials\n\n1. sign in with google\n2. Select your sheet and sub sheet"
},
"typeVersion": 1
},
{
"id": "b4e4313d-e9e1-4e81-a613-de7de233eec1",
"name": "스티커 메모4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
784
],
"parameters": {
"height": 176,
"content": "## Add Gemini Free tier api key\n\n1. sign in with google\n2. Create API key and project\n3. Add Free Tier key"
},
"typeVersion": 1
},
{
"id": "65c1327d-e61b-47ee-bd55-8ddf43c58cd8",
"name": "스티커 메모5",
"type": "n8n-nodes-base.stickyNote",
"position": [
640,
464
],
"parameters": {
"height": 176,
"content": "## Add Gemini Free tier api key\n\n1. sign in with google\n2. Create API key and project\n3. Add Free Tier key"
},
"typeVersion": 1
},
{
"id": "94653150-71a5-411b-bed3-a0771b9fef44",
"name": "스케줄 트리거",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-48,
0
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 5
}
]
}
},
"typeVersion": 1.2
},
{
"id": "c28849bf-1393-41d1-88e7-aa2d1c8c3c8c",
"name": "스티커 메모6",
"type": "n8n-nodes-base.stickyNote",
"position": [
640,
-624
],
"parameters": {
"height": 320,
"content": "# Job search ultimate workflow - @jugaldb\n\n1. Takes about 1 hour to run\n2. Finds all relevant jobs posted in last one day, runs at 5 AM everyday\n3. Sends you an e-mail whne complete"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "25e5c7d3-60ea-47bf-b4bc-cb62a22a3ad7",
"connections": {
"c9e59fa5-49df-47bb-89c0-87ab7845fd2f": {
"main": [
[
{
"node": "c2aec608-8302-4bcd-a00b-2e3d293b89bf",
"type": "main",
"index": 0
}
]
]
},
"293a9da0-abfd-491c-9ee6-926fb6de30f1": {
"main": [
[
{
"node": "2f0cb178-8831-458f-9c8c-f9fbbc52abbc",
"type": "main",
"index": 0
}
]
]
},
"33d05837-7b57-4f7d-9aa1-d79fe3e71753": {
"main": [
[
{
"node": "43feb566-7427-455c-9109-2a6ba56764f7",
"type": "main",
"index": 0
}
]
]
},
"8d9894bd-66fe-4069-aff0-84d351b8b5b4": {
"main": [
[
{
"node": "4ef714a7-1e5d-4c45-b1fd-d961592ec459",
"type": "main",
"index": 0
}
]
]
},
"b4795633-1f39-4d56-b19d-d2837d987d89": {
"main": [
[
{
"node": "ca1e037d-bb59-455c-8738-f1e1ce89f2b4",
"type": "main",
"index": 0
}
]
]
},
"c2aec608-8302-4bcd-a00b-2e3d293b89bf": {
"main": [
[
{
"node": "00612b80-a789-4615-9942-e62584e22fdf",
"type": "main",
"index": 0
}
]
]
},
"43feb566-7427-455c-9109-2a6ba56764f7": {
"main": [
[
{
"node": "8d9894bd-66fe-4069-aff0-84d351b8b5b4",
"type": "main",
"index": 0
}
]
]
},
"4ef714a7-1e5d-4c45-b1fd-d961592ec459": {
"main": [
[
{
"node": "b4795633-1f39-4d56-b19d-d2837d987d89",
"type": "main",
"index": 0
}
]
]
},
"2f0cb178-8831-458f-9c8c-f9fbbc52abbc": {
"main": [
[
{
"node": "33d05837-7b57-4f7d-9aa1-d79fe3e71753",
"type": "main",
"index": 0
}
]
]
},
"9dd871da-bb3b-4ebe-963b-128fcff34099": {
"main": [
[
{
"node": "6bdbd596-b061-427a-b97c-e789fe7090a4",
"type": "main",
"index": 0
}
]
]
},
"00612b80-a789-4615-9942-e62584e22fdf": {
"main": [
[
{
"node": "d2b5241e-c511-42c9-8301-e75c1b5c22c9",
"type": "main",
"index": 0
}
],
[
{
"node": "293a9da0-abfd-491c-9ee6-926fb6de30f1",
"type": "main",
"index": 0
}
]
]
},
"94653150-71a5-411b-bed3-a0771b9fef44": {
"main": [
[
{
"node": "9dd871da-bb3b-4ebe-963b-128fcff34099",
"type": "main",
"index": 0
}
]
]
},
"6bdbd596-b061-427a-b97c-e789fe7090a4": {
"main": [
[
{
"node": "484e0f62-0d1a-4637-8b58-4942d6d0a4e0",
"type": "main",
"index": 0
}
]
]
},
"484e0f62-0d1a-4637-8b58-4942d6d0a4e0": {
"main": [
[
{
"node": "c4bc1e36-3acb-4637-a867-085a3079eb14",
"type": "main",
"index": 0
}
]
]
},
"c4bc1e36-3acb-4637-a867-085a3079eb14": {
"main": [
[
{
"node": "dc8f887e-81e6-44bf-a356-13f61d6a0388",
"type": "main",
"index": 0
}
]
]
},
"dc8f887e-81e6-44bf-a356-13f61d6a0388": {
"main": [
[
{
"node": "c9e59fa5-49df-47bb-89c0-87ab7845fd2f",
"type": "main",
"index": 0
}
]
]
},
"cc137b01-1f25-4ba5-955d-6fb7f947bcd6": {
"ai_languageModel": [
[
{
"node": "8d9894bd-66fe-4069-aff0-84d351b8b5b4",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"5e3518b8-e203-45ba-9d02-356edf668c0c": {
"ai_languageModel": [
[
{
"node": "b4795633-1f39-4d56-b19d-d2837d987d89",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"ca1e037d-bb59-455c-8738-f1e1ce89f2b4": {
"main": [
[
{
"node": "00612b80-a789-4615-9942-e62584e22fdf",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Mistral AI, LinkedIn 및 Google Sheets를 사용한 구직 활동 및 이력서 맞춤화 자동화
Mistral AI, LinkedIn 및 Google Sheets를 사용한 채용 공고 검색 및 이력서 맞춤화 자동화
Set
Code
Html
+
Set
Code
Html
46 노드Jordan Hoyle
개인 생산성
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타
LinkedIn 직업 검색
LinkedIn 직업 검색: 자동 이력서 매칭(GPT/Gemini) + 취업서생성기 + Telegram 알림
If
Set
Code
+
If
Set
Code
33 노드Hojjat Jashnniloofar
개인 생산성
인보이스 처리 및 검증 - n8n 템플릿
Gmail, Drive, 스프레드시트 및 OCR AI를 기반으로 한 인보이스��인 및 확인
If
Set
Code
+
If
Set
Code
47 노드Dhrumil Patel
금융
반려동물 가게 4
🐶 펫 샵 예약 AI 대리자
If
Set
Code
+
If
Set
Code
187 노드Bruno Dias
인공지능
第一轮 Telegram 및 LinkedIn 快速通道 AI 招聘어시스턴트
AI候选人筛选流程:LinkedIn로Telegram,통합Gemini与Apify
If
Set
Code
+
If
Set
Code
55 노드Dean Pike
인사
워크플로우 정보
난이도
고급
노드 수27
카테고리-
노드 유형15
저자
Jugal
@jugaldbMaster’s in US 🇺🇸 | Travel | Jobs SDE @amazon👨💻 MSCS @illinois1867 🚀 for FREE, ask me how Yapping about education abroad! Free Resources👇🏻
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유