Zapier Integration Guide
Discover how to connect PDFBolt with Zapier for automated PDF creation in your workflows. Build professional documents from templates, HTML markup, or web pages through Zapier's no-code automation interface.
Prerequisites
To get started, you'll need:
- PDFBolt API Key
- Sign up or log in to your PDFBolt account.
- Navigate to API Keys section.
- Copy your API key for authentication.
- Zapier Account
- Zapier account (free or paid plan).
Basic Setup
Configure Webhooks by Zapier
Connect to PDFBolt's API using Zapier's Webhooks action:
-
In your Zap, add an action step and search for Webhooks by Zapier.
-
Select Custom Request as your action event → Continue.
-
Set up the request parameters:
- Method:
POST - URL:
https://api.pdfbolt.com/v1/direct - Data Pass-Through?
False - Data: (configuration varies by content source – examples provided below)
- Unflatten:
No - Headers:
API-KEY:YOUR-API-KEY

Choose Your Endpoint
Pick the PDFBolt endpoint that matches your workflow requirements:
| Endpoint | Best For | Returns |
|---|---|---|
/v1/direct | Immediate PDF delivery | Raw PDF data in response |
/v1/sync | URL-based access | JSON with download URL |
/v1/async | High-volume processing | Webhook callback with results |
Check API Endpoints for complete specifications.
Choose Your Source
Select the content source that best fits your use case:
| Source | Best For | When to Use |
|---|---|---|
| Templates | Documents with consistent structure | Certificates, receipts, invoices – anything generated multiple times with variable 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 |
Explore source parameters in the API Documentation.
Source 1: Templates
Templates offer the cleanest approach for creating branded, consistent PDFs through design-data separation.
How It Works
- Create your template in PDFBolt's Template section:
- Build custom layouts with HTML, CSS, and Handlebars variables.
- Or start with a ready-made template from the gallery.
-
Publish for API access and get your
templateId. -
Send API request containing just
templateIdandtemplateData. -
Receive your PDF – PDFBolt returns the generated PDF.
Learn how to create and manage templates in the Templates Documentation.
Example: Course Completion Certificate
Real-world scenario: Student completes your online course. Automatically generate a personalized completion certificate PDF and email it to them.
Step 1: Set up your trigger (e.g., Google Forms or Teachable for course completion).
Step 2: In Webhooks by Zapier action, configure the Data field:
{
"templateId": "your-certificate-template-id",
"templateData": {
"recipient_name": "{{1. Your Full Name}}",
"course_title": "{{1. Which course}}",
"completion_date": "{{1. Last Submitted Time}}",
"instructor_name": "Prof. Lingua Ford",
"organization_name": "International Language Center"
}
}

{{1. Field Name}}references data from step 1 (your trigger). To insert dynamic values, click the + icon, search for the field name, and select it.- Step numbers match your Zap sequence position.
- Field names must exactly match your template's Handlebars variables.
- Combine dynamic fields from triggers with static values as needed.
Template Zap Example

