Automate CV Screening with n8n, OpenAI & Supabase

Streamline candidate screening by automatically extracting and analyzing CVs using n8n’s workflow, OpenAI’s AI, and Supabase storage. This workflow saves recruitment teams hours by delivering matching scores, summaries, and insights for every applicant.
manualTrigger
set
httpRequest
+1
Workflow Identifier: 1347
NODES in Use: manualTrigger, set, httpRequest, extractFromFile

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

What This Automation Does

This workflow gets a candidate’s CV from a link, reads the text from the PDF, sends that text and the job description to OpenAI for a detailed check, and gets back a clear match score plus reasons why the candidate fits or not.

It saves time by doing resume screening automatically. It helps hiring teams find the best candidates faster and with fewer mistakes.


Who Should Use This Workflow

This workflow works well for recruiters and HR managers who get many CVs every week.

You should use it when you need faster, consistent, and unbiased candidate screening, especially for tech roles requiring skill matching.


Tools and Services Used

  • n8n Automation Platform: Runs the workflow tasks.
  • OpenAI API: Analyzes the CV text versus job description.
  • HTTP Request Node in n8n: Downloads CV files and talks to OpenAI.
  • PDF Extractor Node in n8n: Pulls text from PDF resumes.
  • Optional Database (like Supabase): Stores results for later use.

Inputs, Processing Steps, and Output

Inputs:

  1. Candidate CV link (a public URL to the PDF).
  2. Job description text describing the role’s needs.
  3. Custom prompt and JSON schema to guide OpenAI’s analysis.

Processing Steps:

  1. The workflow downloads the CV using the link.
  2. PDF text is extracted to plain text.
  3. OpenAI gets the CV text and job description together, and it returns a structured JSON with matching details.
  4. The JSON response is parsed into usable data.
  5. Processed info can be saved or used to inform hiring decisions.

Output:

The workflow produces a clear JSON object showing match percentage, summary, and reasons for the candidate’s suitability.


Beginner Step-by-Step: How to Use this Workflow in n8n

1. Download and Import

  1. Find and click the Download button on this page to save the workflow file.
  2. Open n8n editor currently in use (Cloud or self-host n8n).
  3. Use the menu option “Import from File” to load the saved workflow.

2. Configure Credentials and Variables

  1. Add your OpenAI API Key in the n8n Credentials section.
  2. Check any node that needs IDs, URLs, emails, channels, or tables and update those as per your use case.
  3. Verify the prompt and JSON schema in the Set node with your exact text or copy-paste provided values.

3. Test the Workflow

  1. Manually run the workflow via the Manual Trigger.
  2. Watch the execution logs to confirm the CV downloads, text extracts, and OpenAI responds correctly.

4. Activate for Production

  1. Once testing is complete, activate the workflow with your chosen trigger (webhook, scheduler, etc.).
  2. Monitor regular runs inside n8n to catch any issues early.

Customizations

  • Change Candidate Scoring Threshold: You can easily set how strict the passing score is in the prompt text in the Set node.
  • Switch Resume Source: Use different URLs with authentication headers if CVs are on Dropbox, Google Drive, or private storage.
  • Support More File Types: Add nodes to handle DOCX or plain text resumes if needed.
  • Save Results to a Database: Add a Supabase or SQL node to keep candidate evaluation records.

Troubleshooting

Download Fails or File is Empty

Check if the CV URL is correct, public, and not expired.

If private, get a public link or add necessary authentication headers to the request.

OpenAI API Errors

Make sure the JSON body matches the schema, and the API Key is valid.

Check that text data sent to OpenAI is properly encoded.


Pre-Production Checklist

  • Confirm that CV URLs open publicly without login.
  • Test PDF extraction node across different CV formats.
  • Validate OpenAI JSON schema and prompt works as expected.
  • Run full workflow manually and check parsed data.
  • Verify database connections and table structures if saving results.

Deployment

Activate the workflow after testing inside n8n.

Connect the workflow to your preferred trigger for automation.

Keep monitoring logs within n8n to catch errors quickly.

For periodic batch runs, use the scheduler node.


Summary

→ Automates CV download, text extract, and AI evaluation steps
→ Produces simple match scores and detailed candidate feedback
✓ Saves hours of manual resume screening work
✓ Improves hiring decisions with consistent, structured AI analysis
✓ Easy to customize and integrate with storage or databases
✓ Works with public URLs and OpenAI API for versatile use


Frequently Asked Questions

No, the workflow currently only extracts text from PDF files. DOCX support needs added nodes or conversion.
The workflow requires public URLs or links with proper access. Private links need authentication headers or to be made public.
OpenAI sends back a structured JSON with match percentage, summary, and reasons based on the prompt and schema.
Yes, the workflow works in self-host n8n environments with the need for proper API credentials and internet access.

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation Workflows in n8n

A complete beginner guide to building an AI SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free