Extraction structurée de données de candidats à partir de CV (GPT AI)
Ceci est unHR, AI Summarizationworkflow d'automatisation du domainecontenant 20 nœuds.Utilise principalement des nœuds comme Set, Switch, Aggregate, GoogleSheets, Agent. Extraire des données structurées de candidats à partir de CV avec GPT AI
- •Informations d'identification Google Sheets API
- •Clé API OpenAI
Nœuds utilisés (20)
Catégorie
{
"meta": {
"instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "98df1ef4-b57a-43a6-a928-d765559f747c",
"name": "À la réception du message",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-100,
1140
],
"webhookId": "592787f5-230a-4e76-960c-6277f9faa9c8",
"parameters": {
"options": {
"allowFileUploads": true
}
},
"typeVersion": 1.1
},
{
"id": "94e30376-80da-497e-830f-21dae01580f5",
"name": "Commutateur",
"type": "n8n-nodes-base.switch",
"position": [
120,
1014
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "CSV",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "fcf85095-1221-4490-9d30-e10d7c3b686c",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".csv"
}
]
},
"renameOutput": true
},
{
"outputKey": "HTML",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "58e60d14-1beb-47b8-8789-6cee2b2bb224",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".html"
}
]
},
"renameOutput": true
},
{
"outputKey": "ODS",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "afce5705-212f-4e56-ac34-8b99e15a0806",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".ods"
}
]
},
"renameOutput": true
},
{
"outputKey": "PDF",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "bb223b8a-826c-488b-9eb7-b1b50a6aef7f",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".pdf"
}
]
},
"renameOutput": true
},
{
"outputKey": "RTF",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "29d5bf9a-69fb-4e01-8ea9-2ca7c8b3fc9c",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".rtf"
}
]
},
"renameOutput": true
},
{
"outputKey": "TXT",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d2e22acb-adbb-43d9-8a18-70851be20ea5",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".txt"
}
]
},
"renameOutput": true
},
{
"outputKey": "XML",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "257adc56-8632-4671-9237-4e233b95e3fe",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".xml"
}
]
},
"renameOutput": true
},
{
"outputKey": "XLS",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d4673034-eaca-4f4c-9c37-104ffe0bb170",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.files[0].fileName.toLowerCase() }}",
"rightValue": ".xls"
}
]
},
"renameOutput": true
}
]
},
"options": {
"fallbackOutput": "extra"
}
},
"typeVersion": 3.2
},
{
"id": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
"name": "Edit Fields",
"type": "n8n-nodes-base.set",
"position": [
780,
1040
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "70ba1c39-f90f-44ac-9fdc-9a8a8d188484",
"name": "text",
"type": "string",
"value": "={{ $json.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b752e83e-3052-43d1-9418-4d433e351614",
"name": "Agent IA1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1000,
1040
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemMessage": "You are a helpful assistant that extracts email, name, skills, and education from resume text. "
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "0944cce4-d5b7-4e48-a466-1aa8f3b76e26",
"name": "Modèle de chat OpenAI1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1028,
1260
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "QpFZ2EiM3WGl6Zr3",
"name": "Marketing OpenAI"
}
},
"typeVersion": 1.2
},
{
"id": "58a42607-b1b4-43e0-884f-5a13e706edf8",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1148,
1260
],
"parameters": {
"jsonSchemaExample": "{\n \"name\": \"Angel Menendez\",\n \"email\": \"angel.menendez@example.com\",\n \"skills\": \"JavaScript, Node.js, n8n, Docker, REST APIs\",\n \"education\": \"B.S. in Computer Science, University of Arizona, 2010\"\n}\n"
},
"typeVersion": 1.2
},
{
"id": "42d5ebda-7d49-40ef-8c44-2fa57ec68f3e",
"name": "Validate Output",
"type": "n8n-nodes-base.set",
"onError": "continueErrorOutput",
"position": [
1376,
1040
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "4a062055-7dde-447e-ada1-0032f46af02a",
"name": "output.name",
"type": "string",
"value": "={{ $json.output.name }}"
},
{
"id": "bf28519f-f8e3-4b26-bee4-7758340df194",
"name": "output.email",
"type": "string",
"value": "={{ $json.output.email }}"
},
{
"id": "24975388-f25a-4c86-a995-9ec2cf819c13",
"name": "output.skills",
"type": "string",
"value": "={{ $json.output.skills }}"
},
{
"id": "c410f2d2-00e1-499b-9346-553164881465",
"name": "output.education",
"type": "string",
"value": "={{ $json.output.education }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "1235bbab-c227-4054-b8ce-007f39a805f5",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"disabled": true,
"position": [
1596,
940
],
"parameters": {
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "4ZBfVX71VUd6pRy3",
"name": "Google Sheets Angel Access"
}
},
"typeVersion": 4.6
},
{
"id": "bc4ca090-6c51-49e8-989a-147a6e720411",
"name": "Edit Fields1",
"type": "n8n-nodes-base.set",
"position": [
1596,
1140
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3fb8fe8f-a5f5-4c00-a8d2-39cd3e35615e",
"name": "output",
"type": "string",
"value": "Unable to parse the agent outputs"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "7b0211f3-1925-4709-b274-e8d23437bb12",
"name": "Edit Fields2",
"type": "n8n-nodes-base.set",
"position": [
340,
1890
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3fb8fe8f-a5f5-4c00-a8d2-39cd3e35615e",
"name": "output",
"type": "string",
"value": "Unable to parse the file data"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8b178bfb-ff80-4600-b6e2-1fe252c11f45",
"name": "Edit Fields3",
"type": "n8n-nodes-base.set",
"position": [
1816,
940
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3fb8fe8f-a5f5-4c00-a8d2-39cd3e35615e",
"name": "output",
"type": "string",
"value": "=Name: {{ $json.output.name }}\nEmail: {{ $json.output.email }}\nSkills: {{ $json.output.skills }}\nEducation: {{ $json.output.education }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5d4372fc-d63b-49d2-a2b6-70fd194ba550",
"name": "Extract from CSV",
"type": "n8n-nodes-base.extractFromFile",
"position": [
340,
340
],
"parameters": {
"options": {},
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "2eb2d95e-5453-47ad-a548-dbeaa32e3dbb",
"name": "Extract from HTML",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
540
],
"parameters": {
"options": {},
"operation": "html",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "45c74d33-e46b-43ca-a71f-e16aa28910a2",
"name": "Extract from ODS",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
740
],
"parameters": {
"options": {},
"operation": "ods",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "a2bf9dbe-94d0-4432-b8cc-5db69451e013",
"name": "Extract from PDF",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
940
],
"parameters": {
"options": {},
"operation": "pdf",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "1bc7dbd2-1ce0-4244-8454-29eeb7b5fb64",
"name": "Extract from RTF",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
1140
],
"parameters": {
"options": {},
"operation": "rtf",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "279cc40d-373a-48e3-9f53-4498d0181302",
"name": "Extract from TXT",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
1340
],
"parameters": {
"options": {},
"operation": "text",
"destinationKey": "text",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "7aa0c6f1-2630-4e0d-90e8-cd0d060327b2",
"name": "Extract from XLS",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
1740
],
"parameters": {
"options": {},
"operation": "xls",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "f65cf46c-3482-4757-a087-3f48cb19c30b",
"name": "Extract from XML",
"type": "n8n-nodes-base.extractFromFile",
"position": [
560,
1540
],
"parameters": {
"options": {},
"operation": "xml",
"destinationKey": "text",
"binaryPropertyName": "data0"
},
"typeVersion": 1
},
{
"id": "209e973c-a4ac-49bc-b977-90f2d1de487c",
"name": "Agréger",
"type": "n8n-nodes-base.aggregate",
"position": [
560,
340
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "text"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"Switch": {
"main": [
[
{
"node": "5d4372fc-d63b-49d2-a2b6-70fd194ba550",
"type": "main",
"index": 0
}
],
[
{
"node": "2eb2d95e-5453-47ad-a548-dbeaa32e3dbb",
"type": "main",
"index": 0
}
],
[
{
"node": "45c74d33-e46b-43ca-a71f-e16aa28910a2",
"type": "main",
"index": 0
}
],
[
{
"node": "a2bf9dbe-94d0-4432-b8cc-5db69451e013",
"type": "main",
"index": 0
}
],
[
{
"node": "1bc7dbd2-1ce0-4244-8454-29eeb7b5fb64",
"type": "main",
"index": 0
}
],
[
{
"node": "279cc40d-373a-48e3-9f53-4498d0181302",
"type": "main",
"index": 0
}
],
[
{
"node": "f65cf46c-3482-4757-a087-3f48cb19c30b",
"type": "main",
"index": 0
}
],
[
{
"node": "7aa0c6f1-2630-4e0d-90e8-cd0d060327b2",
"type": "main",
"index": 0
}
],
[
{
"node": "7b0211f3-1925-4709-b274-e8d23437bb12",
"type": "main",
"index": 0
}
]
]
},
"AI Agent1": {
"main": [
[
{
"node": "42d5ebda-7d49-40ef-8c44-2fa57ec68f3e",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
"type": "main",
"index": 0
}
]
]
},
"e16c87a4-86d0-4878-96bb-a0228ca621b0": {
"main": [
[
{
"node": "AI Agent1",
"type": "main",
"index": 0
}
]
]
},
"1235bbab-c227-4054-b8ce-007f39a805f5": {
"main": [
[
{
"node": "8b178bfb-ff80-4600-b6e2-1fe252c11f45",
"type": "main",
"index": 0
}
]
]
},
"42d5ebda-7d49-40ef-8c44-2fa57ec68f3e": {
"main": [
[
{
"node": "1235bbab-c227-4054-b8ce-007f39a805f5",
"type": "main",
"index": 0
}
],
[
{
"node": "bc4ca090-6c51-49e8-989a-147a6e720411",
"type": "main",
"index": 0
}
]
]
},
"5d4372fc-d63b-49d2-a2b6-70fd194ba550": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"45c74d33-e46b-43ca-a71f-e16aa28910a2": {
"main": [
[
{
"node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
"type": "main",
"index": 0
}
]
]
},
"a2bf9dbe-94d0-4432-b8cc-5db69451e013": {
"main": [
[
{
"node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
"type": "main",
"index": 0
}
]
]
},
"1bc7dbd2-1ce0-4244-8454-29eeb7b5fb64": {
"main": [
[
{
"node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
"type": "main",
"index": 0
}
]
]
},
"279cc40d-373a-48e3-9f53-4498d0181302": {
"main": [
[
{
"node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
"type": "main",
"index": 0
}
]
]
},
"7aa0c6f1-2630-4e0d-90e8-cd0d060327b2": {
"main": [
[
{
"node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
"type": "main",
"index": 0
}
]
]
},
"f65cf46c-3482-4757-a087-3f48cb19c30b": {
"main": [
[
{
"node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
"type": "main",
"index": 0
}
]
]
},
"2eb2d95e-5453-47ad-a548-dbeaa32e3dbb": {
"main": [
[
{
"node": "e16c87a4-86d0-4878-96bb-a0228ca621b0",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "AI Agent1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"58a42607-b1b4-43e0-884f-5a13e706edf8": {
"ai_outputParser": [
[
{
"node": "AI Agent1",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "Switch",
"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é - Ressources Humaines, Résumé IA
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
Angel Menendez
@djangelicAngel Menendez is a Staff Developer Advocate at n8n.io, specializing in low-code tools for cybersecurity workflows. From Puerto Rico, Angel's tech journey began by helping his father translate technical books. He later started a web development business and transitioned from a career as a flight attendant to cybersecurity engineering. His workflows have saved companies significant time. Outside work, Angel enjoys time with his two sons, riding electric bikes, reading, and exploring new places.
Partager ce workflow