Skip to content

AI Recruitment Screening Agent

An automated recruitment workflow that processes job applications by analyzing uploaded CVs and essays using AI-powered document analysis. The system extracts key information from resumes, evaluates essay responses, and consolidates results into a structured output for recruitment teams.

Purpose

No business context provided yet — add a context.md to enrich this documentation.

This workflow appears to be designed for processing job applications, specifically for a program called "YET" (Youth Entrepreneurship Training). It automatically screens candidates by: - Analyzing uploaded CVs to extract experience, education, and skills - Evaluating essay responses about entrepreneurship in Ugandan society - Providing structured scoring and summaries for recruitment decision-making

How It Works

  1. Application Monitoring: The workflow monitors a Google Sheets document for new job applications submitted through a form
  2. Document Processing: When a new application is detected, it extracts CV and essay files from Google Drive links
  3. CV Analysis: Downloads the CV, uploads it to OpenAI for OCR and text extraction, then analyzes experience, education, and skills
  4. Essay Evaluation: Downloads the essay submission and scores it based on specific criteria related to entrepreneurship in Uganda
  5. AI Processing: Uses OpenAI assistants to perform document analysis and scoring with structured prompts
  6. Data Consolidation: Combines the original application data with AI analysis results
  7. Output Generation: Writes the enriched data to a separate Google Sheets document for review
  8. Cleanup: Removes uploaded files from OpenAI to manage storage

Workflow Diagram

graph TD
    A[Google Sheets Trigger - CV Path] --> B[Code3 - Get Latest Row]
    A2[Google Sheets Trigger - Essay Path] --> B2[Code4 - Get Latest Row]

    B --> C[Code - Extract CV File ID]
    B --> G[Google Sheets - Write Output]

    C --> D[HTTP Request - Download CV]
    D --> E[OpenAI - Upload CV File]
    E --> F[OpenAI6 - Update CV Assistant]
    F --> H[OpenAI2 - Analyze CV]
    H --> I[Code2 - Structure Output]
    I --> J[OpenAI8 - Delete CV File]

    B2 --> C2[Code1 - Extract Essay File ID]
    C2 --> D2[HTTP Request1 - Download Essay]
    D2 --> E2[OpenAI3 - Upload Essay File]
    E2 --> F2[OpenAI9 - Update Essay Assistant]
    F2 --> H2[OpenAI5 - Analyze Essay]
    H2 --> J2[OpenAI10 - Delete Essay File]

    J --> G
    J2 --> G

Trigger

Google Sheets Trigger (2 instances) - Monitors the "YET_applications" sheet in a Google Sheets document - Triggers when new rows are added (new applications submitted) - Polls every minute for changes - Both triggers monitor the same sheet but process different document types

Nodes Used

Node Type Count Purpose
Google Sheets Trigger 2 Monitor for new job applications
Code 5 Extract file IDs, get latest rows, structure AI output
HTTP Request 2 Download CV and essay files from Google Drive
OpenAI 8 File upload, AI analysis, assistant management, file cleanup
Google Sheets 1 Write processed results to output sheet
Sticky Note 6 Workflow documentation and organization

External Services & Credentials Required

Google Services

  • Google Sheets Trigger OAuth2: Access to read application data from source spreadsheet
  • Google Sheets OAuth2: Write permissions for output spreadsheet

OpenAI

  • OpenAI API: Access to file operations and assistant APIs
  • Pre-configured Assistants:
    • asst_XE7zzsVBnrgP6DIhsldk3LPh (file analyzer) - CV analysis
    • asst_BX1yz8XVvktnWJitik7Q0NCg (Essay analyzer) - Essay scoring

Environment Variables

No environment variables are explicitly configured in this workflow. All configuration is handled through: - Google Sheets document IDs (hardcoded in nodes) - OpenAI assistant IDs (hardcoded in nodes) - Credential references for API access

Data Flow

Input

  • Source: Google Sheets form responses containing:
    • Personal information (name, email, phone, location)
    • Education details
    • CV file (Google Drive link)
    • Essay submission (Google Drive link)
    • Other application fields

Processing

  • CV Analysis Output: JSON containing experience summary, CV summary, and overall rating
  • Essay Analysis Output: Numerical score (0-100) based on entrepreneurship essay criteria

Output

  • Destination: Consolidated Google Sheets with original application data plus AI analysis
  • Format: Structured rows with all original fields maintained

Error Handling

The workflow includes several error handling mechanisms: - HTTP Request1: Configured with "Continue on Error" for essay download failures - OpenAI8 & OpenAI10: File deletion operations continue on error to prevent workflow failure - Retry Logic: OpenAI2 and OpenAI5 (analysis nodes) have retry enabled for reliability

Known Limitations

  • Workflow is currently inactive (status: false)
  • Hardcoded document IDs limit portability
  • Dependent on specific Google Drive file sharing permissions
  • Essay analysis requires specific keyword usage ("salubrious")
  • Limited to processing one application at a time
  • No validation for file format compatibility

No related workflows identified from the provided context.

Setup Instructions

  1. Import Workflow: Import the JSON into your n8n instance

  2. Configure Credentials:

    • Set up Google Sheets OAuth2 credentials for both trigger and output operations
    • Configure OpenAI API credentials with appropriate permissions
  3. Create OpenAI Assistants:

    • Create a "file analyzer" assistant for CV processing
    • Create an "Essay analyzer" assistant for essay evaluation
    • Update assistant IDs in the respective OpenAI nodes
  4. Update Google Sheets References:

    • Replace source spreadsheet ID in both Google Sheets Trigger nodes
    • Replace output spreadsheet ID in the Google Sheets output node
    • Ensure proper sheet names match your setup
  5. Test File Access:

    • Verify Google Drive file sharing permissions
    • Test with sample CV and essay uploads
    • Confirm OpenAI file upload/download functionality
  6. Activate Workflow: Enable the workflow to begin monitoring for new applications

  7. Monitor Performance: Check execution logs and adjust polling frequency as needed