workflows.fit
Back to n8n workflows
n8n templateFreeBy Dean Pike

Fast-track CV screening with AI analysis from Gmail to Slack and Google Sheets

CV → Match → Screen → Decide, all automated This workflow automatically processes candidate CVs from email, intelligently matches them to job descriptions, performs AI-powered screening analysis, and sends actionable ...

Data & StorageProductivityDevelopmentCore NodesCommunicationHITLAILangchain
Loading interactive preview...

Template notes

CV → Match → Screen → Decide, all automated

This workflow automatically processes candidate CVs from email, intelligently matches them to job descriptions, performs AI-powered screening analysis, and sends actionable summaries to your team in Slack.

Good to know - Handles both PDF and Word document CVs automatically - Two-stage JD matching: prioritizes role mentioned in candidate's email, falls back to CV analysis if needed - Uses Google Gemini API for AI screening (generous free tier and rate limits, typically enough to avoid paying for API requests, but check latest pricing at [Google AI Pricing](https://ai.google.dev/pricing)) - All CVs stored in Google Drive with standardized naming (candidate name + date/time) - Complete audit trail logged in Google Sheets

Who's it for Hiring teams and recruiters who want to automate first-round CV screening while maintaining quality. Perfect for companies receiving high volumes of applications across multiple roles, especially in tech, sales, or automation-focused positions.

How it works 1. Gmail monitors inbox for CVs with specific label and downloads attachments 2. Detects file type (PDF or Word) and converts/standardizes format for text extraction 3. AI agent matches candidate to best-fit job description by analyzing email context first (if candidate mentioned a role), or CV content as fallback (selects up to 3 potential JD matches) 4. If multiple JDs matched, second AI agent selects the single best fit 5. AI recruiter agent analyzes CV against selected JD and generates structured screening report (strengths, weaknesses, risk/reward factors, overall fit score 0-10 with justification) 6. Extracts candidate details (name, email) from CV text 7. Logs complete analysis to Google Sheets tracker 8. Sends formatted summary to Slack with Proceed/Reject action buttons for instant team decisions

Requirements - Gmail account with API access - Google Drive account (OAuth2) - Google Sheets account (OAuth2) - Slack workspace with bot permissions - Google Gemini API key ([Get free key here](https://makersuite.google.com/app/apikey)) - Google Drive folders: one for CVs, one for Job Descriptions (as PDFs or Google Docs)

How to set up 1. Add credentials: Gmail OAuth2, Google Drive OAuth2, Google Sheets OAuth2, Slack OAuth2, Google Gemini API 2. Create Gmail label (e.g., "CV-Screening") for incoming candidate emails 3. In "Receive CV via Email" node: select your Gmail label for filtering 4. Create two Google Drive folders: "Candidate CVs" and "Job Descriptions" 5. In "Upload CV - PDF" and "Stream Doc/Docx File" nodes: update folder ID to your "Candidate CVs" folder 6. In "Access JD Files" node: update folder ID to your "Job Descriptions" folder 7. Create Google Sheet named "AI Candidate Screening" with columns matching the [sample AI Candidate Screening sheet](https://docs.google.com/spreadsheets/d/16HebkHqsM2ZEIdJzQk1mDE3i2-HwsUqa5gEwXaF-7A/edit?usp=sharing) 8. In "Append row in sheet" node: select your Google Sheet 9. In "Send Candidate Screening Confirmation" node: select your Slack channel 10. Activate workflow

Customizing this workflow - Change JD matching logic: Edit "JD Matching Agent" node prompt to adjust how CVs are matched to roles (e.g., weight technical skills vs. experience). - Change "Company Description" in AI prompts: Insert your "Company Description" in System Message sections in "JD Matching Agent" and "Detailed JD Matching Agent" nodes - Modify screening criteria: Edit "Recruiter Scoring Agent" node system message to focus on specific qualities (culture fit, leadership, technical depth, etc.) - Add more storage locations: Add nodes to save CVs to other systems (Notion, Airtable, ATS platforms) - Customize Slack message: Edit "Send Candidate Screening Confirmation" node to change formatting, add more context, or include additional candidate data - Auto-proceed logic: Add IF node after screening to auto-proceed candidates with fit score above threshold (e.g., 8+/10) - Add email responses: Connect nodes to automatically email candidates (confirmation, rejection, interview invite) - Add human-in-the-loop: Sub-workflow triggered by Slack response or email response, to update Sheet with approve/reject status - Add candidate email responses + interview scheduling: For approved candidates, trigger email to candidate with Cal.com or Calendly link so they can book their interview