Complete Zap:
- Google Forms: New Response – Student submits completion form.
- Webhooks by Zapier: Custom Request – Creates certificate PDF.
- Gmail: Send Email – Delivers certificate to recipient.
- Google Drive: Upload File – Stores certificate copy.
Apply this pattern with Thinkific, Kajabi, Teachable, or similar platforms available in Zapier. Connect completion triggers to your certificate template variables.
Source 2: HTML
Convert HTML directly into PDFs within your Zaps – perfect for event materials, announcements, or custom one-time documents.
How It Works
- Add your HTML content in a Code step.
- Encode HTML to Base64 format.
- Send encoded HTML to PDFBolt.
- Receive your PDF.
PDFBolt requires Base64-encoded HTML. This means you'll need Code by Zapier to encode your HTML before sending it to the Webhooks step.
Example: Event Program
Real-world scenario: Organizing a webinar or conference. Generate a PDF program with schedule, speakers, and session details that attendees can download.
Step 1: Set up Typeform: New Entry trigger for event registration.
Step 2: Add Code by Zapier action with Run JavaScript.
View Complete Code Example
// Static event program HTML – same for all attendees
const htmlContent = `
<!DOCTYPE html>
<html>
<head>
<style>
body { font-family: Arial; color: #333; line-height: 1.6; }
.header {
background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
color: white;
padding: 30px;
text-align: center;
}
h1 { margin: 0; font-size: 28px; }
.event-info {
background: #f8fafc;
padding: 20px;
border-radius: 8px;
margin: 20px 0;
}
.session {
border-left: 4px solid #6366f1;
padding: 15px;
margin: 15px 0;
background: #fff;
box-shadow: 1px 1px 10px rgba(0,0,0,0.1);
page-break-inside: avoid;
}
.time {
color: #6366f1;
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;
}
</style>
</head>
<body>
<div class="header">
<h1>Tech Summit 2025</h1>
<p>Building the Future Together</p>
<p style="margin-top: 10px; font-size: 14px;">November 15, 2025 | Virtual Event</p>
</div>
<div class="event-info">
<strong>Event Details:</strong><br>
Date: November 15, 2025<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 – 9: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">9:45 AM – 10:30 AM</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 (10:30 AM – 11:00 AM)</div>
<div class="session">
<div class="time">11:00 AM – 11:45 AM</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">12:00 PM – 1:00 PM</div>
<strong>Networking Session</strong>
<p>Connect with other attendees and speakers in breakout rooms.</p>
</div>
<div class="break">🍽️ Lunch Break (1:00 PM – 2:00 PM)</div>
<div class="session">
<div class="time">2:00 PM – 2:45 PM</div>
<strong>Case Study: Digital Transformation Success</strong>
<div class="speaker">Speaker: Lisa Martinez, CTO</div>
<p>Real-world example of successful digital transformation journey.</p>
</div>
<div class="session">
<div class="time">3:00 PM – 4:00 PM</div>
<strong>Q&A with Speakers</strong>
<p>Ask questions and get insights from all our speakers.</p>
</div>
<div style="margin-top: 30px; padding-top: 20px; border-top: 2px solid #e2e8f0; text-align: center; color: #64748b;">
<p><strong>Questions?</strong> Contact us at events@example.com</p>
</div>
</body>
</html>
`;
// Encode to Base64
const html = Buffer.from(htmlContent).toString('base64');
output = { html };
HTML must be Base64-encoded before sending to PDFBolt. Code by Zapier handles this encoding using Buffer.from(html).toString('base64').
Step 3: Add Webhooks by Zapier: Custom Request.
Configure the Data field:
{
"html": "{{2. Html}}",
"format": "A4",
"printBackground": true,
"margin": {
"top": "30px",
"bottom": "30px",
"right": "30px",
"left": "30px"
}
}

- Click the + icon in the Data field and select
2. Htmlfrom the Code step output. - This passes the Base64-encoded HTML to PDFBolt.
HTML Zap Example

Complete Zap:
- Typeform: New Entry – Registration form submitted.
- Code by Zapier: Run JavaScript – Add and encode HTML.
- Webhooks by Zapier: Custom Request – Generate PDF program.
- Gmail: Send Email – Send confirmation with PDF to attendee.
Adjust PDF formatting by modifying parameters in the Webhooks Data field. See Conversion Parameters for all available options like page size, orientation, and margins.
Source 3: URL
Convert public web pages into PDF documents – perfect for saving online materials, dashboard snapshots, or creating report archives.
How It Works
- Provide the target webpage URL.
- PDFBolt retrieves and renders the page.
- Returns a PDF.
Example: Daily Dashboard Report
Real-world scenario: Your team tracks metrics on a web-based analytics dashboard. Every weekday morning, automatically capture the dashboard as PDF and share it on Slack so the team stays informed.
Step 1: Set up Schedule by Zapier trigger.
Configure to run every weekday at 8:00 AM.
Step 2: Add Webhooks by Zapier: Custom Request.
Configure the Data field:
{
"url": "https://analytics.yourcompany.com/dashboard",
"format": "A4",
"landscape": true,
"printBackground": true,
"waitUntil": "networkidle",
"margin": {
"top": "20px",
"right": "20px",
"bottom": "20px",
"left": "20px"
}
}

For pages requiring variable URLs, construct the URL in previous Zap steps. Reference it using {{Step Number. Field Name}} in the Data field.
waitUntil: "networkidle" ensures all dashboard charts, data, and dynamic content finish loading before PDF capture – essential for accurate snapshots.
URL Zap Example

Complete Zap:
- Schedule by Zapier – Every weekday at 8:00 AM.
- Webhooks by Zapier: Custom Request – Capture dashboard as PDF.
- Slack: Send Channel Message – Share report with team channel.
- Google Drive: Upload File – Archive in Reports folder.
Additional Resources
PDFBolt Documentation
- Templates Management Guide – Detailed creation and management instructions.
- Templates Docs – Templates overview, benefits, and use cases.
- API Endpoints – Complete endpoint reference.
- Conversion Parameters – Full parameter documentation.
- Error Handling – Troubleshooting and error codes.