Generate PDFs from n8n

We build and maintain the PDFMonkey node for n8n, and n8n has verified it. It generates a document from your workflow's data, hands the file back as binary data, and can start another workflow once a document is ready.

What the node does for you

If you use n8n, your workflows probably already pull data from somewhere: a webhook, a form, a database query, a sheet. When that data needs to become an actual document, the PDFMonkey node takes care of the rendering. You can run n8n in their cloud or on your own server, and the node works the same way on both.

Since the node accepts a full JSON payload, nested objects and arrays included, it handles more than one-pagers. Think invoices with line items, reports with tables, or a batch of certificates produced by looping over a list of participants. Contracts and other documents can go straight to Google Drive, Dropbox or S3 in the next node. Switch your template’s output type to Image and you get WebP, PNG or JPG files instead.

We wrote the node and we maintain it. n8n has verified it, which is why it shows up when you search the nodes panel.

Getting started

  1. Search for PDFMonkey in the nodes panel. Since it’s a verified community node, an instance owner installs it once and everyone on the instance gets it. The npm package is n8n-nodes-pdfmonkey if you need it.
  2. Paste your PDFMonkey API key into a credential. Every PDFMonkey node can reuse it.
  3. In Generate Document, pick your template and send your data, either as simple key-value pairs or as JSON when you have nested objects and arrays.
  4. By default the node waits for the document to be ready, up to 5 minutes, and downloads it as binary data. The next node can email it, upload it or archive it, and you never touch a URL.

The trigger

Besides Generate Document, you’ll find Get Document, Download File and Delete Document. The one we’re happiest with is the PDFMonkey Trigger, though. It starts a workflow whenever a document finishes generating, across a whole workspace or for the templates you pick.

You don’t have to set anything up on our side for it. When you activate the workflow, the trigger registers its own webhook with PDFMonkey, and it removes it when you deactivate the workflow. 🙌 One thing to keep in mind: it fires on failed generations too, so check the status field before carrying on.

This page describes version 1.0 of the node. Coming from 0.4.x? Read the upgrade notes before you update, because the trigger setup and the way errors are reported both changed.

The n8n guide has a first workflow, a webhook-to-email example, the trigger in more detail, and the errors people run into most.

Create a free PDFMonkey account, add the node to a workflow and see what comes out. We’d love to hear what you build with it.

FAQ

Is the PDFMonkey node for n8n official?

Yes. We build and maintain it, and n8n has verified it. The npm package is n8n-nodes-pdfmonkey, and this page describes version 1.0.

Does it work with self-hosted n8n?

Yes, on n8n Cloud and on self-hosted instances alike. Like any verified community node, it gets installed once by an instance owner, and then everyone on the instance can use it.

Can a workflow start when a document is ready?

Yes. The PDFMonkey Trigger fires when a document finishes generating in the workspace you choose, and you can narrow it down to specific templates. It registers its own webhook with PDFMonkey when you activate the workflow and removes it when you deactivate it, so you don’t have to configure anything in the PDFMonkey dashboard. It also fires when a generation fails, so check the status field.

Is there a free plan?

Yes. The Free plan includes 20 documents per month, forever, with no credit card required. Every new account also starts with a 30-day trial that includes 300 documents. Paid plans start at €5 per month with Starter (300 documents per month).

Do I need to know HTML to design my template?

No. When you create a template, you pick one of two modes: the visual drag-and-drop Builder, or a Code template written in HTML, CSS and Liquid. A template uses one mode or the other, never both. The n8n node sends the same JSON data in both cases.

Where is my data hosted?

In the European Union. PDFMonkey’s application servers, file storage and rendering engines run in Paris, France, and its database runs in Frankfurt, Germany. A GDPR Data Processing Agreement is available.

Other no-code integrations

PDFMonkey also works with Zapier, Make, Bubble and Glide. If your data sits in a database or a spreadsheet, we have pages for Airtable and Google Sheets too.

Make PDF easy for yourself.
Start using PDFMonkey for free today.

No credit card required. No strings attached.