This article contains affiliate links. If you buy through them, we may earn a commission at no extra cost to you.
Stop Creating PDFs Manually — Let n8n Do It For You
Every week, thousands of small business owners spend hours doing something a machine could handle in seconds: generating PDFs. Quotes, invoices, onboarding documents, contracts — the content is often pulled from a form or a spreadsheet, yet someone still has to open a template, paste in the data, export the file, and send it. That's a process begging to be automated.
With n8n, you can build a workflow that takes incoming data — from a web form, a Google Sheet, a CRM, or an API — and instantly produces a professional PDF, ready to email or store. Here's how to do it.
What You'll Need
- An n8n instance (cloud or self-hosted)
- A data source: Typeform, Google Forms, Airtable, Google Sheets, or any webhook-compatible tool
- A PDF generation service: HTML/CSS to PDF via a tool like Gotenberg, PDFMonkey, or Carbone.io
- An output destination: email (Gmail/SMTP), Google Drive, Dropbox, or a CRM
Step 1: Trigger the Workflow from Your Form or Data Source
Start by connecting your data source. If you're using Typeform, use the Typeform Trigger node. For Google Sheets, use the Google Sheets Trigger set to fire when a new row is added. For custom forms on your website, a Webhook node will capture submissions directly.
Each submission becomes the input data for your PDF — things like customer name, address, order details, or any other fields you've collected.
Step 2: Format and Prepare Your Data
Before generating the PDF, clean and structure your data using the Set node or a Function node. This is where you can:
- Combine first and last name into a full name
- Format dates (e.g., turn 2026-04-03 into April 3, 2026)
- Calculate totals or apply VAT
- Set fallback values if a field is empty
Taking a few minutes to structure your data properly here will make your PDF template much easier to maintain.
Step 3: Generate the PDF
This is the core of the workflow. You have several solid options depending on your needs:
Option A: PDFMonkey (Easiest for Beginners)
PDFMonkey lets you design a beautiful template using a drag-and-drop editor, then merge your data into it via API. In n8n, use the HTTP Request node to send your formatted data to the PDFMonkey API. The response will include a download URL for the finished PDF.
Option B: Carbone.io (Best for Word/ODT Templates)
If your team already works with Word documents, Carbone.io lets you use a .docx file as a template. You insert placeholder variables like {d.customerName} directly in Word, then send the data via API to render the final PDF. Perfect for businesses that want to manage templates without learning HTML.
Option C: HTML to PDF with Gotenberg (Self-Hosted and Free)
For full control and zero per-document cost, run Gotenberg as a Docker container alongside n8n. Build your PDF template in HTML and CSS, use the HTTP Request node to send it to Gotenberg, and receive a rendered PDF in return. This approach requires a bit more setup but is extremely powerful and private.
Step 4: Deliver the PDF
Once n8n has the PDF file (usually as a binary output or a URL), route it wherever it needs to go:
- Send via email using Gmail or SMTP nodes — attach the PDF directly to the message
- Save to Google Drive or Dropbox using the respective nodes
- Upload to a CRM like HubSpot or Pipedrive via HTTP Request
- Store in Notion or Airtable as a file attachment linked to the relevant record
A Real-World Example: Automated Quote Generation
Here's a practical scenario: A prospect fills out a pricing request form on your website. n8n captures the submission via Webhook, formats the data, sends it to PDFMonkey to render your branded quote template, and then emails the finished PDF to the prospect — all within 30 seconds of them hitting
airSlate makes it easy to implement these workflows without any coding.
Turbotic makes it easy to implement these workflows without any coding.