The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Agent 2 \u2014 RH vers Manager (dossier valid\u00e9)",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "agent2-rh-manager",
"responseMode": "lastNode",
"options": {}
},
"id": "webhook-agent2",
"name": "Webhook \u2014 Dossier valid\u00e9 par RH",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
240,
300
]
},
{
"parameters": {
"jsCode": "const data = $input.first().json;\n\nconst candidateId = data.candidateId;\nconst firstName = data.firstName || 'Candidat';\nconst lastName = data.lastName || '';\nconst jobTitle = data.jobOfferTitle || 'le poste';\nconst status = data.status || 'CV_REVIEWED';\nconst cvUrl = data.cvUrl || null;\nconst email = data.email || '';\nconst hrName = data.updatedBy || 'RH';\nconst managerEmail = data.managerEmail || null;\n\n// Mapping statut \u2192 label lisible\nconst statusLabels = {\n CV_REVIEWED: '\u2705 CV valid\u00e9 \u2014 en attente d\\'analyse Manager',\n PHONE_SCREENING: '\ud83d\udcde Pr\u00e9-qualification t\u00e9l\u00e9phonique',\n TECHNICAL_TEST: '\ud83d\udcbb Test technique \u00e0 planifier',\n INTERVIEW: '\ud83c\udfa4 Entretien \u00e0 planifier',\n FINAL_INTERVIEW: '\ud83c\udfc6 Entretien final',\n ACCEPTED: '\ud83c\udf89 Candidat accept\u00e9',\n REJECTED: '\u274c Candidat refus\u00e9'\n};\nconst statusLabel = statusLabels[status] || status;\nconst profileUrl = `http://localhost:4200/admin/candidates`;\n\nreturn [{ json: {\n candidateId, firstName, lastName, email, jobTitle,\n status, statusLabel, cvUrl, hrName, managerEmail, profileUrl,\n validatedAt: new Date().toISOString()\n} }];"
},
"id": "prepare-data",
"name": "Pr\u00e9parer donn\u00e9es dossier",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
480,
300
]
},
{
"parameters": {
"fromEmail": "noreply@job4you.com",
"toEmail": "={{ $json.managerEmail || 'manager1@job4you.com' }}",
"subject": "\ud83d\udccb Nouveau dossier \u00e0 examiner \u2014 {{ $json.firstName }} {{ $json.lastName }} / {{ $json.jobTitle }}",
"emailType": "html",
"message": "=<html><body style=\"font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto;\">\n <div style=\"background: #1e40af; color: white; padding: 24px; border-radius: 8px 8px 0 0;\">\n <h1 style=\"margin:0\">JOB4YOU</h1>\n <p style=\"margin:4px 0 0\">Nouveau dossier valid\u00e9 par RH</p>\n </div>\n <div style=\"background: #f8fafc; padding: 24px; border-radius: 0 0 8px 8px;\">\n <h2 style=\"color: #1e40af;\">Dossier \u00e0 examiner</h2>\n \n <div style=\"background: white; border-left: 4px solid #1e40af; padding: 16px; margin: 16px 0;\">\n <table style=\"width:100%; border-collapse: collapse;\">\n <tr><td style=\"color:#6b7280; padding: 4px 0;\">Candidat</td><td style=\"font-weight:bold;\">{{ $json.firstName }} {{ $json.lastName }}</td></tr>\n <tr><td style=\"color:#6b7280; padding: 4px 0;\">Email</td><td>{{ $json.email }}</td></tr>\n <tr><td style=\"color:#6b7280; padding: 4px 0;\">Poste</td><td style=\"font-weight:bold;\">{{ $json.jobTitle }}</td></tr>\n <tr><td style=\"color:#6b7280; padding: 4px 0;\">Statut</td><td>{{ $json.statusLabel }}</td></tr>\n <tr><td style=\"color:#6b7280; padding: 4px 0;\">Valid\u00e9 par</td><td>{{ $json.hrName }}</td></tr>\n <tr><td style=\"color:#6b7280; padding: 4px 0;\">Date</td><td>{{ $json.validatedAt }}</td></tr>\n </table>\n </div>\n\n <a href=\"{{ $json.profileUrl }}\" style=\"display:inline-block; background:#1e40af; color:white; padding:12px 24px; border-radius:6px; text-decoration:none; font-weight:bold; margin-top:8px;\">\ud83d\udc41\ufe0f Voir le dossier sur JOB4YOU</a>\n\n <p style=\"color: #6b7280; font-size: 12px; margin-top: 24px;\">\n Cet email a \u00e9t\u00e9 envoy\u00e9 automatiquement par JOB4YOU Agent 2.\n </p>\n </div>\n</body></html>"
},
"id": "email-manager",
"name": "Email \u2014 Manager (dossier valid\u00e9)",
"type": "n8n-nodes-base.emailSend",
"typeVersion": 2.1,
"position": [
720,
300
]
}
],
"connections": {
"Webhook \u2014 Dossier valid\u00e9 par RH": {
"main": [
[
{
"node": "Pr\u00e9parer donn\u00e9es dossier",
"type": "main",
"index": 0
}
]
]
},
"Pr\u00e9parer donn\u00e9es dossier": {
"main": [
[
{
"node": "Email \u2014 Manager (dossier valid\u00e9)",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"tags": [
"job4you",
"agent2",
"rh-manager"
]
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Agent 2 — RH vers Manager (dossier validé). Uses emailSend. Webhook trigger; 3 nodes.
Source: https://github.com/bargaouihaythem/FindYourJob/blob/1b4aefd48c9ccfbe1989b272fc3703e551303dc0/n8n-workflows/agent2-rh-manager.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Invoice Agent. Uses httpRequest, emailSend. Webhook trigger; 29 nodes.
Template Overview This n8n workflow provides an intelligent, timezone-aware AI voice calling system for e-commerce businesses to automatically confirm customer orders via phone calls. The system uses
Creates an AI-powered sales and support agent connected to live store data from Shopify/WooCommerce. MCP ensures controlled access to inventory and order systems. Automatically handles customer querie
Agent 1 — CV Parser + Score IA + Email Candidat. Uses emailSend, httpRequest. Webhook trigger; 5 nodes.
LLMS_Query_Links_stabilisation. Uses mySql, lmChatOpenAi, executeCommand, chainLlm. Webhook trigger; 95 nodes.