Automatisation Gmail avec n8n : évaluation de CV en temps réel
Ce workflow n8n a pour objectif d'automatiser l'évaluation des CV reçus par email, facilitant ainsi le processus de recrutement pour les entreprises. En intégrant des outils puissants comme Google Sheets et OpenAI, ce flux permet de transformer des candidatures en informations exploitables, réduisant le temps passé sur les tâches administratives. Les cas d'usage incluent l'automatisation de la collecte et de l'analyse des CV, ce qui est particulièrement utile pour les équipes RH et les recruteurs.
- Étape 1 : le workflow débute avec un déclencheur basé sur l'arrivée d'un nouvel email dans Gmail.
- Étape 2 : le contenu du CV est extrait d'un fichier PDF joint à l'email grâce au nœud 'Extract text from PDF File'.
- Étape 3 : le texte extrait est ensuite analysé par un agent AI, qui évalue le CV en utilisant le modèle OpenAI Chat (GPT 4o-mini).
- Étape 4 : les résultats de l'évaluation sont ensuite formatés par le nœud 'Structured Output Parser'.
- Étape 5 : enfin, les évaluations sont ajoutées à une feuille Google Sheets pour un suivi et une gestion aisés. Ce workflow n8n apporte une valeur ajoutée significative en optimisant le processus de recrutement, permettant aux équipes de se concentrer sur des tâches à plus forte valeur ajoutée.
Workflow n8n Google Sheets, Gmail, recrutement : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Google Sheets, Gmail, recrutement : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"meta": {
"instanceId": "ddc2592f2c048b3a9255de9457632cead183ed1f8d682593ea74c5b20f968a76",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "53cc8017-5310-4205-85e0-8cc839693601",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
720,
400
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"name\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n \"email\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n \"linkedin\": {\n\t\t\t\"type\": \"string\"\n\t\t},\n \"score\": {\n\t\t\t\"type\": \"string\"\n\t\t}\n\t\t\n\t}\n}"
},
"typeVersion": 1.2
},
{
"id": "ea0c00d3-25c8-4523-88ff-d61d6665ecf7",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-760,
160
],
"parameters": {
"width": 480,
"height": 260,
"content": "## Resume Screener from Gmail to Sheets\n\n### 📃Before you get started, you'll need:\n- [n8n installation](https://n8n.partnerlinks.io/n8nTTVideoGenTemplate) \n- [OpenAI API Key](https://platform.openai.com/api-keys)\n- Google Sheets API enabled in [Google Cloud Console](https://console.cloud.google.com/apis/api/sheets.googleapis.com/overview)\n- Google Drive API enabled in [Google Cloud Console](https://console.cloud.google.com/apis/api/drive.googleapis.com/overview)\n- OAuth 2.0 Client ID and Client Secret from your [Google Cloud Console Credentials](https://console.cloud.google.com/apis/credentials)\n"
},
"typeVersion": 1
},
{
"id": "e4f3aef9-750a-48bb-899b-bd4a810032f2",
"name": "Extract text from PDF File",
"type": "n8n-nodes-base.extractFromFile",
"position": [
320,
180
],
"parameters": {
"options": {},
"operation": "pdf",
"binaryPropertyName": "attachment_0"
},
"typeVersion": 1
},
{
"id": "5418cfae-25da-4f58-99ef-d6957d8819a8",
"name": "AI Agent to evaluate Resume",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
540,
180
],
"parameters": {
"text": "=Here is the resume:\n\n{{ $json.text }}",
"options": {
"systemMessage": "You are an invaluable assistant. You were given a resume. You have to help me analyze the resume and give it a score based on the details available in the resume. Also, extract the name, email, and LinkedIn profile from the resume."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.8
},
{
"id": "dce8e431-9d5c-4aa1-a0eb-c2a27de2d7f9",
"name": "OpenAI Chat Model (GPT 4o-mini)",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
520,
400
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "PMxepoh6OuVxbpg1",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "e7fdaf75-11ad-40c2-84a0-13c52f6f2eb1",
"name": "Add Resume Evaluation to Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
920,
180
],
"parameters": {
"columns": {
"value": {
"Name": "={{ $json.output.name }}",
"Email": "={{ $json.output.email }}",
"Score": "={{ $json.output.score }}",
"LinkedIn": "={{ $json.output.linkedin }}",
"Resume text": "={{ $('Extract text from PDF File').item.json.text }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "LinkedIn",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "LinkedIn",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Score",
"type": "string",
"display": true,
"required": false,
"displayName": "Score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Resume text",
"type": "string",
"display": true,
"required": false,
"displayName": "Resume text",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"useAppend": true
},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 781640061,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SGYsuJI2YJVztZZmSLsFZ0lbUHnxm0V9r3c8S5-2q74/edit#gid=781640061",
"cachedResultName": "Resume Score"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1SGYsuJI2YJVztZZmSLsFZ0lbUHnxm0V9r3c8S5-2q74",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SGYsuJI2YJVztZZmSLsFZ0lbUHnxm0V9r3c8S5-2q74/edit?usp=drivesdk",
"cachedResultName": "Lead Generation"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "kzZGQmdAV5cPfymZ",
"name": "Google Sheets (server@hic)"
}
},
"typeVersion": 4.5
},
{
"id": "0ad65e2b-665d-4b77-a941-b15a7ffbfb89",
"name": "Trigger on new Email Received",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
60,
180
],
"parameters": {
"simple": false,
"filters": {
"q": "has:attachment",
"labelIds": [
"UNREAD"
],
"readStatus": "unread"
},
"options": {
"downloadAttachments": true
},
"pollTimes": {
"item": [
{
"mode": "everyHour",
"minute": 1
}
]
}
},
"credentials": {
"gmailOAuth2": {
"id": "tPOAqAl9y3adqJD6",
"name": "Gmail account (hire@hic)"
}
},
"typeVersion": 1.2
}
],
"pinData": {},
"connections": {
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent to evaluate Resume",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Extract text from PDF File": {
"main": [
[
{
"node": "AI Agent to evaluate Resume",
"type": "main",
"index": 0
}
]
]
},
"AI Agent to evaluate Resume": {
"main": [
[
{
"node": "Add Resume Evaluation to Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Trigger on new Email Received": {
"main": [
[
{
"node": "Extract text from PDF File",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model (GPT 4o-mini)": {
"ai_languageModel": [
[
{
"node": "AI Agent to evaluate Resume",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}Workflow n8n Google Sheets, Gmail, recrutement : pour qui est ce workflow ?
Ce workflow s'adresse principalement aux équipes de ressources humaines et aux recruteurs qui cherchent à optimiser leur processus de sélection de candidatures. Il est adapté aux entreprises de toutes tailles, notamment celles qui reçoivent un volume élevé de CV et qui souhaitent intégrer des solutions d'automatisation sans nécessiter de compétences techniques avancées.
Workflow n8n Google Sheets, Gmail, recrutement : problème résolu
Ce workflow résout le problème de la gestion manuelle des CV, qui peut être chronophage et sujet à des erreurs. En automatisant l'extraction et l'évaluation des CV, il réduit le risque de négliger des candidatures prometteuses et améliore l'efficacité du processus de recrutement. Les utilisateurs bénéficient d'une évaluation rapide et précise des candidatures, leur permettant de prendre des décisions éclairées plus rapidement.
Workflow n8n Google Sheets, Gmail, recrutement : étapes du workflow
Étape 1 : le flux commence par le déclencheur 'Trigger on new Email Received', qui surveille les nouveaux emails dans Gmail.
- Étape 1 : lorsque qu'un email est reçu, le nœud 'Extract text from PDF File' extrait le contenu du CV.
- Étape 2 : le texte extrait est ensuite envoyé à l'agent AI via le nœud 'AI Agent to evaluate Resume', qui analyse le CV.
- Étape 3 : les résultats de cette analyse sont formatés par le nœud 'Structured Output Parser'.
- Étape 4 : enfin, les évaluations sont ajoutées à Google Sheets grâce au nœud 'Add Resume Evaluation to Google Sheets'.
Workflow n8n Google Sheets, Gmail, recrutement : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier le déclencheur en ajustant les filtres de l'email dans le nœud 'Trigger on new Email Received'. Il est également possible de changer le modèle d'évaluation dans le nœud 'OpenAI Chat Model (GPT 4o-mini)' en sélectionnant un autre modèle ou en ajustant les paramètres d'options. Pour le nœud 'Add Resume Evaluation to Google Sheets', vous pouvez spécifier le nom de la feuille et les colonnes à utiliser pour stocker les résultats. Assurez-vous de sécuriser les accès à votre Google Sheets et de surveiller le flux pour détecter d'éventuelles erreurs ou problèmes d'intégration.