وكيل ذكي لفرز المتقدمين للوظائف
يقرأ كل طلب توظيف وسيرة ذاتية، ويقيّمها مقابل متطلبات الوظيفة الأساسية، ويبرز المرشحين الأقوياء.
كيف تعمل
- يرسل نموذج التقديم الإجابات والسيرة الذاتية (PDF).
- يُستخرج النص من السيرة الذاتية.
- يقرأ الوكيل متطلبات الوظيفة، ويقيّم المرشح، ويحفظ النتيجة.
- المرشحون الأقوياء (7+) يُنشرون في #hiring ليراجعهم شخص.
ماذا يستطيع أن يفعل
على عكس الأتمتة الثابتة، يقرر الوكيل أي أدواته يستخدم وبأي ترتيب — ويتذكر المحادثة.
- يستخرج النص من السير الذاتية بصيغة PDF
- يقيّم مقابل المتطلبات الأساسية للوظيفة مع الأدلة
- يحفظ كل مرشح بتقييمه وملخصه
- ينبّه فريق التوظيف بالمرشحين الأقوياء
التعليمات (System prompt)
التعليمات التي تشكّل سلوك الوكيل. موجودة بالفعل داخل قالب n8n — انسخها إلى Make أو Zapier، وعدّل أجزاء YOUR_….
You screen job applicants for YOUR_COMPANY. You receive an application (answers + CV text). Be fair and consistent.
Steps:
1. Use "Job openings" to read the requirements for the role they applied for.
2. Score the candidate 1–10 against the MUST-HAVE requirements only, with 2–3 sentences of evidence from the CV.
3. Use "Save candidate" with the score and summary — always, for every applicant.
4. If the score is 7 or more, use "Notify hiring team" so a person can review and schedule an interview.
Rules:
- Judge only skills, experience and requirements. Ignore and never mention age, gender, religion, nationality, marital status, photos, or names.
- Never reject anyone yourself — you only score and summarise; humans decide.
- If the CV is empty or unreadable, save the candidate with score 0 and the note "CV unreadable".قواعد الأمان
مدمجة في التعليمات والأدوات:
- يتجاهل العمر والجنس والدين والجنسية والصور والأسماء
- لا يرفض أحدًا أبدًا — البشر يتخذون كل القرارات
- يقيّم فقط مقابل المتطلبات التي كتبتها
يستخدم مفتاح الذكاء الاصطناعي الخاص بك (Claude أو OpenAI أو غيرهما). التكلفة تعتمد على النموذج وطول المحادثة — والنموذج الصغير السريع يجعل معظم المحادثات بجزء من السنت.
المخطط
ابنِها بأداتك
اختر أداتك — نفس الأتمتة، خطوة بخطوة.
انسخه والصقه مباشرة في مساحة عمل n8n (Ctrl+V)، أو حمّله واستخدم Import from File. بعد ذلك اربط حساباتك واستبدل كل قيمة تبدأ بـ YOUR_. خطوات الذكاء الاصطناعي تستخدم نموذج Claude، ويمكنك استبداله بـ OpenAI أو Gemini أو Ollama.
عرض الكود (273 سطر)
{
"name": "وكيل ذكي لفرز المتقدمين للوظائف (Flowngn)",
"nodes": [
{
"parameters": {
"content": "## وكيل ذكي لفرز المتقدمين للوظائف\nيقرأ كل طلب توظيف وسيرة ذاتية، ويقيّمها مقابل متطلبات الوظيفة الأساسية، ويبرز المرشحين الأقوياء.\n\n**Setup**\n1. Open each node and connect your own credentials.\n2. Replace every YOUR_… placeholder.\n3. Test once, then activate.\n\nFree template from Flowngn",
"height": 260,
"width": 340
},
"id": "47157a09-b804-49e3-ad6e-7700150ed55a",
"name": "Setup notes",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-420,
-60
]
},
{
"parameters": {
"httpMethod": "POST",
"path": "job-application",
"options": {}
},
"id": "47157a09-b804-49e3-ad6e-7700150ed55a",
"name": "Application",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
0,
0
],
"webhookId": "47157a09-b804-49e3-ad6e-7700150ed55a"
},
{
"parameters": {
"operation": "pdf",
"binaryPropertyName": "cv",
"options": {}
},
"id": "47157a09-b804-49e3-ad6e-7700150ed55a",
"name": "Read CV (PDF)",
"type": "n8n-nodes-base.extractFromFile",
"typeVersion": 1,
"position": [
300,
0
]
},
{
"parameters": {
"promptType": "define",
"text": "=Role applied for: {{ $('Application').item.json.body.role }}\nCandidate email: {{ $('Application').item.json.body.email }}\nAnswers: {{ JSON.stringify($('Application').item.json.body.answers || {}) }}\n\nCV:\n{{ ($json.text || '').slice(0, 12000) }}",
"options": {
"systemMessage": "=You screen job applicants for YOUR_COMPANY. You receive an application (answers + CV text). Be fair and consistent.\n\nSteps:\n1. Use \"Job openings\" to read the requirements for the role they applied for.\n2. Score the candidate 1–10 against the MUST-HAVE requirements only, with 2–3 sentences of evidence from the CV.\n3. Use \"Save candidate\" with the score and summary — always, for every applicant.\n4. If the score is 7 or more, use \"Notify hiring team\" so a person can review and schedule an interview.\n\nRules:\n- Judge only skills, experience and requirements. Ignore and never mention age, gender, religion, nationality, marital status, photos, or names.\n- Never reject anyone yourself — you only score and summarise; humans decide.\n- If the CV is empty or unreadable, save the candidate with score 0 and the note \"CV unreadable\"."
}
},
"id": "47157a09-b804-49e3-ad6e-7700150ed55a",
"name": "Screening agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"typeVersion": 1.9,
"position": [
600,
0
]
},
{
"parameters": {
"model": {
"__rl": true,
"value": "claude-sonnet-5",
"mode": "list"
},
"options": {}
},
"id": "47157a09-b804-49e3-ad6e-7700150ed55a",
"name": "Claude model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"typeVersion": 1.3,
"position": [
260,
220
]
},
{
"parameters": {
"sessionIdType": "customKey",
"sessionKey": "={{ $('Application').item.json.body.email }}",
"contextWindowLength": 10
},
"id": "47157a09-b804-49e3-ad6e-7700150ed55a",
"name": "Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"typeVersion": 1.3,
"position": [
430,
220
]
},
{
"parameters": {
"descriptionType": "manual",
"toolDescription": "Returns our open roles with must-have and nice-to-have requirements.",
"operation": "read",
"documentId": {
"__rl": true,
"value": "YOUR_SPREADSHEET_ID",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "Jobs",
"mode": "name"
},
"options": {}
},
"id": "47157a09-b804-49e3-ad6e-7700150ed55a",
"name": "Job openings",
"type": "n8n-nodes-base.googleSheetsTool",
"typeVersion": 4.5,
"position": [
600,
220
]
},
{
"parameters": {
"descriptionType": "manual",
"toolDescription": "Saves the candidate with score and summary.",
"operation": "append",
"documentId": {
"__rl": true,
"value": "YOUR_SPREADSHEET_ID",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "Candidates",
"mode": "name"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"date": "={{ $now.toISO() }}",
"email": "={{ $('Application').item.json.body.email }}",
"role": "={{ $('Application').item.json.body.role }}",
"score": "={{ $fromAI('score', \"Score 0-10 against must-have requirements\", 'number') }}",
"summary": "={{ $fromAI('summary', \"2-3 sentences of evidence from the CV\", 'string') }}",
"status": "to review"
}
},
"options": {}
},
"id": "47157a09-b804-49e3-ad6e-7700150ed55a",
"name": "Save candidate",
"type": "n8n-nodes-base.googleSheetsTool",
"typeVersion": 4.5,
"position": [
770,
220
]
},
{
"parameters": {
"descriptionType": "manual",
"toolDescription": "Tells the hiring team about a strong candidate (score 7+).",
"select": "channel",
"channelId": {
"__rl": true,
"value": "#hiring",
"mode": "name"
},
"text": "={{ $fromAI('message', \"Role, score, 2-line summary and the candidate's email\", 'string') }}",
"otherOptions": {}
},
"id": "47157a09-b804-49e3-ad6e-7700150ed55a",
"name": "Notify hiring team",
"type": "n8n-nodes-base.slackTool",
"typeVersion": 2.2,
"position": [
940,
220
]
}
],
"connections": {
"Application": {
"main": [
[
{
"node": "Read CV (PDF)",
"type": "main",
"index": 0
}
]
]
},
"Read CV (PDF)": {
"main": [
[
{
"node": "Screening agent",
"type": "main",
"index": 0
}
]
]
},
"Claude model": {
"ai_languageModel": [
[
{
"node": "Screening agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Memory": {
"ai_memory": [
[
{
"node": "Screening agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Job openings": {
"ai_tool": [
[
{
"node": "Screening agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Save candidate": {
"ai_tool": [
[
{
"node": "Screening agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Notify hiring team": {
"ai_tool": [
[
{
"node": "Screening agent",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"meta": {
"templateCredsSetupCompleted": false
},
"tags": []
}في Make، أنشئ سيناريو جديدًا وأضف هذه الوحدات بالترتيب:
- Webhooks › Custom webhook
- PDF › Extract text (e.g. PDF.co, or a Text parser after conversion)
- Make AI Agents › Run an agent — give it these tools: “Job openings” (Google Sheets), “Save candidate” (Google Sheets), “Notify hiring team” (Slack); paste the system prompt as the agent's instructions
- كل تشغيل لوحدة يستهلك عمليات (operations) في Make — والباقة المجانية تتضمن حصة شهرية.
- قد تختلف أسماء الوحدات والخطوات قليلًا مع تحديث Make و Zapier لتطبيقاتهما.
في Zapier، أنشئ Zap جديدًا وأضف هذه الخطوات بالترتيب:
- Webhooks by Zapier — Catch Hook
- PDF.co (or another PDF app) — Extract Text
- Zapier Agents — create an agent (or AI by Zapier for a single step) — give it these tools: “Job openings” (Google Sheets), “Save candidate” (Google Sheets), “Notify hiring team” (Slack); paste the system prompt as the agent's instructions
- الـ Zaps التي فيها أكثر من خطوتين تحتاج باقة Zapier مدفوعة.
- الـ Webhooks والفلاتر/المسارات و Code by Zapier ميزات مدفوعة في بعض باقات Zapier.
- قد تختلف أسماء الوحدات والخطوات قليلًا مع تحديث Make و Zapier لتطبيقاتهما.
نصائح
- أخبر المتقدمين أن الذكاء الاصطناعي يساعد في فرز الطلبات، وراجع عينة من التقييمات المنخفضة بنفسك.
أتمتات مشابهة
وكيل ذكي لتحصيل الفواتير المتأخرة
كل صباح يراجع الوكيل الفواتير المتأخرة، ويكتب مسودات تذكير بالنبرة المناسبة، وينبّهك للفواتير التي تحتاج مكالمة.
وكيل ذكي للدعم الفني الداخلي
يصف الموظف مشكلته التقنية في محادثة؛ يرشده الوكيل للحلول المعروفة ويفتح تذكرة عند الحاجة.
وكيل ذكي لتحليل آراء العملاء أسبوعيًا
كل إثنين، يقرأ الوكيل آراء الأسبوع الماضي ويجد المحاور وينشر تقريرًا بثلاث مهام للتنفيذ.