AI Recruitment Screening Agent¶
This workflow automates the analysis and scoring of job applications by processing CVs and essays submitted through Google Forms. It uses OpenAI's GPT models to extract key information from CVs, evaluate essay responses, and compile structured results for recruitment teams.
Purpose¶
No business context provided yet — add a context.md to enrich this documentation.
This workflow serves recruitment teams by automating the initial screening of job applications. When candidates submit their applications through a Google Form (including CV uploads and essay responses), the system automatically:
- Extracts and analyzes CV content using OCR and AI
- Scores essay responses against predefined criteria
- Generates structured summaries for recruiters
- Outputs results to a consolidated Google Sheet for review
How It Works¶
- Application Monitoring: The workflow continuously monitors a Google Sheet for new job applications submitted via Google Forms
- Document Processing: When a new application is detected, it extracts Google Drive file IDs from CV and essay upload links
- CV Analysis: Downloads the CV, uploads it to OpenAI for OCR processing, and extracts experience summaries, education details, and overall ratings
- Essay Evaluation: Downloads the essay document and scores it against specific criteria (entrepreneurship topic with required vocabulary usage)
- AI Processing: Uses specialized OpenAI assistants to analyze both documents and generate structured outputs
- Results Compilation: Combines the original application data with AI analysis results and writes everything to a results spreadsheet
- Cleanup: Removes temporary files from OpenAI storage to manage costs
Workflow Diagram¶
graph TD
A[Google Sheets Trigger - CV Path] --> B[Code3 - Get Latest Row]
C[Google Sheets Trigger1 - Essay Path] --> D[Code4 - Get Latest Row]
B --> E[Code - Extract CV File ID]
B --> F[Google Sheets - Write Results]
E --> G[HTTP Request - Download CV]
G --> H[OpenAI - Upload CV File]
H --> I[OpenAI6 - Update Assistant with CV]
I --> J[OpenAI2 - Analyze CV]
J --> K[Code2 - Structure Output]
K --> L[OpenAI8 - Delete CV File]
D --> M[Code1 - Extract Essay File ID]
M --> N[HTTP Request1 - Download Essay]
N --> O[OpenAI3 - Upload Essay File]
O --> P[OpenAI9 - Update Assistant with Essay]
P --> Q[OpenAI5 - Analyze Essay]
Q --> R[OpenAI10 - Delete Essay File]
Trigger¶
Google Sheets Trigger: Monitors the "YET_applications" sheet in the source Google Spreadsheet for new rows added (polling every minute). The workflow has two identical triggers - one for CV processing and one for essay processing.
Nodes Used¶
| Node Type | Purpose |
|---|---|
| Google Sheets Trigger | Detects new job applications in the source spreadsheet |
| Code | Extracts Google Drive file IDs from upload URLs and filters for latest entries |
| HTTP Request | Downloads CV and essay files from Google Drive |
| OpenAI (File Upload) | Uploads documents to OpenAI for processing |
| OpenAI (Assistant Update) | Associates uploaded files with specialized AI assistants |
| OpenAI (Assistant Query) | Processes documents using AI assistants for analysis |
| OpenAI (File Delete) | Cleans up temporary files from OpenAI storage |
| Google Sheets (Append) | Writes processed results to the output spreadsheet |
| Sticky Note | Documentation and workflow organization |
External Services & Credentials Required¶
Google Services¶
- Google Sheets Trigger OAuth2: Access to read the source applications spreadsheet
- Google Sheets OAuth2: Access to write results to the output spreadsheet
- Google Drive: Implicit access through file download URLs (no separate credentials needed)
OpenAI¶
- OpenAI API: Access to GPT models and file processing capabilities
- Pre-configured Assistants:
asst_XE7zzsVBnrgP6DIhsldk3LPh(file analyzer) - for CV analysisasst_BX1yz8XVvktnWJitik7Q0NCg(Essay analyzer) - for essay scoring
Environment Variables¶
No environment variables are used in this workflow. All configuration is handled through node parameters and credential references.
Data Flow¶
Input¶
- Source: Google Sheet row containing job application data
- Key Fields:
- Applicant personal information (name, email, phone, etc.)
- CV upload link (Google Drive URL)
- Essay upload link (Google Drive URL)
- Application responses to various questions
Processing¶
- CV Analysis Output: JSON containing experience summary, CV summary, and overall rating
- Essay Analysis Output: Numerical score (0-100) based on specific criteria
Output¶
- Destination: Consolidated Google Sheet with original application data
- Enhanced Data: Original form responses plus AI analysis results for recruitment review
Error Handling¶
The workflow includes several error handling mechanisms:
- HTTP Request1 (essay download): Configured with "Continue on Error" to handle missing essay files
- OpenAI8 and OpenAI10 (file deletion): Set to continue on error to prevent workflow failure if files are already deleted
- Retry Logic: OpenAI analysis nodes have retry enabled for handling temporary API issues
- File ID Extraction: Code nodes include error handling for malformed Google Drive URLs
Known Limitations¶
- Workflow polls every minute, which may cause delays in processing urgent applications
- Depends on specific Google Drive URL format for file extraction
- Requires pre-configured OpenAI assistants with specific IDs
- No validation of file types or sizes before processing
- Limited error reporting - failures may not be immediately visible to users
Related Workflows¶
No related workflows specified in the current context.
Setup Instructions¶
-
Import Workflow: Import the JSON into your n8n instance
-
Configure Google Sheets Credentials:
- Set up Google Sheets Trigger OAuth2 credentials
- Set up Google Sheets OAuth2 credentials for output
- Update source spreadsheet ID:
1t3R-aLcC1eGzanat893VDmA-GzbG-u7W5WUXyON1Tek - Update output spreadsheet ID:
1ftuxoCZxo7U80mo9W5DVFnvd_ySdN9JVOEck83nv0Kw
-
Configure OpenAI:
- Add OpenAI API credentials
- Ensure the following assistants exist in your OpenAI account:
asst_XE7zzsVBnrgP6DIhsldk3LPh(file analyzer)asst_BX1yz8XVvktnWJitik7Q0NCg(Essay analyzer)
- Or update the assistant IDs in the respective nodes
-
Verify Sheet Structure:
- Ensure source sheet has columns matching the expected form fields
- Verify output sheet has appropriate column headers for the mapped data
-
Test the Workflow:
- Add a test row to the source spreadsheet
- Monitor execution logs for any errors
- Verify results appear in the output spreadsheet
-
Activate: Enable the workflow triggers to begin automatic processing