HR Recruitment Workflow Automator
Purpose
Automate the processing of job applications by:
- •Reading and parsing multiple PDF resumes to extract candidate details
- •Updating Notion HR databases with candidate information
- •Comparing applications against open positions based on headcount data
- •Sending automated rejection emails for closed positions
- •Managing database entries (create, update, delete)
Trigger Phrases
- •"update candidate information"
- •"process resumes"
- •"HR record management"
- •"send rejection emails"
- •"PDF resume processing"
- •"Notion database updates"
- •"recruitment workflow automation"
Core Workflow
Phase 1: Discovery & Setup
- •
Locate HR Record Page
- •Search Notion for "HR Record" page
- •Identify the page containing recruitment databases
- •
Find Resume Files
- •Scan workspace directories for PDF resumes
- •Typically found in
/workspace/dumps/workspace/cvs/or similar paths
- •
Understand Database Structure
- •Retrieve schema for "Job Positions" database (contains Position and Head Counts)
- •Retrieve schema for "Candidates" database (contains Name, Email, Applied Position, Highest Degree, School)
Phase 2: Data Processing
- •
Extract Resume Information
- •For each PDF resume, extract:
- •Candidate Name
- •Email Address
- •Applied Position
- •Highest Degree
- •School/University
- •Use PDF parsing tools to read text content
- •For each PDF resume, extract:
- •
Analyze Job Positions
- •Query "Job Positions" database to identify:
- •Positions with Head Counts > 0 (open for recruitment)
- •Positions with Head Counts = 0 (closed/not hiring)
- •Query "Job Positions" database to identify:
Phase 3: Database Operations
- •
Clean Existing Data
- •Delete sample/test entries from Candidates database
- •Remove any placeholder or incomplete records
- •
Create Candidate Entries
- •Create new database entries for all candidates
- •Add detailed candidate information as page content (due to API limitations)
Phase 4: Communication Management
- •
Identify Candidates for Rejection
- •Compare each candidate's applied position against open positions
- •Flag candidates applying for positions with Head Counts = 0
- •
Send Rejection Emails
- •Use standardized rejection email template
- •Send personalized emails to candidates with closed positions
- •Include proper line breaks and formatting as specified
Key Considerations
API Limitations
- •Notion API wrapper may restrict setting database properties beyond "title"
- •Workaround: Add candidate details as page content using block children API
- •Database properties (School, Highest Degree, Applied Position, Email) may remain empty in table view but are accessible in page content
Data Accuracy
- •Extract information strictly from resume content
- •Do not modify, add, or remove any words from original resumes
- •Ensure email addresses and positions match exactly what's in the PDFs
Error Prevention
- •Verify position names match exactly between resumes and Job Positions database
- •Double-check email addresses before sending
- •Confirm headcount values before determining position availability
Required Tools
- •Notion API (search, database queries, page creation, block management)
- •PDF parsing tools
- •Filesystem navigation
- •Email sending capabilities
Output
- •Updated Notion Candidates database with all applicant information
- •Rejection emails sent to applicable candidates
- •Clean database without sample entries
- •All information filled according to resume content