Quick overview
This workflow receives candidate CVs via a webhook, extracts text from PDF, DOCX files, looks up the matching job description in Google Sheets, runs a three-agent evaluation using OpenRouter models, then uploads the CV to Google Drive, logs results to Google Sheets, and sends or drafts emails in Gmail.
How it works
- Receives a CV submission via a POST webhook that includes candidate details, an applied job ID, and a CV file.
- Normalizes the intake data, timestamps the submission, and fetches the matching job description from Google Sheets using the applied job ID.
- Extracts CV text by either parsing the PDF directly or converting a DOCX/DOC to a Google Doc in Google Drive and exporting it as plain text.
- Detects whether the CV is Vietnamese or not and uses OpenRouter (Qwen for Vietnamese or Google Gemini for others) to parse the CV into a structured Candidate Profile JSON.
- Uses OpenRouter (Anthropic Claude Sonnet) to compare the Candidate Profile against the job description, then generates a hiring-manager style review and recommendation based on the ATS evaluation.
- Uploads the original CV to a recommendation-based Google Drive folder, logs the full screening record (including the Drive link) to Google Sheets, and sends a shortlist email or creates a rejection email draft in Gmail.
Setup
- Connect credentials for Google Sheets, Google Drive, Gmail, and OpenRouter.
- Fill in the configuration values for your Google Sheets spreadsheet ID, sheet GID(s), Google Drive folder IDs (DOCX temp, shortlisted, pending, do-not-proceed), and company name/HR email.
- Create and format the Google Sheets tabs so the Job Description sheet contains the required columns (job_id, title, department, required_skills, nice_to_have, min_experience_years, description) and the screening results sheet has matching columns for the logged fields.
- Copy the webhook URL for the CV intake endpoint and configure your form or source system to POST candidate_name, candidate_email, applied_job_id, and the cv_file binary (PDF or DOCX/DOC).
Requirements
- OpenRouter API key (for Claude Sonnet, Gemini Flash, and Qwen access)
- Google Workspace account (Sheets, Drive, Gmail)
- A form or system that can POST multipart/form-data with candidate_name, candidate_email, applied_job_id, and cv_file
Customization
- Swap any model in the Config node or Model Selector to use different LLMs
- Adjust ATS scoring weights and recommendation thresholds in the agent system prompts
- Update email templates in the Send Shortlist Email and Draft Rejection Email nodes
- Add more languages to the Detect CV Language node's character ratio logic
- Extend the Google Sheets schema to capture additional fields per your reporting needs