Structured Candidate Data Extraction from Resumes using GPT AI - n8n Workflow

Use this powerful n8n workflow to automatically process uploaded resumes (PDF, CSV, HTML, etc.), extract key candidate data (skills, email), and convert it into structured JSON using OpenAI's gpt-4o-mini model and custom n8n templates.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Recruiters and HR Professionals: Seeking to automate the initial screening and data entry phase from candidate documents.

  • Automation Engineers: Looking for robust examples of AI-powered structured data extraction using the n8n agent and output parsing nodes.

  • Users handling diverse file inputs: Anyone needing an n8n workflow that can intelligently route and process multiple file formats (PDF, DOC, TXT, CSV).

  • Businesses Scaling Hiring Operations: Companies requiring a reliable, automated system built with n8n to centralize resume data.

Overview

The manual process of receiving resumes in various formats (PDF, DOCX, CSV) and then transcribing key data points (like skills and contact information) into a CRM or spreadsheet is time-consuming and error-prone. This specialized n8n workflow solves this challenge by providing an end-to-end automation solution.

The core value of this n8n automation lies in its ability to standardize unstructured text. It begins by handling eight different file types, extracting the raw text, and then passing that text to a sophisticated AI agent. This AI agent, configured specifically within this n8n node setup, uses OpenAI's capabilities alongside a Structured Output Parser to guarantee the output is clean, validated JSON, ready for immediate use in downstream systems like Google Sheets or a database. This specific n8n template drastically improves data consistency and reduces manual effort in candidate management.

How it Works

This comprehensive n8n workflow begins execution using an specialized n8n trigger: the When chat message received n8n node. This trigger is configured to allow file uploads, typically used in n8n's conversational interface feature.


  1. File Type Routing: Once a file is uploaded (e.g., a candidate's resume), the workflow hits the Switch n8n node. This node dynamically inspects the file extension (.pdf, .csv, .xls, .txt, .rtf, .html, .ods, .xml) and routes the binary file data down the appropriate branch.

  2. Text Extraction: Specialized Extract from File n8n nodes handle the conversion of binary data for each file type into raw text. The extracted data is then aggregated and standardized into a single text field using the Edit Fields n8n node.

  3. AI Structured Extraction: The text field flows into the AI Agent n8n node. This agent utilizes the OpenAI Chat Model (specifically gpt-4o-mini) and is given a clear system prompt: to extract 'email, name, skills, and education'. Crucially, the Structured Output Parser n8n node is connected, which enforces the model to return data strictly conforming to a defined JSON schema.

  4. Validation and Error Handling: The Validate Output n8n node attempts to map the newly extracted structured data. If the AI successfully returns valid JSON, the data proceeds to the success path, where it can be appended to external storage (like the disabled Google Sheets n8n node) and a final success message is compiled by Edit Fields3.

  5. Failure Reporting: If the AI fails to produce valid structured JSON (e.g., if the resume was poor quality), the flow continues along the error path (handled by the onError: continueErrorOutput setting), where the Edit Fields1 n8n node generates an 'Unable to parse' message. Similarly, the Edit Fields2 n8n node catches failures where the file type itself could not be parsed.

Installation Guide

To implement this n8n template, follow these steps:


  1. Import the n8n Workflow: Copy the provided JSON data and import it directly into your n8n instance via the 'Workflows' section using the 'Import from JSON' button.

  2. OpenAI Credential Setup: Locate the OpenAI Chat Model1 n8n node. You must link your OpenAI API Key credentials. This credential is vital for the AI agent functionality.

  3. Google Sheets Setup (Optional): The Google Sheets n8n node is currently disabled. If you wish to send the structured data to a spreadsheet, you must enable this n8n node, configure your Google Sheets OAuth2 API credentials, and specify the Document ID and Sheet Name where the candidate data should be appended.

  4. Activate the Trigger: Ensure the When chat message received n8n trigger is active. You will interact with this n8n trigger by initiating a conversation and uploading a file in the n8n interface.

  5. Test the n8n workflow: Run a test execution by uploading a PDF or DOCX file to confirm the AI correctly extracts the required fields.

Node Details

When chat message received (n8n Trigger): Starts the n8n workflow upon receiving a message and an attached file via the n8n chat feature. Configured to explicitly allow file uploads.
Switch (n8n Node): Routes the execution path based on the file name extension (e.g., PDF, CSV, RTF). Essential for handling the diverse input formats of this n8n template.
Extract from File Nodes (e.g., Extract from PDF, Extract from CSV): A series of core n8n nodes responsible for transforming various binary resume file formats into plain, readable text that the AI can process. The PDF extraction capabilities are particularly important here.
AI Agent1 (n8n Node): The primary processing unit. It coordinates the OpenAI model and the Structured Output Parser. It is configured with a system message guiding it to extract specific candidate details.
OpenAI Chat Model1 (n8n Node): Connects to the OpenAI API, using the gpt-4o-mini model for efficient and accurate text analysis required by this n8n workflow.
Structured Output Parser (n8n Node): A critical n8n node that enforces a specific output structure (JSON schema) for the AI, ensuring the extracted data is reliable and standardized (containing 'name', 'email', 'skills', 'education').


  • Validate Output (Set n8n Node): Maps the structured JSON output into named fields. It is configured to continue on error, allowing for separate logging of parsing failures.

Related n8n Workflows

Free

Nodes: 9 Nodes
Updated: December 26 2025
View all
Created by
Angel Menendez
Angel Menendez

Angel Menendez is a Staff Developer Advocate at n8n.io, specializing in low-code tools for cybersecurity workflows. From Puerto Rico, Angel's tech journey began by helping his father translate technical books. He later started a web development business and transitioned from a career as a flight attendant to cybersecurity engineering. His workflows have saved companies significant time. Outside work, Angel enjoys time with his two sons, riding electric bikes, reading, and exploring new places.

Featured*