AI简历筛选:Gmail、GPT-4oetGoogle表格 - automatisation招聘流程
Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 23 nœuds.Utilise principalement des nœuds comme Set, Switch, GoogleDrive, HttpRequest, GmailTrigger. AI简历筛选:Gmail、GPT-4oetGoogle表格 - automatisation招聘流程
- •Informations d'identification Google Drive API
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Compte Google et informations d'identification Gmail API
- •Informations d'identification Google Sheets API
- •Clé API OpenAI
Nœuds utilisés (23)
Catégorie
{
"meta": {
"instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "7fa0a7c4-b938-4522-89ae-bf6e4fe71d83",
"name": "Guide d'installation",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
-272
],
"parameters": {
"width": 600,
"height": 1152,
"content": "# 🎯 AI Resume Screening & Candidate Pipeline\n\n**Created by:** **David Olusola**\n\n\n## 🚀 What This Workflow Does\n\nThis intelligent recruitment automation system:\n- **Monitors Gmail** for resume submissions\n- **Processes multiple file formats** (PDF, DOCX, TXT)\n- **Uses AI analysis** with GPT-4o for candidate evaluation\n- **Extracts contact info** automatically\n- **Scores candidates** against your job requirements\n- **Logs everything** to Google Sheets dashboard\n\n## ⚡ Quick Setup Checklist\n\n✅ Connect Gmail credentials\n✅ Connect Google Drive & Sheets credentials \n✅ Add your OpenAI API key\n✅ Update job description document ID\n✅ Copy the tracking spreadsheet template\n✅ Test with a sample resume\n\n## 📋 Required Integrations\n- Gmail (trigger)\n- Google Drive (file storage)\n- Google Sheets (data logging)\n- OpenAI GPT-4o (AI analysis)\n\n## 🎯 Use Cases\n- HR departments screening applicants\n- Recruiting agencies processing candidates\n- Startups managing hiring pipelines\n- Remote teams coordinating interviews\n\n\n Copy the [Google Sheet Template](https://docs.google.com/spreadsheets/d/1vucZgBrULNToEQMAQrFyWczpOzXxBU6rzCX0waIZyeM/edit?gid=0#gid=0) \nMake a copy of the sheet in your own Google Drive. This is where the workflow will write the parsed data back."
},
"typeVersion": 1
},
{
"id": "4d692884-2255-4ddf-b88d-8e7c30601c35",
"name": "Surveillance des e-mails",
"type": "n8n-nodes-base.stickyNote",
"position": [
848,
-64
],
"parameters": {
"color": 2,
"width": 686,
"height": 456,
"content": "## 📧 Email Monitoring\n\nWatches Gmail inbox for:\n- Resume attachments\n- Job application emails\n- Candidate submissions\n\nSupports multiple file formats:\n- PDF documents\n- Word documents (.docx)\n- Plain text files (.txt)"
},
"typeVersion": 1
},
{
"id": "d85372c3-dc71-4a37-86a1-aeebdec0a0e3",
"name": "Enregistrer sur Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1360,
224
],
"parameters": {
"name": "={{ $json.subject.replace(/[^a-zA-Z0-9]/g, '_') }}_resume_{{ $now.format('yyyy-MM-dd_HH-mm') }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "root",
"cachedResultName": "/ (Root folder)"
},
"inputDataFieldName": "attachment_0"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IPz4dCJVFC8uaoHw",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "2194e79e-a17b-417e-9ca3-7a9a43ab231a",
"name": "Router par type de fichier",
"type": "n8n-nodes-base.switch",
"position": [
1712,
208
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "PDF",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "pdf-check",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.mimeType }}",
"rightValue": "application/pdf"
}
]
},
"renameOutput": true
},
{
"outputKey": "DOCX",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "docx-check",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.mimeType }}",
"rightValue": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
}
]
},
"renameOutput": true
},
{
"outputKey": "TXT",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "txt-check",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.mimeType }}",
"rightValue": "text/plain"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "06633a74-1122-41f6-a4ce-92efb0da1a45",
"name": "Traitement des fichiers",
"type": "n8n-nodes-base.stickyNote",
"position": [
1536,
-192
],
"parameters": {
"color": 6,
"width": 1024,
"height": 792,
"content": "## 🔄 File Processing\n\nRoutes different file types:\n- **PDF**: Direct text extraction\n- **DOCX**: Convert to Google Doc first\n- **TXT**: Simple text processing\n\nAll paths converge to standardized text output"
},
"typeVersion": 1
},
{
"id": "0c9bb794-48bb-48cd-b672-88eda9aa4106",
"name": "Extraire le texte PDF",
"type": "n8n-nodes-base.extractFromFile",
"position": [
2288,
16
],
"parameters": {
"options": {
"maxPages": 10
},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "90aa13cb-dfcb-41c1-a7b7-598970122bca",
"name": "Convertir DOCX en Docs",
"type": "n8n-nodes-base.httpRequest",
"position": [
2000,
208
],
"parameters": {
"url": "=https://www.googleapis.com/drive/v2/files/{{ $json.id }}/copy",
"method": "POST",
"options": {},
"jsonBody": "{\n \"title\": \"{{ $json.name }}_converted\",\n \"mimeType\": \"application/vnd.google-apps.document\"\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "googleDriveOAuth2Api"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IPz4dCJVFC8uaoHw",
"name": "Google Drive account 2"
}
},
"typeVersion": 4.2
},
{
"id": "c9828dee-ca5b-4945-8768-35c739843724",
"name": "Obtenir le Doc en texte",
"type": "n8n-nodes-base.googleDrive",
"position": [
2304,
208
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {
"googleFileConversion": {
"conversion": {
"docsToFormat": "text/plain"
}
}
},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IPz4dCJVFC8uaoHw",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "a4dbee46-03d7-4c8d-8cc4-1935cb28d65a",
"name": "Télécharger le TXT",
"type": "n8n-nodes-base.googleDrive",
"position": [
2000,
400
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IPz4dCJVFC8uaoHw",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "2bb86d12-445b-48cf-93b2-1a29b8508054",
"name": "Extraire le contenu TXT",
"type": "n8n-nodes-base.extractFromFile",
"position": [
2304,
400
],
"parameters": {
"options": {},
"operation": "text",
"destinationKey": "resumeText"
},
"typeVersion": 1
},
{
"id": "6c783f5c-271e-4bf7-ab5e-97655267ae27",
"name": "Normaliser les données du CV",
"type": "n8n-nodes-base.set",
"position": [
2608,
208
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "resume-text",
"name": "candidateResume",
"type": "string",
"value": "={{ $json.text || $json.data || $json.resumeText }}"
},
{
"id": "original-email",
"name": "originalEmail",
"type": "object",
"value": "={{ $('Receive Resume').item.json }}"
},
{
"id": "drive-link",
"name": "driveLink",
"type": "string",
"value": "={{ $('Save to Drive').item.json.webViewLink }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c8ced4be-80bd-4faa-bf8e-6502d151a381",
"name": "Normalisation des données",
"type": "n8n-nodes-base.stickyNote",
"position": [
2576,
16
],
"parameters": {
"color": 3,
"width": 494,
"height": 344,
"content": "## 🔄 Data Standardization\n\nConverts all file types to consistent format:\n- Extracts plain text content\n- Preserves original email metadata\n- Adds Google Drive link reference\n- Prepares data for AI analysis"
},
"typeVersion": 1
},
{
"id": "0c0cb748-f4ec-4d5c-a564-ffccaf9a9edd",
"name": "Description de poste",
"type": "n8n-nodes-base.set",
"position": [
2912,
208
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "job-description",
"name": "jobDescription",
"type": "string",
"value": "Job Title: Senior Software Engineer\n\nWe are seeking a Senior Software Engineer to join our growing team. The ideal candidate will have:\n\nRequired Skills:\n- 5+ years of software development experience\n- Strong proficiency in JavaScript, Python, or Java\n- Experience with cloud platforms (AWS, GCP, Azure)\n- Database design and optimization experience\n- Agile development methodology experience\n\nPreferred Skills:\n- Full-stack development experience\n- DevOps and CI/CD pipeline experience\n- Team leadership experience\n- Experience with microservices architecture\n\nResponsibilities:\n- Design and develop scalable software solutions\n- Collaborate with cross-functional teams\n- Mentor junior developers\n- Participate in code reviews\n- Contribute to technical decision making"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c779750a-750e-44f6-9e22-d5a09a0f533e",
"name": "Analyse par le recruteur IA",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
3200,
208
],
"parameters": {
"text": "=**CANDIDATE RESUME:**\n\n{{ $('Extract PDF Text').item.json.text }}\n\n**JOB DESCRIPTION:**\n\n{{ $json.jobDescription }}",
"options": {
"systemMessage": "You are an expert technical recruiter and hiring manager with 15+ years of experience evaluating candidates across technology, business, and creative roles.\n\n# Your Mission\nAnalyze the candidate's resume against the provided job description and deliver a comprehensive, actionable screening report that helps hiring teams make informed decisions quickly.\n\n# Analysis Framework\nEvaluate the candidate across these dimensions:\n1. **Technical Skills Match** - Hard skills, tools, technologies\n2. **Experience Relevance** - Industry background, role progression\n3. **Cultural & Soft Skills Fit** - Leadership, communication, teamwork\n4. **Growth Potential** - Learning ability, adaptability, ambition\n5. **Red Flags** - Gaps, inconsistencies, concerns\n\n# Output Requirements\nProvide your analysis in this exact JSON structure - be specific and reference actual resume content.\n\n# Quality Standards\n- Reference specific resume content, not generalities\n- Consider both immediate needs and long-term potential\n- Balance optimism with realistic assessment\n- Provide actionable insights for hiring managers\n- Score from 1-10 where 8+ means \"definitely interview\""
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "7c14222a-0874-42a8-8044-fca5d58af083",
"name": "Analyseur de sortie structurée",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
3344,
448
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"candidate_strengths\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"description\": \"List of candidate's key strengths with evidence\"\n },\n \"candidate_weaknesses\": {\n \"type\": \"array\", \n \"items\": { \"type\": \"string\" },\n \"description\": \"List of areas where candidate falls short\"\n },\n \"risk_assessment\": {\n \"type\": \"object\",\n \"properties\": {\n \"level\": {\n \"type\": \"string\",\n \"enum\": [\"Low\", \"Medium\", \"High\"]\n },\n \"explanation\": {\n \"type\": \"string\",\n \"description\": \"Detailed risk analysis\"\n }\n }\n },\n \"opportunity_assessment\": {\n \"type\": \"object\",\n \"properties\": {\n \"level\": {\n \"type\": \"string\", \n \"enum\": [\"Low\", \"Medium\", \"High\"]\n },\n \"explanation\": {\n \"type\": \"string\",\n \"description\": \"Upside potential analysis\"\n }\n }\n },\n \"overall_score\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 10,\n \"description\": \"Overall fit score 1-10\"\n },\n \"score_justification\": {\n \"type\": \"string\",\n \"description\": \"Detailed explanation of the score\"\n },\n \"next_steps_recommendation\": {\n \"type\": \"string\",\n \"description\": \"Recommended next actions\"\n }\n },\n \"required\": [\"candidate_strengths\", \"candidate_weaknesses\", \"risk_assessment\", \"opportunity_assessment\", \"overall_score\", \"score_justification\", \"next_steps_recommendation\"]\n}"
},
"typeVersion": 1.3
},
{
"id": "0bf3800f-5f64-4ee7-abbf-0ea8fa27c273",
"name": "Modèle GPT-4o",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
3200,
432
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "gpt-4o-mini"
},
"options": {
"maxTokens": 2000,
"temperature": 0.3
}
},
"credentials": {
"openAiApi": {
"id": "BXMUxnyGzjtZQOK4",
"name": "OpenAi account Dave"
}
},
"typeVersion": 1.2
},
{
"id": "279926a6-030f-41ef-b202-77a277cd543e",
"name": "Moteur d'analyse IA",
"type": "n8n-nodes-base.stickyNote",
"position": [
3072,
-256
],
"parameters": {
"color": 5,
"width": 400,
"height": 892,
"content": "## 🤖 AI Analysis Engine\n\n**Powered by GPT-4o**\n\nAnalyzes candidates across:\n- Technical skills alignment\n- Experience relevance \n- Cultural fit indicators\n- Growth potential\n- Risk factors\n\nOutputs structured JSON with:\n- Strengths & weaknesses\n- Risk/opportunity assessment\n- 1-10 scoring with justification\n- Next steps recommendation"
},
"typeVersion": 1
},
{
"id": "a8b68718-7fcc-49de-b9de-9f22fd821dab",
"name": "Extraire les infos candidat",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
3568,
192
],
"parameters": {
"text": "={{ $('Standardize Resume Data').item.json.candidateResume }}",
"options": {},
"attributes": {
"attributes": [
{
"name": "full_name",
"required": true,
"description": "Candidate's full name (first and last name combined)"
},
{
"name": "email_address",
"required": true,
"description": "Primary email address of the candidate"
},
{
"name": "phone_number",
"description": "Phone number or mobile number"
},
{
"name": "current_title",
"description": "Current job title or most recent position"
},
{
"name": "years_experience",
"description": "Total years of relevant work experience"
},
{
"name": "key_skills",
"description": "Top 5 technical or professional skills mentioned"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "01d9ad73-55f6-4aa9-b3b9-6bb162d585eb",
"name": "Extraction de données",
"type": "n8n-nodes-base.stickyNote",
"position": [
3488,
-48
],
"parameters": {
"color": 4,
"width": 350,
"height": 536,
"content": "## 📊 Data Extraction\n\nUses AI to extract:\n- Contact information\n- Current role & experience\n- Key skills & competencies\n- Professional background\n\nStructured data for CRM integration"
},
"typeVersion": 1
},
{
"id": "223dc55b-9834-4f54-9eba-2ea50a42480f",
"name": "Tableau de bord des résultats",
"type": "n8n-nodes-base.stickyNote",
"position": [
3840,
-96
],
"parameters": {
"color": 7,
"width": 400,
"height": 584,
"content": "## 📈 Results Dashboard\n\n**Google Sheets Integration**\n\nTracks all candidates with:\n- Contact & background info\n- AI analysis scores\n- Strengths & weaknesses\n- Risk/opportunity levels\n- Next steps recommendations\n- Resume links & source data\n\nEnables filtering, sorting, and team collaboration"
},
"typeVersion": 1
},
{
"id": "cfe547a4-821d-4df3-84f9-d374fd75928f",
"name": "Ajouter une ligne dans la feuille",
"type": "n8n-nodes-base.googleSheets",
"position": [
3920,
192
],
"parameters": {
"columns": {
"value": {
"Date": "={{ $('Save to Drive').item.json.createdTime }}",
"Email": "={{ $json.output.email_address }}",
"Resume": "={{ $('Save to Drive').item.json.webViewLink }}",
"Full Name": "={{ $json.output.full_name }}",
"Strengths": "={{ $('AI Recruiter Analysis').item.json.output.candidate_strengths.join(\"\\n\\n\") }}",
"Key Skills": "={{ $json.output.key_skills }}",
"Weaknesses": "={{ $('AI Recruiter Analysis').item.json.output.candidate_weaknesses.join(\"\\n\\n\") }}",
"Overall Fit": "={{ $('AI Recruiter Analysis').item.json.output.overall_score }}",
"Risk Factor": "={{ $('AI Recruiter Analysis').item.json.output.risk_assessment.level }}\n{{ $('AI Recruiter Analysis').item.json.output.risk_assessment.explanation }}",
"Justification": "={{ $('AI Recruiter Analysis').item.json.output.score_justification }}",
"Reward Factor": "={{ $('AI Recruiter Analysis').item.json.output.opportunity_assessment.level }} \n\n{{ $('AI Recruiter Analysis').item.json.output.opportunity_assessment.explanation }}"
},
"schema": [
{
"id": "Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Resume",
"type": "string",
"display": true,
"required": false,
"displayName": "Resume",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Full Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Full Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Strengths",
"type": "string",
"display": true,
"required": false,
"displayName": "Strengths",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Weaknesses",
"type": "string",
"display": true,
"required": false,
"displayName": "Weaknesses",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Risk Factor",
"type": "string",
"display": true,
"required": false,
"displayName": "Risk Factor",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Reward Factor",
"type": "string",
"display": true,
"required": false,
"displayName": "Reward Factor",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Overall Fit",
"type": "string",
"display": true,
"required": false,
"displayName": "Overall Fit",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Justification",
"type": "string",
"display": true,
"required": false,
"displayName": "Justification",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Key Skills",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Key Skills",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1vucZgBrULNToEQMAQrFyWczpOzXxBU6rzCX0waIZyeM/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1vucZgBrULNToEQMAQrFyWczpOzXxBU6rzCX0waIZyeM",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1vucZgBrULNToEQMAQrFyWczpOzXxBU6rzCX0waIZyeM/edit?usp=drivesdk",
"cachedResultName": "Resume Screener (file -> make a copy)"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "9bWZzYQ7NvMBs1Xg",
"name": "Google Sheets account 2"
}
},
"typeVersion": 4.7
},
{
"id": "8e49be48-133a-485e-b983-165567da97ed",
"name": "Recevoir le CV",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
1152,
224
],
"parameters": {
"simple": false,
"filters": {},
"options": {
"downloadAttachments": true
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"credentials": {
"gmailOAuth2": {
"id": "LVRUgE95PAvkE1Mc",
"name": "Gmail account 2"
}
},
"typeVersion": 1.2
},
{
"id": "2378eb54-7a38-402f-b4b9-1ea0eeae4959",
"name": "Obtenir le Doc",
"type": "n8n-nodes-base.googleDrive",
"position": [
1984,
16
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {
"googleFileConversion": {
"conversion": {
"docsToFormat": "application/pdf"
}
}
},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "IPz4dCJVFC8uaoHw",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
}
],
"pinData": {},
"connections": {
"2378eb54-7a38-402f-b4b9-1ea0eeae4959": {
"main": [
[
{
"node": "0c9bb794-48bb-48cd-b672-88eda9aa4106",
"type": "main",
"index": 0
}
]
]
},
"a4dbee46-03d7-4c8d-8cc4-1935cb28d65a": {
"main": [
[
{
"node": "2bb86d12-445b-48cf-93b2-1a29b8508054",
"type": "main",
"index": 0
}
]
]
},
"0bf3800f-5f64-4ee7-abbf-0ea8fa27c273": {
"ai_languageModel": [
[
{
"node": "c779750a-750e-44f6-9e22-d5a09a0f533e",
"type": "ai_languageModel",
"index": 0
},
{
"node": "a8b68718-7fcc-49de-b9de-9f22fd821dab",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"d85372c3-dc71-4a37-86a1-aeebdec0a0e3": {
"main": [
[
{
"node": "2194e79e-a17b-417e-9ca3-7a9a43ab231a",
"type": "main",
"index": 0
}
]
]
},
"8e49be48-133a-485e-b983-165567da97ed": {
"main": [
[
{
"node": "d85372c3-dc71-4a37-86a1-aeebdec0a0e3",
"type": "main",
"index": 0
}
]
]
},
"c9828dee-ca5b-4945-8768-35c739843724": {
"main": [
[
{
"node": "6c783f5c-271e-4bf7-ab5e-97655267ae27",
"type": "main",
"index": 0
}
]
]
},
"0c0cb748-f4ec-4d5c-a564-ffccaf9a9edd": {
"main": [
[
{
"node": "c779750a-750e-44f6-9e22-d5a09a0f533e",
"type": "main",
"index": 0
}
]
]
},
"0c9bb794-48bb-48cd-b672-88eda9aa4106": {
"main": [
[
{
"node": "6c783f5c-271e-4bf7-ab5e-97655267ae27",
"type": "main",
"index": 0
}
]
]
},
"2194e79e-a17b-417e-9ca3-7a9a43ab231a": {
"main": [
[
{
"node": "2378eb54-7a38-402f-b4b9-1ea0eeae4959",
"type": "main",
"index": 0
}
],
[
{
"node": "90aa13cb-dfcb-41c1-a7b7-598970122bca",
"type": "main",
"index": 0
}
],
[
{
"node": "a4dbee46-03d7-4c8d-8cc4-1935cb28d65a",
"type": "main",
"index": 0
}
]
]
},
"2bb86d12-445b-48cf-93b2-1a29b8508054": {
"main": [
[
{
"node": "6c783f5c-271e-4bf7-ab5e-97655267ae27",
"type": "main",
"index": 0
}
]
]
},
"90aa13cb-dfcb-41c1-a7b7-598970122bca": {
"main": [
[
{
"node": "c9828dee-ca5b-4945-8768-35c739843724",
"type": "main",
"index": 0
}
]
]
},
"c779750a-750e-44f6-9e22-d5a09a0f533e": {
"main": [
[
{
"node": "a8b68718-7fcc-49de-b9de-9f22fd821dab",
"type": "main",
"index": 0
}
]
]
},
"a8b68718-7fcc-49de-b9de-9f22fd821dab": {
"main": [
[
{
"node": "cfe547a4-821d-4df3-84f9-d374fd75928f",
"type": "main",
"index": 0
}
]
]
},
"6c783f5c-271e-4bf7-ab5e-97655267ae27": {
"main": [
[
{
"node": "0c0cb748-f4ec-4d5c-a564-ffccaf9a9edd",
"type": "main",
"index": 0
}
]
]
},
"7c14222a-0874-42a8-8044-fca5d58af083": {
"ai_outputParser": [
[
{
"node": "c779750a-750e-44f6-9e22-d5a09a0f533e",
"type": "ai_outputParser",
"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é - Création de contenu, IA Multimodale
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
David Olusola
@dae221I design enterprise-grade automation systems that eliminate bottlenecks, cut manual work by 70%+, and unlock millions in lost revenue opportunities. My clients — typically achieve 5–10x ROI within the first 90 days. Currently partnering with select high-growth companies ready to scale faster with AI automation. david@daexai.com
Partager ce workflow