Unstructured Resume Parser to Structured JSON using AI and Thordata - n8n Workflow

Use this powerful n8n workflow to automatically parse unstructured online resumes using the Thordata Universal API and OpenAI GPT-4.1-mini, transforming candidate data into a structured JSON resume format for recruitment systems.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Recruitment Teams and HR Professionals: Who need to standardize resume data for Applicant Tracking Systems (ATS).

  • Automation Engineers: Seeking an example of advanced LLM schema extraction within an n8n workflow.

  • Data Analysts: Needing high-quality, structured candidate data from diverse sources.

  • Users evaluating n8n templates: Looking for sophisticated, multi-step automation solutions.

Overview

Processing resumes in various formats (HTML, PDF, web pages) is a major bottleneck for hiring teams. This robust n8n workflow addresses this by providing an end-to-end automation solution. It first leverages the Thordata Universal API to intelligently fetch and normalize content from any resume URL, converting complex HTML into clean Markdown text. The core value is then delivered by the OpenAI GPT-4.1-mini language model, configured via a specialized n8n node (Information Extractor). This node guides the AI using the strict JSON Resume Schema, forcing the model to extract crucial entities—like work experience, education, and skills—into a reliable, machine-readable JSON object. This specific n8n workflow saves significant manual data entry time and ensures high data quality, making it one of the most effective n8n templates for HR automation. The result can be stored locally or pushed instantly to a Google Sheets document, completing the full automation loop.

How it Works

This automation is initiated by an n8n trigger, the 'Execute workflow' button, designed for immediate testing or manual runs.


  1. Initialization: The workflow starts with the manual n8n trigger, followed by a 'Set' n8n node where the target resume_url is defined.

  2. Web Content Ingestion: The URL is passed to the 'Perform Thordata Universal API Request' n8n node. Thordata scrapes the content and extracts the raw HTML.

  3. Content Normalization: The 'Convert HTML to Markdown format' n8n node cleans the raw HTML into a structured markdown format, which is optimal for AI processing.

  4. Structured AI Parsing: The 'JSON Resume Builder' n8n node (an Information Extractor) takes the cleaned markdown text. It utilizes the power of the connected 'OpenAI Chat Model' (gpt-4.1-mini) and instructs it to strictly adhere to the provided JSON Resume schema. This powerful combination within the n8n workflow ensures accurate, structured extraction.

  5. Output Handling (Storage): The resulting structured JSON resume is then routed to two parallel actions:

a. It is appended as a new row in a designated Google Sheet via the 'Append or update row in sheet' n8n node.
b. It is converted into a binary format using a Function n8n node and then written to a local disk path (e.g., C:\[Name].json) via the 'Write the Structured JSON resume to Disk' n8n node.

Installation Guide

To deploy this powerful n8n workflow, follow these steps:


  1. Import the n8n templates: Copy the provided JSON code and import it directly into your n8n instance via the 'Workflows' menu.

  2. Thordata Credential Setup: Locate the 'Perform Thordata Universal API Request' n8n node. Create a new HTTP Bearer Authentication credential, providing your Thordata Universal API Token.

  3. OpenAI Credential Setup: Locate the 'OpenAI Chat Model for Resume Builder' n8n node. Set up or select your existing OpenAI API Key credential.

  4. Google Sheets Credential Setup: Locate the 'Append or update row in sheet' n8n node. Authenticate using OAuth2 credentials for Google Sheets and select the target Spreadsheet ID and Sheet Name where the data should be written.

  5. Input Configuration: Edit the 'Set the Input Fields' n8n node to change the placeholder resume_url to the URL you wish to test or process. This n8n workflow is ready for execution once credentials are set.

Node Details

When clicking ‘Execute workflow’ (Manual Trigger): The starting n8n trigger for the automation. It allows manual testing and execution of the n8n workflow.
Set the Input Fields (Set): Defines the initial input variable resumeurl, which dictates the source of the unstructured resume data.
Perform Thordata Universal API Request (HTTP Request): Sends a request to the Thordata Universal API, using a Bearer Token. It fetches the web content of the specified URL, configured with options to handle rendering and clean the content (remove CSS/JS).
Convert HTML to Markdown format (Markdown n8n node): Essential data preparation step. Converts the potentially noisy HTML content received from Thordata into clean Markdown, enhancing the input quality for the downstream AI model.
OpenAI Chat Model for Resume Builder (Language Model Chat OpenAI): Connects to the OpenAI service using gpt-4.1-mini. This n8n node acts as the processing engine for the Information Extractor.
JSON Resume Builder (Information Extractor): The key processing n8n node. It receives the Markdown text and uses a highly detailed JSON schema prompt (conforming to the JSON Resume standard) to instruct the GPT model to extract and structure the candidate's information precisely.
Append or update row in sheet (Google Sheets n8n node): Handles structured output delivery. It serializes the final JSON result and writes it as a string field (jsonresume) to the configured Google Sheet.
Write the Structured JSON resume to Disk (Read Write File n8n node): Saves the structured data locally. The filename is dynamically generated based on the extracted candidate's name ({{ $json.output.basics.name }}.json).

Related n8n Workflows

Free

Nodes: 10 Nodes
Updated: December 26 2025
View all
Created by

A Professional based out of India specialized in handling AI-powered automations. Contact me at [email protected]

Featured*