Turn Notion database items into designed PDFs

Turn Notion database items into designed PDFs

Notion database to PDF, automatically. Turn each item into a branded invoice, proposal or report PDF with Zapier, Make or n8n, no manual exports.

Quick answer. When you add or update an item in a Notion database, Zapier, Make or n8n reads its properties. They go into a template, html-pdf.com turns it into a PDF, and the link or file goes back to Notion, your inbox or Google Drive.

What you'll build

Many teams run clients, projects and invoices in Notion. Notion's own export gives you a plain copy of a page. This setup gives you a designed document instead.

For example, you set an invoice item's Status to "Send". A minute later a branded invoice PDF exists with the client's name, the line items and the total, and its link sits in a PDF property on the same Notion item.

What you need

Step by step with Zapier

  1. Trigger. Create a Zap with Notion and the event Updated Properties in Data Source Item. Notion now calls databases "data sources" in Zapier. Pick your database.
  2. Filter. Add Filter by Zapier so the Zap continues only when Status is "Send".
  3. Make the PDF. Add Webhooks by Zapier → Custom Request. Method POST, URL https://html-pdf.com/v1/pdf, headers Authorization (Bearer hp_live_...) and Content-Type (application/json).
  4. Data. Paste the JSON below and map Notion properties into it.
  5. Save the result. Add Notion → Update Data Source Item to write the url into a URL property, or Google Drive → Upload File to keep the PDF.
{
  "html": "<h1>Invoice INV-031</h1><p>Client: Blue Harbor Inc</p><p>Total: 2,400 USD</p>",
  "format": "A4",
  "margin": "15mm",
  "filename": "INV-031.pdf",
  "response": "url"
}

The link lasts 24 hours, so upload the file somewhere permanent if you need it later. See the Zapier guide for details.

Step by step with Make

  1. Add Notion → Watch Data Source Items and choose your database.
  2. Add a Filter on the route for the status you want.
  3. Add HTTP → Make a request with URL https://html-pdf.com/v1/pdf, method POST, an Authorization header and a JSON body. Set Parse response to Yes when you use "response": "url".
  4. Add Notion → Update a Data Source Item to write the PDF link back.

The Make guide shows the HTTP module settings, and the n8n guide covers the same flow with the Notion Trigger and HTTP Request nodes.

Code path for developers

You can also read the item with the Notion API and render it yourself.

import { Client } from "@notionhq/client";
const notion = new Client({ auth: process.env.NOTION_TOKEN });

const page = await notion.pages.retrieve({ page_id: pageId });
const p = page.properties;
const client = p.Client.title[0].plain_text;
const total = p.Total.number;

const r = await fetch("https://html-pdf.com/v1/pdf", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.HTML_PDF_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ html: `<h1>Invoice</h1><p>${client}</p><p>Total ${total} USD</p>`, response: "url" }),
});
const { url } = await r.json();

Property names like Client and Total must match your database columns.

Ask your AI agent

With the html-pdf.com MCP server and a Notion connector in Claude or ChatGPT, an agent can do this on request.

Read the "Q3 Client Report" page in Notion and use html-pdf to turn it into a clean A4 PDF report with a cover page, our brand color #1F4FD8 and page numbers in the footer.

This is handy for one off documents. For every item, use the automation above. See the Claude guide and ChatGPT guide for setup.

Notion export or this?

Notion's built in Export → PDF is quick for a single page and keeps Notion's look. Use an automation when you want your own design, need it for every item, or want the PDF created without anyone clicking.

FAQ

Can I convert a Notion database to PDF for free?

Notion's export is free for single pages. For automatic, designed PDFs, html-pdf.com gives 100 free pages once, and Zapier, Make and n8n all have free tiers with limits.

Can I include the page content, not just properties?

Yes. Properties come with the trigger. For the text blocks inside the page, add a step that fetches the page's block children and turn them into HTML.

Yes. Write the url into a URL property. Remember it expires after 24 hours, so upload the file to Drive or a Files property for a permanent copy.

How much does it cost?

One credit per PDF page. After the free credits, packs start at $10 for 1,000 pages, and purchased credits never expire.

This page as markdown · text