Automate Resume Parsing with n8n and GPT-4 Turbo

Save hours manually extracting resume data by automating resume text parsing and PDF generation using n8n’s Telegram trigger and OpenAI’s GPT-4 Turbo. This workflow structures resume details into HTML and sends polished PDF resumes back via Telegram.
Telegram Trigger
OpenAI Chat Model
Code
+11
Workflow Identifier: 2049
NODES in Use: Telegram Trigger, If, No Operation, Telegram, Extract Text from PDF, OpenAI Chat Model, Auto-fixing Output Parser, Structured Output Parser, Chain LLM, Code, Set, Merge, Convert To File, HTTP Request

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 Workflow Does

This workflow receives resume PDF files sent to a Telegram bot.

It extracts text from the PDFs, then uses GPT-4 Turbo from OpenAI to parse the text into structured JSON with key resume details.

Next, it converts these details into formatted HTML sections, merges all HTML into one document, then converts that to a PDF using Gotenberg.

Finally, the workflow sends back the polished PDF resume to the user on Telegram.


Who Should Use This Workflow

This workflow is ideal for recruiters who get many resumes via Telegram and want to save time by automating resume processing.

It works well for anyone needing to transform unstructured resume PDFs into easy-to-read, structured formats quickly.


Tools and Services Used

  • Telegram Bot API: Receives user messages including resume files.
  • OpenAI GPT-4 Turbo: Parses unstructured resume text into a structured JSON object.
  • n8n: Orchestrates the workflow automation and node connections.
  • Gotenberg HTML to PDF service: Converts combined HTML into a polished PDF document.

Input, Processing, and Output

Inputs

  • PDF resume file sent as a document in a Telegram chat with the bot.
  • Telegram chat ID for user validation and response routing.

Processing Steps

  • Download the resume PDF using Telegram Get file node.
  • Extract text content from the PDF.
  • Send text to OpenAI GPT-4 Turbo to parse important sections into JSON format.
  • Use an auto-fixing parser to correct minor AI output issues for clean JSON.
  • Convert JSON arrays such as employment history, education, projects, volunteering into formatted HTML strings via JavaScript Code nodes.
  • Format simple fields like personal info and skills into HTML blocks using Set nodes.
  • Merge all HTML sections logically into one full HTML document.
  • Convert the combined HTML text to a base64 encoded string, then to an HTML binary file.
  • Send the HTML file to Gotenberg service to generate a PDF document.
  • Upload the final PDF back to the Telegram user with the filename based on personal name.

Output

  • Professionally formatted PDF resume file sent back over Telegram chat.

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

Step 1: Download and Import Workflow

  1. Download the workflow file using the Download button on this page.
  2. Open the n8n editor where you want to use the workflow.
  3. Use the “Import from File” option in n8n to load the downloaded workflow.

Step 2: Configure Credentials and IDs

  1. Add Telegram Bot API credentials under n8n credentials and connect to the Telegram nodes.
  2. Enter the OpenAI API Key with GPT-4 Turbo access in the OpenAI Chat Model node.
  3. Set the Gotenberg HTTP Request node URL to your running Gotenberg instance.
  4. Update the authorized chat ID in the If node “Auth” to match your Telegram chat ID for user validation.

Step 3: Review and Update Code or Prompt

  1. Check any JavaScript code in Code nodes for your specific formatting needs.
  2. Review the OpenAI prompt in the OpenAI Chat Model node to ensure it matches your JSON parsing requirement.

Step 4: Test and Activate

  1. Run the workflow once to test with a sample Telegram message or resume PDF upload.
  2. Verify the output PDF is sent properly back on Telegram.
  3. If all works, activate the workflow by toggling the switch to “On” in n8n.

After this, the workflow listens for new resume uploads automatically and processes them.

Consider self-host n8n if wanting more control over server and workflow uptime.


Common Edge Cases and Failures

  • PDF with no extractable text: This can happen if the PDF is scanned as images or encrypted.
    Solution: Use OCR preprocessing or ensure PDF text layer exists before processing.
  • Incorrect or missing Telegram Bot credentials: Telegram nodes will fail to connect.
    Solution: Double-check Bot API key and webhook setup in Telegram.
  • OpenAI JSON parsing fails due to model output variations: JSON schema mismatch causes errors.
    Solution: Use the auto-fixing output parser node to handle minor formatting issues and review prompt for clarity.
  • Gotenberg service unreachable or not running: PDF generation will fail.
    Solution: Start and verify your Gotenberg instance URL and availability.

Customization Ideas

  • Update the JSON schema in the parsing node to add fields like certifications or languages.
  • Replace Gotenberg HTTP Request node with another PDF service like PDFMonkey, changing URL and payload.
  • Modify the HTML formatting in Code nodes to add CSS styles or change layout.
  • Add multiple Telegram chat IDs in the If “Auth” node for broader user access.

Summary

✓ Automates resume extraction from PDFs sent over Telegram.

✓ Parses and cleans data into structured, readable HTML.

✓ Generates professional PDF resumes fast and error-free.

→ Saves hours of manual copying and formatting work.

→ Sends ready-to-share PDFs back to users automatically.

Frequently Asked Questions

The Telegram Trigger node listens for messages. The Telegram Get file node downloads the PDF file using file_id from the user’s message.
It reads extracted text from the resume PDF and outputs structured JSON with sections like personal info, work history, and skills.
No, scanned PDFs without readable text need OCR preprocessing before text extraction; otherwise, the workflow extracts no text.
Modify the JSON schema in the Structured Output Parser node and update the OpenAI prompt or code nodes to include additional fields.

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