Automated Resume Processing System
Presentation Document
December 31, 2025
When a candidate sends a resume email to HR, N8N workflow automatically triggers.
Key Requirements:
$binary formatSystem verifies if the email contains any attachments before proceeding.
Validation Logic:
Object.keys($binary || {}).length > 0
If no attachment found, workflow stops. Only resumes with attachments proceed.
Checks if email content indicates a resume or job application using keyword matching.
Keywords Checked:
(resume|cv|job|career|apply|application|opening|position|hiring)
Important: This validates email intent only, NOT file type. Filters out unrelated emails.
Ensures only supported resume file formats are processed.
MIME Type Check:
{{ $binary.attachment_0.mimeType }}
Supported Formats:
Two processes run simultaneously for efficiency.
Original resume file is backed up to Google Drive for safe storage and manual review.
Text is extracted from PDF/DOC/DOCX files to prepare for AI analysis.
The extracted text is sent to Groq AI model for intelligent analysis and data extraction.
AI Model:
What AI Does:
AI response is parsed and formatted for database storage.
Processing Steps:
JSON.parse(response) - Parse AI responseCandidate data is stored or updated in the centralized MySQL database.
Storage Logic:
How candidates are evaluated (0-100 scale)
Evaluates how well candidate's skills match the applied role requirements.
90-100: All required skills + bonus skills
70-89: Most required skills present
50-69: Partial skill match
0-49: Weak or no match
Assesses if experience level is appropriate for the role.
90-100: Ideal experience level
70-89: Good experience, slightly under/over
50-69: Moderate, may need training
0-49: Insufficient experience
Evaluates educational qualifications relevance to the role.
90-100: Perfect education for role
70-89: Relevant education level
50-69: Acceptable, somewhat relevant
0-49: Insufficient education
Measures overall resume structure, clarity, and professionalism.
90-100: Excellent structure & clarity
70-89: Good resume quality
50-69: Average, some gaps
0-49: Poor quality
Average of all four scores
HR Dashboard & Candidate Management Features
Real-time statistics, recent candidates, and pipeline overview
View all candidates with filtering, search, and pagination
Complete candidate information, scores, and AI analysis
Shortlist, reject, or update candidate status with reasons
Automated processing eliminates manual resume review, saving hours daily.
Intelligent analysis provides accurate candidate evaluation and scoring.
Automated workflow ensures consistent data extraction and storage.
This presentation document explains the complete ResumeXray workflow
Built with using Laravel 12, N8N, Groq AI & MySQL