Skip to content

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

  1. Application Monitoring: The workflow continuously monitors a Google Sheet for new job applications submitted via Google Forms
  2. Document Processing: When a new application is detected, it extracts Google Drive file IDs from CV and essay upload links
  3. CV Analysis: Downloads the CV, uploads it to OpenAI for OCR processing, and extracts experience summaries, education details, and overall ratings
  4. Essay Evaluation: Downloads the essay document and scores it against specific criteria (entrepreneurship topic with required vocabulary usage)
  5. AI Processing: Uses specialized OpenAI assistants to analyze both documents and generate structured outputs
  6. Results Compilation: Combines the original application data with AI analysis results and writes everything to a results spreadsheet
  7. 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 analysis
    • asst_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

No related workflows specified in the current context.

Setup Instructions

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

  2. 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
  3. 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
  4. Verify Sheet Structure:

    • Ensure source sheet has columns matching the expected form fields
    • Verify output sheet has appropriate column headers for the mapped data
  5. Test the Workflow:

    • Add a test row to the source spreadsheet
    • Monitor execution logs for any errors
    • Verify results appear in the output spreadsheet
  6. Activate: Enable the workflow triggers to begin automatic processing