Workflow n8n

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.
Tags clés :automatisationGoogle SheetsGmailrecrutementIA
Catégorie: Webhook · Tags: automatisation, Google Sheets, Gmail, recrutement, IA0

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

  • Structured Output Parser

    Ce noeud analyse et structure la sortie d'un modèle en fonction d'un schéma d'entrée défini.

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu spécifié et des dimensions définies.

  • Extract text from PDF File

    Ce noeud extrait le texte d'un fichier PDF en utilisant des options spécifiques.

  • AI Agent to evaluate Resume

    Ce noeud utilise un agent d'intelligence artificielle pour évaluer un CV en fonction d'un texte et d'options fournies.

  • OpenAI Chat Model (GPT 4o-mini)

    Ce noeud interagit avec le modèle de chat OpenAI pour générer des réponses basées sur des options définies.

  • Add Resume Evaluation to Google Sheets

    Ce noeud ajoute les résultats de l'évaluation de CV dans une feuille Google Sheets spécifiée.

  • Trigger on new Email Received

    Ce noeud déclenche le workflow lorsqu'un nouvel email est reçu dans la boîte de réception Gmail.

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.