Skip to main content

Extract data from resume and create PDF with Gotenberg

Workflow preview

Workflow preview
100%
Extract data from resume and create PDF with Gotenberg preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

With this workflow you can extract data from resume documents uploaded via a Telegram bot. Workflow transform readable content of PDF resume into structured data, using AI nodes and returns PDF wit...

Best for

  • HR automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.lmchatopenai, n8n-nodes-base.code, @n8n/n8n-nodes-langchain.outputparserautofixing, @n8n/n8n-nodes-langchain.outputparserstructured, n8n-nodes-base.telegramtrigger, n8n-nodes-base.if, n8n-nodes-base.noop, n8n-nodes-base.telegram

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Oskar.

Original n8n.io source

1.1 Workflow description

Title
Extract data from resume and create PDF with Gotenberg
Workflow name
Extract data from resume and create PDF with Gotenberg

With this workflow you can extract data from resume documents uploaded via a Telegram bot. Workflow transform readable content of PDF resume into structured data, using AI nodes and returns PDF with formatted, plain HTML.

You can modify this workflow to perform other actions with structured data (e.g. insert it into database or create other, well-formatted documents).

Functionality of this workflow was presented during the n8n community call on March 7, 2024 - recording of presentation available here.

⚠️ Workflow made for demo purposes. If you want to use it in real life, please make sure necessary measures for personal data protection are set.

How it works?

User uploads readable PDF resume document into Telegram bot. After authentication based on chat ID parameter, workflow extracts text from the PDF and transfers it into AI chain with connected sub-nodes: OpenAI Chat Model and Structured Output (JSON) Parser.

Then, each extracted section (employment history, projects etc.) is formatted into desired HTML structure. Finally, the document is converted into new, structured PDF using Gotenberg.

💡 This workflow requires installed Gotenberg. If you are not familiar with this software, please have a look on my YouTube tutorial. You can also replace call to Gotenberg with other PDF generation service (such as PDFMonkey or ApiTemplate).

Set up steps

  1. Create Telegram bot and add its credentials in n8n.
  2. Set your chat ID parameter in Auth node.
  3. Adjust JSON schema in Structured Output Parser according to your needs.
  4. Optionally: replace HTTP call to Gotenberg with PDF generation service of your choice.

If you like this workflow, please subscribe to my YouTube channel and/or my newsletter.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - OpenAI Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1

Block 2 - Convert education to HTML

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 3 - Auto-fixing Output Parser

Type / Role
@n8n/n8n-nodes-langchain.outputParserAutofixing - outputParserAutofixing
Config choices
Version 1

Block 4 - OpenAI Chat Model1

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1

Block 5 - Structured Output Parser

Type / Role
@n8n/n8n-nodes-langchain.outputParserStructured - outputParserStructured
Config choices
Version 1

Block 6 - Convert employment history to HTML

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 7 - Convert projects to HTML

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 8 - Convert volunteering to HTML

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 9 - Telegram trigger

Type / Role
n8n-nodes-base.telegramTrigger - telegramTrigger
Config choices
Version 1.1

Block 10 - Auth

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 11 - No operation (unauthorized)

Type / Role
n8n-nodes-base.noOp - noOp
Config choices
Version 1

Block 12 - Check if start message

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2

Block 13 - No operation (start message)

Type / Role
n8n-nodes-base.noOp - noOp
Config choices
Version 1

Block 14 - Get file

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.1

Block 15 - Extract text from PDF

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 16 - Set parsed fileds

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.2

Block 17 - Personal info

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.2

Block 18 - Technologies

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.2

Block 19 - Employment history

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.2

Block 20 - Education

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.2

Block 21 - Projects

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.2

Block 22 - Volunteering

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.2

Block 23 - Merge education and employment history

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 2.1

Block 24 - Merge projects and volunteering

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 2.1

Showing the first 24 of 43 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Extract data from resume and create PDF with Gotenberg
Complexity advanced
Nodes 43
Categories HR, AI Summarization
Author Oskar
Published 13 Mar 2024

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/2170/2170.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Extract data from resume and create PDF with Gotenberg do?

With this workflow you can extract data from resume documents uploaded via a Telegram bot. Workflow transform readable content of PDF resume into structured data, using AI nodes and returns PDF wit...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your HR, AI Summarization use case.