# Turn every Typeform response into a PDF Typeform to PDF, automatically. Turn each response into a branded PDF summary, quote or certificate with Zapier, n8n or a webhook, then email it. **Quick answer.** When someone finishes your Typeform, 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 respondent, your team or a Google Drive folder. ## What you'll build Each submission becomes a tidy, branded document. A client intake form becomes a one page brief for your team. A quote request becomes a price estimate the customer gets right away. A quiz becomes a results PDF with their score. The PDF looks like your company made it by hand, with your logo and colors, but nobody has to copy and paste anything. ## What you need - **A Typeform account** with a live form. - **Zapier** (with Webhooks by Zapier) or **n8n**. - **A design.** The [report template](https://html-pdf.com/templates/report) works well for summaries and the [proposal template](https://html-pdf.com/templates/proposal) for quotes. The template is a web page design that we turn into a PDF, so you only change the words. - **An API key** from [html-pdf.com](https://html-pdf.com/login). You get 100 free pages once, without a card. ## Step by step with Zapier 1. **Trigger.** Create a Zap with **Typeform** as the app and **New Entry** as the event. Pick your form and load a test response. 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. Replace each sample answer with the matching Typeform field from the dropdown. 5. **Deliver.** Add **Gmail → Send Email** and map the `url` from the Custom Request into **Attachments**. Or use **Google Drive → Upload File** to keep a copy. ```json { "html": "
Company: Acme Ltd
Budget: 5,000 to 10,000 USD
Goals: New website by March
", "format": "A4", "margin": "18mm", "filename": "project-brief.pdf", "response": "url" } ``` The `url` in the response is a download link that works for 24 hours. The [Zapier guide](https://html-pdf.com/guides/zapier) explains every field. **Tip.** If an answer can contain quotes or line breaks, run it through a **Formatter** step first, or build the HTML in a **Code by Zapier** step, so the JSON stays valid. ## Step by step with n8n 1. Add a **Typeform Trigger** node and select your form. n8n registers the webhook for you. 2. Add a **Code** node that turns the answers into HTML. Loop over the answers to list every question and reply. 3. Add an **HTTP Request** node with method `POST`, URL `https://html-pdf.com/v1/pdf`, an `Authorization` header and a JSON body with your `html`. 4. Add **Gmail** or **Google Drive** to send or save the file. Exact node settings are in the [n8n guide](https://html-pdf.com/guides/n8n). The [Make guide](https://html-pdf.com/guides/make) covers the same flow in Make. ## Code path for developers Typeform can post each response to your own webhook (in the form, open **Connect → Webhooks**). ```js app.post("/typeform", express.json(), async (req, res) => { const { definition, answers } = req.body.form_response; const titles = Object.fromEntries(definition.fields.map(f => [f.id, f.title])); const rows = answers.map(a => { const value = a.text ?? a.email ?? a.number ?? a.choice?.label ?? a.boolean ?? ""; return `