← Blog

Integrations

Generate PDFs in Make from HTML templates

Key takeaways

  • Make can produce PDFs by sending HTML to Dokifly through the HTTP module.
  • Build the HTML in a previous module (or a template tool), then POST it as the request body.
  • Map the returned file into Google Drive, Dropbox, or an email module.

Make can assemble an invoice or contract as HTML and still deliver a PDF. You do not need a custom app or a Chrome instance. Dokifly is the render call in the middle of the scenario.

What is the Make pattern for HTML to PDF?

Treat PDF generation as one HTTP step:

  1. Trigger — a new row, a paid order, a signed form.
  2. Compose HTML — a Text aggregator, a previous HTTP response, or a template stored in Data Store.
  3. HTTP — POST that HTML to Dokifly using the method, URL, and authentication from the Dokifly docs.
  4. Deliver — Google Drive “Upload a File”, Gmail “Send an Email”, or Slack.

The scenario owns routing. Dokifly only turns a document string into a file.

How do I keep templates maintainable in Make?

Store a single HTML template with placeholders, then replace them with mapped fields before the HTTP module. A contract might swap {{client}}, {{date}}, and {{clauses}}. An invoice might swap line items.

Prefer one complete HTML document per run. Partial snippets without <!DOCTYPE html> often paginate poorly. Put page margins and type styles in a <style> block in the head so the PDF does not depend on Make’s UI fonts.

What belongs in the HTTP module?

  • URL and method — copy from the current docs; do not guess a path.
  • Headers — content type and the API credential Dokifly issued you.
  • Body — the HTML string (or the JSON wrapper the docs specify). If the docs ask for raw HTML, send raw HTML. If they ask for a JSON field, wrap that same string.

After a successful call, enable “Parse response as a file” (or the equivalent binary mapping) so later modules see a PDF, not a text blob.

Which use cases fit this path?

  • Invoices after a Stripe or Shopify event.
  • Contracts when a CRM deal hits a stage.
  • Packing slips from a ship-notice webhook.
  • Certificates when a course module is marked complete.

If the HTML already exists — a Bubble page, a FlutterFlow export, a CMS preview — Make can fetch it, POST it to Dokifly, and file the PDF. That is the same product path as n8n: no backend of your own.

What should I check when a scenario fails?

Confirm the credential is active, the HTML is a full document, and images use public URLs. Then open the HTTP module’s output bundle. A 4xx response is almost always request shape or auth; a timeout is usually a document that pulls many remote assets. Fix the HTML; do not add a “PDF microservice” beside Make.

Ready to start generating PDFs?

Create free account