Skip to main content

Extract structured candidate data from resumes with GPT AI

Workflow preview

Workflow preview
100%
Extract structured candidate data from resumes with GPT AI preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Who is this for? This workflow is perfect for HR teams, recruiters, and hiring platforms that need to automate th...

Best for

  • HR automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.chattrigger, n8n-nodes-base.switch, n8n-nodes-base.set, @n8n/n8n-nodes-langchain.agent, @n8n/n8n-nodes-langchain.lmchatopenai, @n8n/n8n-nodes-langchain.outputparserstructured, n8n-nodes-base.googlesheets, n8n-nodes-base.extractfromfile

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Angel Menendez.

Original n8n.io source

1.1 Workflow description

Title
Extract structured candidate data from resumes with GPT AI
Workflow name
Extract structured candidate data from resumes with GPT AI

Who is this for?

This workflow is perfect for HR teams, recruiters, and hiring platforms that need to automate the extraction of key candidate details—like name, email, skills, and education—from resume files submitted in various formats.

What problem does this solve?

Manually reviewing and extracting structured data from resumes is time-consuming and error-prone. This automation eliminates that bottleneck, standardizing candidate data for seamless integration into CRMs, applicant tracking systems, or Google Sheets.

What this workflow does

This n8n template listens for uploaded resume files, detects their format (PDF, DOC, TXT, CSV, etc.), and automatically extracts the raw text using n8n’s built-in file extraction tools. The extracted text is then parsed using an OpenAI-powered agent that returns structured fields such as:

  • Full Name
  • Email Address
  • Skill Keywords
  • Education Details

Optionally, you can push the structured output to Google Sheets (node included, currently disabled).

Setup

  1. Clone this workflow into your n8n instance.
  2. Enable the When chat message received trigger if using n8n chat.
  3. Provide your OpenAI credentials and enable the LangChain Agent node.
  4. (Optional) Connect Google Sheets by authenticating with your Google account and filling in your target document and sheet.

Watch the setup and demo video here:
🎥 https://youtu.be/2SUPiNmLWdA

How to customize

  • Modify the OpenAI system message to extract different fields (e.g., phone number, LinkedIn).
  • Replace the Google Sheets node with a webhook to push results to your ATS.
  • Add filters to limit accepted file types or max file size.

> ⚠️ This template is designed to be secure. It uses credentials stored in the n8n credential manager—no hardcoded secrets required.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - When chat message received

Type / Role
@n8n/n8n-nodes-langchain.chatTrigger - chatTrigger
Config choices
Version 1.1

Block 2 - Switch

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.2

Block 3 - Edit Fields

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 4 - AI Agent1

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.9

Block 5 - OpenAI Chat Model1

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.2

Block 6 - Structured Output Parser

Type / Role
@n8n/n8n-nodes-langchain.outputParserStructured - outputParserStructured
Config choices
Version 1.2

Block 7 - Validate Output

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 8 - Google Sheets

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 9 - Edit Fields1

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 10 - Edit Fields2

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 11 - Edit Fields3

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 12 - Extract from CSV

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 13 - Extract from HTML

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 14 - Extract from ODS

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 15 - Extract from PDF

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 16 - Extract from RTF

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 17 - Extract from TXT

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 18 - Extract from XLS

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 19 - Extract from XML

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 20 - Aggregate

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

3. Summary Table

Workflow Extract structured candidate data from resumes with GPT AI
Complexity advanced
Nodes 20
Categories HR, AI Summarization
Author Angel Menendez
Published 07 Jul 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/5752/5752.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Extract structured candidate data from resumes with GPT AI do?

Who is this for? This workflow is perfect for HR teams, recruiters, and hiring platforms that need to automate th...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your HR, AI Summarization use case.