Mes flux de travail
Ceci est uncontenant 27 nœuds.Utilise principalement des nœuds comme Set, Code, Html, Wait, Gmail. Automatisation de la recherche d'offres d'emploi avec LinkedIn, Google Sheets, notation de CV IA et lettres de motivation automatisées
- •Compte Google et informations d'identification Gmail API
- •Informations d'identification Google Drive API
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Informations d'identification Google Sheets API
- •Clé API Google Gemini
Nœuds utilisés (27)
Catégorie
{
"id": "SrQYoBJKHtuSzi6B",
"meta": {
"instanceId": "1da5d9ac3e2974ca203c09fc21d9eb832e61e497fa9e11c9fbcaae0e18a9c185",
"templateCredsSetupCompleted": true
},
"name": "My workflow",
"tags": [],
"nodes": [
{
"id": "9dd871da-bb3b-4ebe-963b-128fcff34099",
"name": "Télécharger le fichier",
"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": "Extraire du fichier",
"type": "n8n-nodes-base.extractFromFile",
"position": [
416,
0
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "484e0f62-0d1a-4637-8b58-4942d6d0a4e0",
"name": "Obtenir la/les ligne(s) dans la feuille",
"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": "URL de recherche LinkedIn",
"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": "Récupérer les offres depuis 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": "Diviser",
"type": "n8n-nodes-base.splitOut",
"position": [
1456,
0
],
"parameters": {
"options": {},
"fieldToSplitOut": "jobs"
},
"typeVersion": 1
},
{
"id": "00612b80-a789-4615-9942-e62584e22fdf",
"name": "Boucler sur les éléments",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1568,
816
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "293a9da0-abfd-491c-9ee6-926fb6de30f1",
"name": "Attendre",
"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": "Requête 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": "Modifier les champs",
"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": "Agent IA",
"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": "Modèle de chat 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": "Modifier les champs1",
"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": "Agent IA1",
"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": "Modèle de chat Google Gemini1",
"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": "Ajouter ou mettre à jour une ligne dans sheet1",
"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": "Envoyer un message",
"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": "Note autocollante",
"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": "Note autocollante1",
"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": "Note autocollante2",
"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": "Note autocollante3",
"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": "Note autocollante4",
"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": "Note autocollante5",
"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": "Déclencheur programmé",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-48,
0
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 5
}
]
}
},
"typeVersion": 1.2
},
{
"id": "c28849bf-1393-41d1-88e7-aa2d1c8c3c8c",
"name": "Note autocollante6",
"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
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Jugal
@jugaldbMaster’s in US 🇺🇸 | Travel | Jobs SDE @amazon👨💻 MSCS @illinois1867 🚀 for FREE, ask me how Yapping about education abroad! Free Resources👇🏻
Partager ce workflow