# Turn Jotform submissions into custom PDFs Jotform to PDF with your own design. Turn each submission into a certificate, contract or summary PDF with Zapier, n8n or a webhook. **Quick answer.** When someone submits your Jotform, Zapier or n8n receives the answers. The answers go into a template, html-pdf.com turns it into a PDF, and the PDF is emailed to the person, your team, or saved to cloud storage. ## What you'll build Each submission becomes a finished document with your branding. A volunteer sign up becomes a welcome pack. A rental application becomes a one page summary for the landlord. A workshop feedback form becomes a certificate of attendance. You choose what goes on the page, in what order and with what design. Nobody has to open Jotform and download anything. ## Jotform's PDF Editor or this? Jotform has its own **PDF Editor**, which creates a PDF from submissions inside Jotform. It is a good choice if you want everything in one tool. The approach here suits you when you want the PDF to match designs you already use elsewhere, combine Jotform answers with data from other apps (like prices from a sheet), or keep the same PDF setup for all your forms and stores. ## What you need - **A Jotform account** and a published form. - **Zapier** (with Webhooks by Zapier) or **n8n**. - **A design.** Try the [certificate](https://html-pdf.com/templates/certificate), [report](https://html-pdf.com/templates/report) or [proposal](https://html-pdf.com/templates/proposal) template. The template is a web page design that we turn into a PDF, so you only change the text. - **An API key** from [html-pdf.com](https://html-pdf.com/login). You get 100 free pages once, with no card. ## Step by step with Zapier 1. **Trigger.** Create a Zap with **Jotform** and the event **New Submission**. Pick your form and load a test submission. 2. **Make the PDF.** Add **Webhooks by Zapier → Custom Request**. Method `POST`, URL `https://html-pdf.com/v1/pdf`. 3. **Headers.** `Authorization` with `Bearer hp_live_...` and `Content-Type` with `application/json`. 4. **Data.** Paste the JSON below and map the Jotform answers into it. 5. **Deliver.** Add **Gmail → Send Email** with the `url` from step 2 in **Attachments**, or **Google Drive → Upload File**. ```json { "html": "
Safety Workshop, 10 Oct 2026
", "landscape": true, "filename": "certificate.pdf", "response": "url" } ``` The `url` is a download link valid for 24 hours. Zapier downloads the file from it when it attaches the email. See the [Zapier guide](https://html-pdf.com/guides/zapier) for every option. ## Step by step with n8n 1. Add a **Jotform Trigger** node and pick your form. 2. Add a **Code** node that builds the HTML from the answers. 3. Add an **HTTP Request** node posting to `https://html-pdf.com/v1/pdf` with your `Authorization` header. Set the response format to **File** for a PDF you can attach directly. 4. Add **Gmail** or **Google Drive** to send or save it. Node settings are in the [n8n guide](https://html-pdf.com/guides/n8n), and the [Make guide](https://html-pdf.com/guides/make) shows the same flow in Make. ## Code path for developers Jotform can post each submission to your own URL (in the form builder, open **Settings → Integrations → Webhooks**). It sends form data, with the answers in a `rawRequest` JSON string. ```js import multer from "multer"; const upload = multer(); app.post("/jotform", upload.none(), async (req, res) => { const answers = JSON.parse(req.body.rawRequest); // Keys look like "q3_fullName". Log once to see yours. const name = Object.entries(answers).find(([k]) => k.endsWith("_fullName"))?.[1]; const fullName = typeof name === "object" ? `${name.first} ${name.last}` : name; 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: `