Resume Data Extractor with AI and Supabase Storage - n8n Workflow

Automate resume processing using this powerful n8n workflow. Extract structured candidate data from PDF email attachments using AI (via OpenRouter) and store relational data efficiently in Supabase tables. Use this n8n template for HR automation.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • HR professionals and recruiters who receive many resumes via email.

  • Talent acquisition teams looking to centralize candidate data.

  • Users needing a sophisticated n8n workflow to handle complex text extraction.

  • Developers building scalable hiring backends using Supabase and n8n templates.

Overview

Managing high volumes of resumes is time-consuming and prone to errors. This n8n workflow solves this by completely automating the ingestion, extraction, and structuring of candidate data. Utilizing the Gmail n8n trigger, the system constantly monitors for new attachments. Once a PDF resume is detected, the workflow uses advanced AI capabilities (via an LLM chain) to parse the unstructured text into clean, structured JSON data, identifying names, contact details, skills, and experience. This structured data is then securely saved into multiple relational tables within a Supabase database. This n8n automation provides a ready-to-use foundation for building powerful HR screening tools.

How it Works

This powerful n8n workflow initiates every time a new email arrives in your configured Gmail account, acting as the primary n8n trigger.


  1. Email Reception: The Gmail n8n trigger fires upon receiving an email and downloads any associated attachments.

  2. Attachment Check: An If n8n node checks if a file (attachment_0) exists before proceeding.

  3. PDF Extraction: The Extract from File n8n node reads the binary PDF data and converts the content into readable text.

  4. AI Analysis: The text is passed to the Basic LLM Chain, which is configured as an HR expert. This n8n node, paired with the OpenRouter Chat Model and the Structured Output Parser, forces the LLM to extract key details (Name, Email, Telephone, Education, Skills, Experience) into a precise JSON format.

  5. Supabase Insertion (Primary): A generic HTTP Request n8n node is used to insert the primary candidate contact information (Name, Email, Telephone) into the main Supabase table, retrieving the newly created CV record ID.

  6. Relational Data Processing: Since Experience, Skills, and Education are returned as arrays, the workflow branches into three parallel paths. In each path, a Set n8n node prepares the specific array, and a Split Out n8n node iterates over each item in the array.

  7. Supabase Insertion (Secondary): Finally, three separate Supabase n8n nodes insert the individual Experience, Skill, and Education records, linking each item back to the main CV entry using the ID generated in step 5. This completes the complex data structuring handled by this automated n8n workflow.

Installation Guide

To deploy this automated n8n workflow template, follow these steps:


  1. Import: Copy the provided JSON code and paste it into your n8n instance using the 'New' menu and selecting 'Import from JSON'.

  2. Gmail Trigger Setup: Configure the 'Gmail Trigger' n8n node. You will need to create or select a Gmail credential to allow n8n to monitor your inbox. Ensure 'Download Attachments' is enabled.

  3. LLM Service Credentials: Configure the 'OpenRouter Chat Model' n8n node with your OpenRouter API key. This is essential for the AI processing step in the n8n workflow.

  4. Supabase Configuration: The 'HTTP Request' n8n node and the three 'Supabase' n8n nodes require configuration:

Update the URL in the 'HTTP Request' node to point to your Supabase API endpoint for the primary CV table.
Replace [key] placeholders in the 'HTTP Request' headers (apikey and Authorization Bearer token) with your actual Supabase service key.
* Update the Table ID parameters in all three dedicated Supabase n8n nodes ('Supabase', 'Supabase1', 'Supabase2') to match your experiences, skills, and education table names respectively. Define the appropriate Supabase credentials for these connections.

  1. Activate: Once credentials and table IDs are configured, activate the n8n workflow to begin monitoring incoming resumes.

Node Details

Gmail Trigger (n8n trigger): The starting n8n node, polling for new emails and downloading attachments. Key setting: Download Attachments is enabled.
If n8n node: Checks for the existence of an attachment (attachment_0) before proceeding to extraction, ensuring stability in the n8n workflow.
Extract from File n8n node: Takes the binary data from the attachment and extracts the raw text content, configured specifically for PDF files.
Basic LLM Chain n8n node: Orchestrates the AI extraction. It feeds the raw text into the connected LLM (OpenRouter) with a role-defining prompt instructing it to act as an HR expert.
Structured Output Parser n8n node: Ensures the AI output conforms to a strict JSON schema, which is crucial for reliable data mapping later in the n8n workflow.
HTTP Request n8n node: Used for the initial primary insertion into Supabase (Candidate details), configured with POST method and required API key headers.
Edit Fields (Set) n8n nodes: These nodes isolate specific array fields (Experience, Skill, Education) from the LLM output into separate, easily manageable variables.
Split Out n8n node: A critical core logic n8n node that transforms a single item containing an array into multiple individual items, allowing each skill or experience to be processed and inserted separately.


  • Supabase n8n nodes: Handles the final database insertion for the split relational data (Experiences, Skills, Education), using the primary CV ID retrieved from the initial HTTP request for linking.

Related n8n Workflows

Free

Nodes: 11 Nodes
Updated: December 26 2025
View all
Created by
Belgacem Dhiflaoui
Belgacem Dhiflaoui

Featured*