Generate PDFs from Make (Integromat)
To generate a PDF from Make (Integromat), add an HTTP module to your scenario that makes a POST request to the Docweave API with your template and data — Make (Integromat) has no native PDF module, so this HTTP call is the standard way to produce a PDF inside a scenario.
Step-by-step: wire up the HTTP module
- In your scenario, click the + after the module that produces the data you want in the PDF (a webhook, a Google Sheets row, a form submission, etc.).
- Search for the HTTP app and add the Make a request module.
- Set URL to
https://docweave.dev/api/v1/pdfand Method to POST. - Under Headers, add an
Authorizationheader with your API key and aContent-Typeheader ofapplication/json:
Authorization: Bearer dw_live_your_key
Content-Type: application/json
Accept: application/pdf- Set Body type to Raw and Content type to JSON (application/json), then paste the body below, replacing the mapped fields with values from your trigger module.
- Run the scenario once to test. The HTTP module's output contains the rendered PDF, which you can route to a following module (upload to Google Drive, email as an attachment, post to Slack, etc.).
Copyable JSON body
Paste this into the HTTP module's raw body field, then map {{1.order_id}}-style values to the fields from your actual trigger step:
{
"source": {
"type": "template",
"template": "<h1>Order {{ order_id }}</h1><p>Customer: {{ customer_name }}</p><p>Total: {{ total }}</p>",
"data": {
"order_id": "{{1.order_id}}",
"customer_name": "{{1.customer_name}}",
"total": "{{1.total}}"
}
},
"options": { "format": "A4" },
"idempotencyKey": "{{1.order_id}}"
}Other ways to source the PDF
The source field also accepts { "type": "url", "url": "https://..." } to render an existing page, or { "type": "html", "html": "<h1>...</h1>" } to render raw HTML assembled earlier in the scenario — useful if you build the markup with a Text aggregator or Set variable module before the HTTP request. Every request is billed per document, not per page, and rendered with Chromium so CSS and layout come out pixel-accurate.
If your scenario is driven by an AI agent step rather than fixed field mappings, the open-source generate_pdf MCP tool (npx @docweave/mcp) wraps the same API without any HTTP module plumbing.
FAQ
How do I generate a PDF from Make (Integromat)?
Add an HTTP module ("Make a request") after your trigger step, set the method to POST, the URL to https://docweave.dev/api/v1/pdf, add an Authorization: Bearer header with your Docweave API key, and send a JSON body with a template (or URL/HTML) plus your data. Docweave returns the rendered PDF in the response.
Which Make (Integromat) module should I use to call the Docweave API?
Use the built-in HTTP app's "Make a request" module. It supports custom methods, headers, and a raw JSON body, which is all that's needed to call POST /api/v1/pdf — no custom Docweave app or webhook listener is required.
How do I map data from a previous Make (Integromat) module into the PDF?
Reference the previous module's output fields directly inside the JSON body using Make's mappable variables (for example {{1.order_id}}), placing them inside the "data" object. Docweave binds those values into the {{ placeholders }} in your HTML template when it renders.
How do I avoid generating duplicate PDFs when a Make (Integromat) scenario retries?
Set idempotencyKey in the request body to a stable value from the triggering record, such as an order ID or invoice number. If Make retries the HTTP module with the same key, Docweave returns the previously generated PDF instead of rendering (and billing) again.
Ready to generate PDFs from Make (Integromat) in production?
Get an API key