n8n
Ready-made n8n workflows for PDFMint
Install n8n-nodes-pdfmint, paste your API key once, then import any workflow below and run it against your own data. Every workflow here was executed in a real n8n instance before it was published — the honest limits of each one are stated on this page.
In the n8n gallery #
Nine workflows are published in n8n's official template gallery, which means n8n's own review accepted them:
- Generate PDF invoices from webhook data with PDFMint — webhook in, invoice out, with validation that refuses an empty payload before a credit is spent.
- Send branded PDF receipts for Stripe payments with PDFMint, Gmail and Drive — a Stripe payment triggers a receipt that is rendered, filed and mailed.
- Generate regional sales reports from CRM exports with DocMint and Excel — our sibling product DocMint fills your own Excel template, totals computed once, per-region roll-up included.
- Archive weekly web page snapshots into a single PDF with PDFMint — renders each page, merges survivors, and says honestly how many made it.
- Turn form submissions into branded PDF reports with PDFMint — form payload in, branded report out, word count computed rather than guessed.
- Send branded overdue invoice statements from Xero with PDFMint and Gmail — the Xero workflow below, accepted into the gallery on 2 September.
- Send weekly AR ageing reports with Invoice Ninja, PDFMint and Gmail — the Invoice Ninja workflow below, accepted into the gallery on 3 September.
- Screen and triage invoice emails for approval with MailMint — our sibling product MailMint reads the invoice mail and drafts the approval, so nobody approves from a guess.
- File supplier invoice emails into Google Sheets using MailMint — MailMint extracts the invoice fields and files them in a sheet, ready for a DocMint or PDFMint render.
Markdown to branded PDF with a table of contents #
Download the workflow JSON. We are the authors of the PDFMint node and of this template.
What it does. Send Markdown to a webhook and receive a branded A4 PDF with numbered headings, a generated table of contents, header, page numbers and PDF metadata. A configuration node controls the brand colour, author and optional DRAFT watermark. Validation rejects a missing title or empty Markdown before a render credit is spent.
Provenance. Built and run in a real n8n 2.37.7 instance on 6 September 2026 with n8n-nodes-pdfmint@0.4.5 installed from public npm. The happy path produced a two-page, 108,024-byte PDF from 290 words and eight sections; a fenced shell-code comment was correctly excluded from the heading list. The watermark path, both validation paths and a simulated service failure were also run. The workflow is in n8n's human review as gallery submission 19277, so this download is available before the gallery page is public.
The file contains pinned sample input for a one-click test, but no credentials, keys, account ids or personal data. Connect your own PDFMint credential after import.
Invoice webhook workflow — fixed error handling #
Download the workflow JSON (the same corrected workflow as gallery #18734). We are the authors of the PDFMint node and of this template.
The fix. A community reviewer pointed out that the original gallery version answered a failed PDF render with HTTP 422 — the status code that n8n's HTTP node treats as a permanent request problem, so a retry of the same payload was refused as "Unprocessable Entity" instead of being retried like a server failure. The corrected gallery and download versions return 500 with the same JSON error body; a genuinely invalid payload still returns 422. Both paths were verified in a real n8n 2.36.9 instance on 1 September 2026: valid payload → invoice PDF; empty payload → 422 with status_code: 422; simulated render failure → 500 with status_code: 500.
Why the download remains here. n8n accepted the corrected error handling into gallery #18734 on 3 September 2026. This file is the same version for teams that prefer a reviewed local copy or want to inspect it before importing. If you imported #18734 before 3 September, re-import the current gallery version or this file to get the 422/500 split.
The file contains no credentials, keys or account ids — only a named credential reference you connect on import.
Xero overdue-invoice statement #
Download the workflow JSON — the same workflow as gallery #18960, where n8n accepted it on 2 September.
What it does. Every weekday morning it asks Xero for ACCREC invoices that are still AUTHORISED, keeps only the ones genuinely past their due date, and groups them per customer — so someone with four late invoices gets one statement with four lines instead of four separate chasers. It computes days overdue, marks anything past 30 days, stops without spending a render credit when the ledger is clean, renders the statement with PDFMint, and mails it to the address Xero holds for that contact.
Provenance. Built and run in a real n8n instance on 31 August 2026. That run caught two real defects — a Set node that replaced the item data so downstream nodes found nothing, and an items reference from an earlier draft that produced undefined entries — both fixed before this file was published. After the fixes, the saved grouping code against the recorded invoice data produces exactly one customer with two invoices totalling 3,105.90, and the render step produces the statement PDF (proof: proof-xero-statement.pdf in the public repository). It has not been exercised end-to-end against a live Xero account with real mail delivery; the Xero and Gmail nodes use their standard OAuth2 credentials and you connect your own on import.
You edit one node — Your company details — with your name, address, accent colour and footer. The file contains no credentials, keys or account ids.
Invoice Ninja AR ageing report #
Download the workflow JSON — the same workflow as gallery #19112, accepted by n8n on 3 September 2026. This file is ours and available for inspection before import. We are the authors of the PDFMint node and of this template.
What it does. Every Monday morning it pulls active invoices from Invoice Ninja, keeps only the ones with an outstanding balance, computes days past due per client, buckets them into not-yet-due / 1–30 / 31–60 / 61–90 / 90+ days, and stops without spending a render credit when nobody owes anything. Otherwise it renders a landscape accounts-receivable ageing report as a branded PDF with PDFMint and mails it via Gmail.
Provenance. Built and run in a real n8n 2.37.7 instance on 3 September 2026, with n8n-nodes-pdfmint installed from the public npm registry. The run produced a one-page landscape PDF (proof: proof-invoiceninja-ageing.pdf in the public repository). It has not been exercised end-to-end against a live Invoice Ninja account or with real mail delivery; the Invoice Ninja and Gmail nodes use their standard credentials and you connect your own on import.
Try it without Invoice Ninja. The Invoice Ninja node ships with pinned sample data — six invoices across three clients, one paid, one not yet due. Import and run: the paid invoice drops out, the 90+ day client is flagged, and the totals match the summary cards.
The file contains no credentials, keys or account ids — only named credential references you connect on import.
What we claim and what we do not #
- Every gallery link above points at a workflow n8n published; the view counters there are n8n's, not ours.
- The Markdown workflow and its error paths were run in n8n before this download was published; n8n's separate human review of gallery submission 19277 is still pending.
- The Xero statement was run once with the fixes described above; it is offered as a starting point, not as a certified integration.
- The fixed invoice workflow's two error paths (422 and 500) were measured in real n8n before this file was published; the PDF-render path is the same one n8n's gallery review accepted.
- We build PDFMint and the PDFMint n8n node; anything we publish says so.
Need the API instead? The API reference and the three ways to turn HTML into a PDF in n8n cover the rest. The free plan is 10 documents a month, no card.