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:
- Trigger — a new row, a paid order, a signed form.
- Compose HTML — a Text aggregator, a previous HTTP response, or a template stored in Data Store.
- HTTP — POST that HTML to Dokifly using the method, URL, and authentication from the Dokifly docs.
- 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.