n8n: PDFBolt Community Node
Use the PDFBolt community node to generate PDFs directly from n8n – no manual API configuration, no Base64 encoding, no JSON body to write. Select an operation, fill in the fields, and run.
Prerequisites
Before starting, ensure you have:
-
PDFBolt API Key
-
n8n Access
- n8n cloud account or self-hosted instance.
Install the PDFBolt Node
n8n Cloud
The PDFBolt node is available as a verified community node. Search for PDFBolt in the nodes panel and add it to your workflow.

Self-Hosted n8n
- Go to Settings > Community Nodes.
- Click Install.
- Enter
n8n-nodes-pdfbolt. - Click Install.

Set Up Credentials
- Add a PDFBolt node to your workflow.
- Under Credential, click Set up credential.
- Paste your API Key.
- Click Save.
- If the API key is valid, you will see Connection tested successfully.

Choose Your Endpoint
Select the endpoint based on your workflow needs:
| Endpoint | Best For | Returns |
|---|---|---|
| Direct | Immediate PDF delivery | PDF file in the response |
| Sync | URL-based access | JSON with download URL (valid 24h) |
| Async | High-volume processing | Webhook callback with results |
See API Endpoints for detailed specifications.
Choose Your Source
Select the content source that best fits your use case:
| Source | Best For | When to Use |
|---|---|---|
| Templates | Recurring documents with consistent layouts | Invoices, contracts, certificates – any document you generate repeatedly with different data |
| HTML | Custom documents | When you need full control over a unique layout |
| URL | Existing web pages | Archiving documentation, reports, capturing dashboards, saving public web content |
Learn more about source parameters in the API Documentation.
Source 1: Templates
Templates separate design from data – you create the layout once, then send different data each time to generate a new PDF.
How It Works
-
Create your template in PDFBolt's Template section:
- Build custom layouts with HTML, CSS, and Handlebars variables.
- Pick a ready-made template from the template gallery.
- Or generate one with AI from a description or reference file.
-
Publish the template to get your unique
templateId. -
Configure the PDFBolt node with the
templateIdand your data intemplateData. -
Run the workflow – PDFBolt merges the data with your template and returns the PDF.
Learn how to create and manage templates in the Templates Documentation.
Example: Invoice Generation
Real-world scenario: A customer places an order in your e-commerce system. Automatically generate a professional invoice PDF and send it to the customer.
PDFBolt Node Configuration:
- Set Operation to
Convert Template to PDF. - Set Endpoint to
Direct. - Enter your Template ID.
- Enter your Template Data:
Sample Template Data
{
"invoice_number": "INV-2025-001",
"client_name": "John Doe",
"line_items": [
{
"quantity": "1",
"tax_rate": "10",
"unit_price": "1200.00",
"description": "Website Design",
"total_amount": "1200.00"
},
{
"quantity": "2",
"tax_rate": "10",
"unit_price": "250.00",
"description": "Logo Design Package",
"total_amount": "500.00"
}
],
"total_amount": "1700.00"
}
- Optionally, click Add Option to set format, margins, header/footer, or other PDF parameters.

When data comes from a previous node (webhook, database, form), switch the Template Data field to Expression mode and use:
{{ JSON.stringify($json) }}to pass the entire object from the previous node.{{ JSON.stringify({ invoice_number: $json.invoice_no, line_items: $json.items }) }}to pick specific fields.{"invoice_number": "{{ $json.invoice_no }}"}for simple string fields (does not work for arrays or objects).
Field names in Template Data must match the variable names in your template (e.g. invoice_number, line_items).

Template Workflow Example
Complete workflow:
- Webhook – Receives order data from your system.
- PDFBolt – Generates invoice PDF.
- Send Message – Sends PDF to customer.

Source 2: HTML
Convert HTML directly into PDFs. Paste your raw HTML into the node – the node handles Base64 encoding automatically.
How It Works
- Paste HTML content into the HTML field.
- The node Base64-encodes it before sending.
- PDFBolt renders the HTML and returns the PDF.
With the HTTP Request method, HTML must be Base64-encoded before sending. The community node handles this automatically – just paste raw HTML.
Example: Event Program
Real-world scenario: You're organizing a webinar or conference. Generate a PDF program with the schedule, speakers, and session details that attendees can download.
PDFBolt Node Configuration:
- Set Operation to
Convert HTML to PDF. - Set Endpoint to
Direct. - Paste your HTML into the HTML field.
- Click Add Option and set:
- Format =
A4 - Print Background =
true - Margin Top =
30px - Margin Right =
20px - Margin Bottom =
30px - Margin Left =
20px
- Format =
Use Additional Options to adjust format, margins, backgrounds, and other settings without modifying your HTML. See Conversion Parameters for all available options.

