Turn every Typeform response into a PDF

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

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.
{
  "html": "<h1>Project brief</h1><p><b>Company:</b> Acme Ltd</p><p><b>Budget:</b> 5,000 to 10,000 USD</p><p><b>Goals:</b> New website by March</p>",
  "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 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. The Make guide 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).

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 `<tr><th>${titles[a.field.id]}</th><td>${value}</td></tr>`;
  }).join("");

  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>${definition.title}</h1><table>${rows}</table>`, response: "url" }),
  });
  const { url } = await r.json();
  // Email or store the link.
  res.sendStatus(200);
});

Escape answers before inserting them into HTML, and verify the Typeform-Signature header if you set a secret.

Ask your AI agent

With the html-pdf.com MCP server connected to Claude or ChatGPT, paste a sample response and ask for a design.

Here is a Typeform response from a new client. Use html-pdf to turn it into a one page A4 project brief with our logo text "Brightside Studio", a summary box at the top and the full answers below.

Happy with it? Ask for the HTML and reuse it in your automation.

FAQ

Can Typeform export a response as a PDF on its own?

Typeform lets you view and download responses, but it does not create a designed PDF for each submission automatically. This setup adds that.

Will long answers break the layout?

No. Text wraps and the PDF grows to more pages when needed. Each page costs one credit.

Can I send the PDF to the respondent?

Yes. Add an email question to your form and map that answer into the To field of the email step.

Is the response data stored by html-pdf.com?

No. HTML is not stored, and download links expire after 24 hours.

This page as markdown · text