Parse and normalize resume PDFs with Telegram, OpenAI, and Gotenberg
Ready for 3.0What this workflow does
This AI workflow has 33 nodes and runs on Telegram events (message). Along the way it connects OpenAI Chat Model and Telegram. It also calls gotenberg:3000 over HTTP.
How it runs
Trigger: On Telegram events (message).
- Auth (If): checks a condition and branches into true / false
- Check if start message (If): checks a condition and branches into true / false
- Get file (Telegram): work with file
- Extract text from PDF (Extract from File): extracts data from a file (pdf)
- Parse resume data (Basic LLM Chain): sends a prompt to an LLM, with model: OpenAI Chat Model; output parser: Auto-fixing Output Parser
- Set parsed fileds (Edit Fields (Set)): sets or maps fields
- Convert employment history to HTML (Code): runs custom JavaScript code
- Convert education to HTML (Code): runs custom JavaScript code
- Convert projects to HTML (Code): runs custom JavaScript code
- Personal info (Edit Fields (Set)): sets or maps fields
…plus 16 more steps. See the full node list below.
Services it uses
HTTP calls to: gotenberg:3000
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (14)
- OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Code
n8n-nodes-base.code - Auto-fixing Output Parser
@n8n/n8n-nodes-langchain.outputParserAutofixing - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Telegram Trigger
n8n-nodes-base.telegramTrigger - If
n8n-nodes-base.if - No Operation, do nothing
n8n-nodes-base.noOp - Telegram
n8n-nodes-base.telegram - Extract from File
n8n-nodes-base.extractFromFile - Edit Fields (Set)
n8n-nodes-base.set - Merge
n8n-nodes-base.merge - Convert to File
n8n-nodes-base.convertToFile - HTTP Request
n8n-nodes-base.httpRequest - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
From the author
Quick overview This workflow accepts resume PDFs sent to a Telegram bot, extracts their text, uses OpenAI to parse the content into a structured JSON schema, reformats it into HTML sections, converts the HTML to a PDF via Gotenberg, and sends the normalized…