How to Use PodPDF in Zapier
Add the PodPDF app to your Zaps to generate PDFs from form submissions, CRM events and spreadsheet rows — and to merge, split, stamp and fill PDFs you already have.
Zapier connects thousands of apps into automated workflows, and PodPDF is now one of them. The PodPDF app is public in Zapier’s directory: search for it in the Zap editor, paste an API key, and you have thirteen steps for making and editing PDFs. No webhook step, no JSON to hand-write, and no premium Zapier plan needed for it.
Updated October 2026: this guide originally used Webhooks by Zapier, which was the only option at the time. That route still works and is kept at the end for endpoints the app doesn’t cover.
Prerequisites
- A PodPDF account. New accounts get 10 free PDFs; after that it’s $0.005 per PDF on a monthly plan, or $0.01 from one-off credits.
- Any Zapier plan. A Zap that ends in a second app — email, Drive, Slack — needs a multi-step plan, which is Zapier’s own limit rather than ours.
- A trigger already set up, such as Google Forms, Typeform, HubSpot or Airtable.
Step 1: Connect PodPDF
- In app.podpdf.com, go to Settings → API Keys and click Create New API Key. Copy it — it’s shown once.
- In the Zap editor, add an action and search for PodPDF.
- Pick an action, click Sign in, and paste the key. The connection is labelled with your account email, so you can tell several accounts apart.
Step 2: Pick an action
| Action | What it does |
|---|---|
| Generate PDF | HTML, Markdown or a public URL to a PDF |
| Render Template | Fill a saved template with data |
| Start Long Job | Queue a large document for background rendering |
| Find Job | Status and details of a job |
| Find Download Link | A fresh one-hour link for a finished job |
| Merge PDFs | Combine several PDFs, optionally taking some pages of each |
| Split PDF | One file per page, every N pages, by ranges, or extract |
| Add Text or Watermark to PDF | Stamp a date, a reference or a DRAFT watermark |
| Add Page Numbers, Header or Footer to PDF | Running text such as “Page 3 of 12” |
| Bates Number PDF | Sequential numbering, continuing across documents |
| Rotate, Delete or Keep PDF Pages | Rearrange a document |
| Fill PDF Form | Fill fields by name, and optionally lock the answers in |
| Edit PDF (Advanced) | Any editor recipe, as JSON |
Generate PDF, Render Template and the editing actions all hand the finished PDF File to later steps, so a Gmail or Drive step can attach it directly. They also return a Download URL that lasts one hour.
The usual Zap: a template plus data
For anything you produce repeatedly — invoices, certificates, receipts — build the layout once as a template in the dashboard, then let the Zap carry only the data.
- Trigger: Google Sheets → New Spreadsheet Row.
- Action: PodPDF → Render Template.
- Template ID: from the template’s card in the dashboard.
- Data: one row per field, mapping a column into each value.
- Filename: optional, such as
invoice-1042.pdf.
- Action: Gmail → Send Email, attaching PDF File from the PodPDF step.
The one gotcha. A nested template field like {{customer.name}} needs a dotted key: type
customer.name on the left and map the column on the right. PodPDF expands it into nested JSON for
you. A field name sent flat is ignored, and that value comes out blank. For lists, such as invoice
line items, use the Data (JSON) field instead — the template editor’s Copy JSON button gives
you the exact shape to paste.
Generating from HTML instead
Use Generate PDF when you have the content itself. Set Input Type to HTML, Markdown or URL, then map the content in. Because it’s a real field rather than a JSON body, you can paste HTML with ordinary double quotes and map trigger fields anywhere in it:
<h1>Invoice #1042</h1>
<p><strong>Bill to:</strong> Jane Doe</p>
<table>
<tr><th>Description</th><th>Total</th></tr>
<tr><td>Design work</td><td>$850</td></tr>
</table>
Page options — Page Format, Landscape, Margin, Print Background, Scale and Page Ranges — are optional, and only the ones you fill in are sent.
Images, fonts and stylesheets must use absolute HTTPS URLs: a relative path has nothing to resolve against.
Working on a PDF you already have
The editing actions take a file from an earlier step — an email attachment, a Drive file, or a PDF PodPDF made a moment ago — or a public link to one.
Stamp and send. Gmail attachment → Add Text or Watermark to PDF with “Received {{date}}” → upload to Drive.
Build a pack. Form submission with an attachment → Merge PDFs with your standard terms → Bates Number PDF → email it.
Burst a statement run. Monthly file → Split PDF every N pages → a loop step emails each part.
Fill an application. Fill PDF Form sets fields by name; turn on Lock the Answers (Flatten) so they can’t be edited afterwards. Values are checked before anything is written, so a wrong option or overlong text is refused with a reason rather than silently corrected.
A whole editing recipe is one charge, however many changes it carries, and the step sends a commit token so a Zapier retry replays the first result instead of being charged twice.
Long documents
A Zapier step stops after about 30 seconds, so anything beyond 25 pages goes through the background route:
- PodPDF → Start Long Job, which returns a Job ID.
- Delay by Zapier → Delay For 3–5 minutes.
- PodPDF → Find Download Link with that Job ID.
If the job hasn’t finished when step 3 runs, you get a “still processing” error — make the delay longer. Find Job tells you the status and page count if you want to check first.
More patterns
Form submission → PDF → email. Typeform or Google Forms → Render Template → Gmail.
CRM deal closed → contract → e-signature. HubSpot deal moved to Closed Won → Render Template → your signing tool.
New Airtable row → report → Drive. Airtable → Generate PDF → Google Drive upload → Airtable update with the Drive link.
Weekly scheduled report. Schedule by Zapier → Google Sheets → Render Template → email to a list.
Keep a lasting copy. The download link expires after an hour, and files stay on PodPDF for 30
days. Upload the PDF File to Drive, Dropbox or S3 in the same Zap and store that link, rather
than writing download_url into a CRM field where it stops working.
Troubleshooting
The connection test fails, or steps return UNAUTHORIZED. The key was deleted or mistyped.
Create a new one in Settings → API Keys and reconnect.
INSUFFICIENT_CREDITS, or a payment-required error. The free PDFs are used up. Pick a plan or
buy a credit pack in the dashboard.
TEMPLATE_NOT_FOUND. Check the Template ID, and that it belongs to the same account as the key.
A field is blank in the PDF. The key doesn’t match the template’s field name. Names are case-sensitive — use Copy JSON in the editor to see the exact set.
The step times out, or PAGE_LIMIT_EXCEEDED. The document is too big for Generate PDF. Use
Start Long Job.
The download link doesn’t open. Links last one hour. Attach the PDF File instead, or run Find Download Link again with the Job ID.
For every error code, see Error handling. For problems with a Zap itself, Zapier’s support team has your run history: zapier.com/app/get-help.
The webhook route, for anything not in the app
The app covers the endpoints most Zaps need. For the rest — bulk conversion, mail merge, PDF/UA output — you can still call the API with Webhooks by Zapier → Custom Request, which is a premium Zapier app:
- Method:
POST, URL: the endpoint, e.g.https://api.podpdf.com/quickjob - Headers:
X-API-Key: YOUR_API_KEYandContent-Type: application/json - Data: the JSON body, including
"store": trueso you get a download link back rather than a binary file Zapier can’t pass on
Watch the quoting: the body is JSON, so a " inside mapped text breaks it. Clean free-text fields
with a Formatter step first. Every endpoint is in the API docs, and
there’s a Postman collection to try
them in.
Related
- The PodPDF setup guide for Zapier, with worked examples for every action
- Merging PDFs with the PodPDF API
- Splitting a PDF into multiple files
- Payslip and statement bursting workflows
Create a PodPDF account and the first 10 PDFs are free.