New sheet row to PDF (n8n)

An n8n workflow that turns each new Google Sheets row into a PDF and emails it. Swap the trigger for Airtable or monday.com.

Last updated

Operations render_html_to_pdf (POST /v1/render)
Platforms n8n
Nodes Google Sheets Trigger, Code, pdfrender, Gmail

When a new row lands in a sheet, this workflow turns it into a ready-to-send PDF: an invoice, a quote or a work order. The sample reads a Google Sheet with the headers Invoice, Client, Email, Description, Quantity, Unit price and Due date. It emails each invoice to the address in its row.

Airtable and monday.com work the same way: only the trigger changes. For Airtable, use an Airtable Trigger. For monday.com, use a Webhook node that a monday.com webhook integration calls, then the monday.com node's Board Item > Get.

The steps

  1. New row in sheet (Google Sheets Trigger, Row Added). Checks the sheet every minute.
  2. Build HTML (Code). Maps the columns into an A4 invoice and escapes every value.
  3. Render PDF (pdfrender, Render HTML to PDF). Sends the HTML to POST https://api.pdfrender.dev/v1/render and puts the PDF in the binary field data.
  4. Email the PDF (Gmail). Attaches data and sends it to the row's Email.

The trigger carries a pinned sample row, so Execute workflow runs the whole chain before you connect a sheet. The invoice guide covers page breaks and repeated table headers for longer documents.

Get the workflow

Download workflow.json and its setup notes from GitHub, then use Import from File in n8n. On self-hosted n8n, install the community node @pdfrender-dev/n8n-nodes-pdfrender under Settings > Community Nodes first.

Get your API key

Get your API key and add it to n8n as a pdfrender API credential. Each render costs 1 credit, whatever its page count, and a failed render costs nothing.

FAQ

Can I use Airtable or monday.com instead of Google Sheets?
Yes. For Airtable, replace the trigger with an Airtable Trigger. n8n has no monday.com trigger node. For monday.com, point a monday.com webhook integration at a Webhook node. Then read the item's columns with the monday.com node (Board Item, Get). The rest of the workflow stays the same.
Can I save the PDF instead of emailing it?
Yes. The PDF is in the binary field data after the pdfrender node, so a Google Drive upload step, or any other node that takes a file, can replace the Gmail node.