← All N8N workflows
AI & researchChain LLMCodeConvert To FileExtract From FileHTTP Request

Extract text from PDF

Configured with Chain LLM, Convert To File, Extract From File, HTTP Request, and additional nodes. Review the connections and setup before adapting this template.

Workflow preview
AI & modelsOpenAI Chat ModelOpenAI Chat ModelCodeConvert education toHTMLCodeTransformAuto-fixing OutputParserOutput Parser AutofixingAI & modelsOpenAI Chat Model1OpenAI Chat ModelTransformStructured OutputParserOutput Parser StructuredCodeConvert employmenthistory to HTMLCodeCodeConvert projects toHTMLCodeCodeConvert volunteering toHTMLCodeTriggerTelegram triggerTelegram TriggerRoutingAuthIfRoutingNo operation(unauthorized)No OpRoutingCheck if start messageIfRoutingNo operation (startmessage)No OpMessagingGet fileTelegramTransformExtract text from PDFExtract From FileTransformSet parsed filedsEdit FieldsTransformPersonal infoEdit FieldsTransformTechnologiesEdit FieldsTransformEmployment historyEdit FieldsTransformEducationEdit FieldsTransformProjectsEdit FieldsTransformVolunteeringEdit FieldsTransformMerge education andemployment historyMergeTransformMerge projects andvolunteeringMergeTransformMerge personal info andtechnologiesMergeTransformMerge allMergeTransformSet final dataEdit FieldsCodeConvert raw to base64CodeTransformConvert to HTMLConvert To FileWeb / APIGenerate plain PDF docHTTP RequestMessagingSend PDF to the userTelegramAI & modelsParse resume dataChain LLMTransformMerge other dataMerge

Node categories in this workflow

  • AI & models
  • Code
  • Transform
  • Trigger
  • Routing
  • Messaging
  • Web / API

Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.

Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.

How it works

The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.

Workflow node names, types, and operations
NodeCategoryTypeOperation
OpenAI Chat ModelAI & modelsOpenAI Chat ModelSee node parameters
Convert education to HTMLCodeCodeSee node parameters
Auto-fixing Output ParserTransformOutput Parser AutofixingSee node parameters
OpenAI Chat Model1AI & modelsOpenAI Chat ModelSee node parameters
Structured Output ParserTransformOutput Parser StructuredSee node parameters
Convert employment history to HTMLCodeCodeSee node parameters
Convert projects to HTMLCodeCodeSee node parameters
Convert volunteering to HTMLCodeCodeSee node parameters
Telegram triggerTriggerTelegram TriggerSee node parameters
AuthRoutingIfSee node parameters
No operation (unauthorized)RoutingNo OpSee node parameters
Check if start messageRoutingIfSee node parameters
No operation (start message)RoutingNo OpSee node parameters
Get fileMessagingTelegramfile
Extract text from PDFTransformExtract From Filepdf
Set parsed filedsTransformEdit FieldsSee node parameters
Personal infoTransformEdit FieldsSee node parameters
TechnologiesTransformEdit FieldsSee node parameters
Employment historyTransformEdit FieldsSee node parameters
EducationTransformEdit FieldsSee node parameters
ProjectsTransformEdit FieldsSee node parameters
VolunteeringTransformEdit FieldsSee node parameters
Merge education and employment historyTransformMergeSee node parameters
Merge projects and volunteeringTransformMergeSee node parameters
Merge personal info and technologiesTransformMergeSee node parameters
Merge allTransformMergeSee node parameters
Set final dataTransformEdit FieldsSee node parameters
Convert raw to base64CodeCodeSee node parameters
Convert to HTMLTransformConvert To FiletoBinary
Generate plain PDF docWeb / APIHTTP RequestPOST
Send PDF to the userMessagingTelegramsendDocument
Parse resume dataAI & modelsChain LLMSee node parameters
Merge other dataTransformMergeSee node parameters

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.

Requirements

An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.

Credential types declared in the source

  • openAiApi
  • telegramApi

Workflow notes

Add chat ID

Add chat ID

Remember to set your actual ID to trigger automation from Telegram.

Ignore start message

Ignore start message

Workflow ignores initial/start message sent to the bot.

Download resume file

Download resume file

Based on file ID, node performs downloading of the file uploaded by user.

Extract text from PDF

Extract text from PDF

Node extracts readable text form PDF.

Parse resume data

Parse resume data

Create structured data from text extracted from resume. Chain uses OpenAI gpt-4-turbo-preview model and JSON response mode. Adjust JSON schema in output parser to your needs.

Format HTML

Format HTML

Format HTML for each resume section (employment history, projects etc.).

Create HTML file

Create HTML file

From formatted output create index.html file in order to run PDF conversion.

Convert file to PDF

Convert file to PDF

Form index.html create PDF using Gotenberg. If you're not familiar with this software, feel free to check out my tutorial on YouTube.

Send PDF file to user

Send PDF file to user

Deliver converted PDF to Telegram user (based on chat ID).

⚠️ Note

⚠️ Note

This is resume extractor workflow that I had a pleasure to present during n8n community hangout on March 7, 2024.

  1. Remember to add your credentials and configure nodes.
  2. This node requires installed Gotenberg for PDF generation. If you're not familiar with this software, feel free to check out my tutorial on YouTube. If you don't want to self-host Gotenberg, you use other PDF generation provider (PDFMonkey, ApiTemplate or similar).
  3. If you like this workflow, please subscribe to my YouTube channel and/or my newsletter.

Thank you for your support!

Extract text from PDF

Extract text from PDF

Purpose and structure

This folder contains the Extract text from PDF workflow. Its executable nodes use chainLlm, code, convertToFile, extractFromFile, httpRequest, if, lmChatOpenAi, merge, noOp, outputParserAutofixing, outputParserStructured, set, telegram, telegramTrigger. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.

Setup

Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.

Entry points

Telegram trigger

Verification

Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.

Attribution

https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Telegram/0462_Telegram_Code_Create_Webhook.json MIT; preserve source notices.

More in AI & research