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.
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.
| Node | Category | Type | Operation |
|---|---|---|---|
| OpenAI Chat Model | AI & models | OpenAI Chat Model | See node parameters |
| Convert education to HTML | Code | Code | See node parameters |
| Auto-fixing Output Parser | Transform | Output Parser Autofixing | See node parameters |
| OpenAI Chat Model1 | AI & models | OpenAI Chat Model | See node parameters |
| Structured Output Parser | Transform | Output Parser Structured | See node parameters |
| Convert employment history to HTML | Code | Code | See node parameters |
| Convert projects to HTML | Code | Code | See node parameters |
| Convert volunteering to HTML | Code | Code | See node parameters |
| Telegram trigger | Trigger | Telegram Trigger | See node parameters |
| Auth | Routing | If | See node parameters |
| No operation (unauthorized) | Routing | No Op | See node parameters |
| Check if start message | Routing | If | See node parameters |
| No operation (start message) | Routing | No Op | See node parameters |
| Get file | Messaging | Telegram | file |
| Extract text from PDF | Transform | Extract From File | |
| Set parsed fileds | Transform | Edit Fields | See node parameters |
| Personal info | Transform | Edit Fields | See node parameters |
| Technologies | Transform | Edit Fields | See node parameters |
| Employment history | Transform | Edit Fields | See node parameters |
| Education | Transform | Edit Fields | See node parameters |
| Projects | Transform | Edit Fields | See node parameters |
| Volunteering | Transform | Edit Fields | See node parameters |
| Merge education and employment history | Transform | Merge | See node parameters |
| Merge projects and volunteering | Transform | Merge | See node parameters |
| Merge personal info and technologies | Transform | Merge | See node parameters |
| Merge all | Transform | Merge | See node parameters |
| Set final data | Transform | Edit Fields | See node parameters |
| Convert raw to base64 | Code | Code | See node parameters |
| Convert to HTML | Transform | Convert To File | toBinary |
| Generate plain PDF doc | Web / API | HTTP Request | POST |
| Send PDF to the user | Messaging | Telegram | sendDocument |
| Parse resume data | AI & models | Chain LLM | See node parameters |
| Merge other data | Transform | Merge | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- 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
openAiApitelegramApi
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.
- Remember to add your credentials and configure nodes.
- 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).
- 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.