View Complete HTML Example
<!DOCTYPE html>
<html>
<head>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: Arial;
color: #333;
line-height: 1.7;
margin: 10px;
}
.header {
background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
color: white;
padding: 20px;
text-align: center;
}
h1 {
font-size: 28px;
}
.event-info {
background: #f8fafc;
padding: 12px 20px;
border-radius: 8px;
margin: 20px 0 10px;
}
h2 {
color: #1e293b;
margin-bottom: 5px;
}
.session {
border-left: 4px solid #f59e0b;
padding: 10px 20px;
margin: 15px 0;
background: #fff;
border-radius: 4px;
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
page-break-inside: avoid;
}
.time {
color: #b45309;
font-weight: bold;
font-size: 14px;
}
.speaker {
color: #64748b;
font-style: italic;
margin-top: 5px;
}
.break {
background: #fef3c7;
padding: 10px;
text-align: center;
margin: 15px 0;
border-radius: 4px;
}
.footer {
margin-top: 20px;
padding-top: 10px;
border-top: 2px solid #e2e8f0;
text-align: center;
color: #64748b;
}
</style>
</head>
<body>
<div class="header">
<h1>Tech Summit 2026</h1>
<p>Building the Future Together</p>
<p class="date">September 18, 2026 | Virtual Event</p>
</div>
<div class="event-info">
<strong>Event Details:</strong><br/>
Date: September 18, 2026<br/>
Time: 9:00 AM - 5:00 PM EST<br/>
Platform: Zoom (link will be sent via email)
</div>
<h2>Event Schedule</h2>
<div class="session">
<div class="time">9:00 AM - 10:30 AM</div>
<strong>Opening Keynote: The Future of AI</strong>
<div class="speaker">Speaker: Dr. Sarah Johnson, AI Research Director</div>
<p>Exploring emerging trends in artificial intelligence and their impact on business.</p>
</div>
<div class="session">
<div class="time">10:45 AM - 12:30 PM</div>
<strong>Workshop: Building Scalable APIs</strong>
<div class="speaker">Speaker: Mike Chen, Senior Engineer</div>
<p>Hands-on session covering best practices for API design and implementation.</p>
</div>
<div class="break">Coffee Break (12:30 PM - 1:00 PM)</div>
<div class="session">
<div class="time">1:00 PM - 2:45 PM</div>
<strong>Panel Discussion: Cloud Architecture</strong>
<div class="speaker">Panelists: Various industry experts</div>
<p>Interactive discussion about modern cloud infrastructure and DevOps practices.</p>
</div>
<div class="session">
<div class="time">3:00 PM - 5:00 PM</div>
<strong>Security in Production: Lessons Learned</strong>
<div class="speaker">Speaker: Anna Torres, Head of Security Engineering</div>
<p>Real-world case studies on securing applications at scale and incident response.</p>
</div>
<div class="footer">
<p><strong>Questions?</strong> Contact us at events@example.com</p>
</div>
</body>
</html>
HTML Workflow Example
Complete workflow:
- Typeform Trigger – New registration form submitted.
- PDFBolt – Generates event program PDF from HTML.
- Gmail – Sends confirmation email with PDF program to the attendee.

Source 3: URL
Generate PDFs from any publicly accessible webpage – useful for archiving web content, capturing dashboards, or generating reports from live pages.
How It Works
- Enter the target URL into the URL field.
- PDFBolt loads and renders the page.
- Returns a PDF of the rendered page.
Example: Daily Dashboard Report
Real-world scenario: Your team uses an analytics dashboard. Every morning, capture the dashboard as a PDF and share it on Slack.
PDFBolt Node Configuration:
- Set Operation to
Convert URL to PDF. - Set Endpoint to
Direct. - Enter the URL:
https://analytics.yourcompany.com/dashboard - Click Add Option and set:
- Format =
A4 - Print Background =
true - Landscape =
true - Wait Until =
Network Idle (No Requests for 500ms)
- Format =

Use Network Idle to ensure all dashboard charts and data finish loading before generating the PDF. For pages with specific loading indicators, use the Wait For Selector option instead.
URL Workflow Example
Complete workflow:
- Schedule Trigger – Every weekday at 8:00 AM.
- PDFBolt – Captures dashboard as PDF.
- Slack – Shares report with team.
- Google Drive – Archives PDF.

Additional Options
The PDFBolt node includes 30+ parameters. Click Add Option to access them:
| Group | Options |
|---|---|
| Page Layout | Format, orientation, dimensions, margins, scale, page ranges |
| Output | Filename, compression, content disposition |
| Header & Footer | Custom HTML templates with page numbers, title, date, URL |
| Rendering | Background graphics, media type, JavaScript, timeout, wait conditions |
| Viewport & Device | Viewport size, mobile emulation, device scale factor |
| HTTP | Cookies, custom headers, basic authentication |
| Print Production | PDF/X standards, color space (RGB/CMYK), ICC profiles |
See Conversion Parameters for detailed descriptions of all available options.
Additional Resources
PDFBolt Documentation
- Template Management Guide – Create and manage templates.
- Templates Overview – Template concepts, benefits, and use cases.
- API Endpoints – All available endpoints.
- Conversion Parameters – Complete parameter reference.
- Error Handling – Error codes and solutions.
- n8n Invoice Automation – Generate and send PDF invoices from Stripe or Shopify.