Generate PDF from Word Template in Make
What this guide covers
This guide walks you through building a Make scenario that generates a PDF document from a Word template and a JSON data file using PDF4me Generate Document. The four-module flow downloads your .docx template and data file from Dropbox, merges them together, and uploads the finished PDF back to cloud storage — fully automated, no code required. The same pattern works for invoices, certificates, contracts, reports, and any other document you currently fill in manually.
Before You Start
.docx file with <<fieldName>> placeholders where dynamic content should appear. Download the sample template to see the expected format before building your own..json file with key-value pairs where each key matches a <<fieldName>> tag in your template. Download the sample data to verify the structure before using your own payload.The Scenario at a Glance
The complete Make scenario for Word template document generation looks like this:

The complete flow: Download template → Download data → PDF4me Generate Document → Upload output PDF
Four modules, in order:
| Step | Module | Purpose |
|---|---|---|
| 1 | Dropbox – Download a File | Fetches the .docx Word template file |
| 2 | Dropbox – Download a File | Fetches the .json data file |
| 3 | PDF4me – Generate Document | Merges data into template, outputs PDF |
| 4 | Dropbox – Upload a File | Saves the finished PDF to your output folder |
Step 1 – Create Your Word Template
Use the PDF4me LINQ Reporting Engine tag syntax inside your Word document:
<<fieldName>> → simple text substitution
<<foreach [item in items]>>
<<[item.name]>> → loop over array items
<</foreach>>
<<if [condition]>>
content → conditional section
<</if>>
Example — invoice template excerpt:
Invoice No: <<[invoiceNumber]>>
Date: <<[invoiceDate]:"MMMM dd, yyyy">>
Customer: <<[customerName]>>
<<foreach [line in lineItems]>>
<<[line.description]>> Qty: <<[line.qty]>> $<<[line.price]:"F2">>
<</foreach>>
Total: $<<[total]:"F2">>
Save the file as .docx and upload it to your Dropbox (or Google Drive / OneDrive) in a folder Make can access — for example /pdf4metest/GenerateDocumentFromWord/invoice_template.docx.
Matching JSON data:
{
"invoiceNumber": "INV-2026-00123",
"invoiceDate": "2026-05-10",
"customerName": "Acme Corporation",
"lineItems": [
{ "description": "PDF Automation Setup", "qty": 1, "price": 1200.00 },
{ "description": "API Integration", "qty": 3, "price": 450.00 }
],
"total": 2550.00
}
For the full template tag reference, see the Word Template Syntax guide.
Step 2 – Set Up the Two Download Steps in Make
Add two Dropbox – Download a File steps to your scenario before the PDF4me module.

Step 1 (template): Connect to Dropbox and select the .docx template file. Step 2 (data): Do the same for the .json data file in its folder.
For each Dropbox download step:
- Click Connection → select or add your Dropbox connection.
- Set Way of selecting files → Select a file.
- Browse to your file (e.g.
/pdf4metest/GenerateDocumentFromWord/invoice_template.docxfor step 1, and the.jsonpath for step 2). - Click OK to confirm the selection.
The Data output of each step is the binary file content you'll wire into the PDF4me module.
Step 3 – Configure PDF4me Generate Document
Add PDF4me – Generate Document after the two download steps.

Set Template File Type to Word and Output Type to Pdf. Wire the two Dropbox steps to the template and data file inputs under File.
Configuration:
| Field | Value | Notes |
|---|---|---|
| Connection | Your PDF4me connection | Click Add → paste API key if first time |
| Template File Type | Word | Matches your .docx template |
| Output Type | Or Word / Excel if needed | |
| File | Dropbox – Download a File (×2) | First entry = template, second = data file |
| Document DataType | Json | Or Xml if your data file is XML |
| Document Data Text | (leave empty if using file) | Alternatively paste JSON directly here |
| Meta Data Json | (optional) | For date formatting, checkboxes, HTML fields |
The module outputs Doc Data (the finished PDF binary) and Name (the output filename) — both available to map in the next step.
Step 4 – Save the Output PDF
Add a Dropbox – Upload a File step as the final module.

Map Doc Data from PDF4me as the file content and set the destination folder and filename.
Configuration:
- Folder Path → your output folder, e.g.
/pdf4metest/GeneratedInvoices/ - File Name → map the
Nameoutput from PDF4me, or use a dynamic expression likeInvoice_{{timestamp}}.pdf - File (or File Content) → map Doc Data from the PDF4me Generate Document step
Click Run once to test the full flow. Open the destination folder to confirm the PDF was generated and saved correctly.
Workflow Examples
Real-World Scenario VariationsCommon document types you can generate with this same four-step pattern.
- A webhook triggers when a new order is placed in Shopify or WooCommerce.
- The order payload (customer, line items, total) is assembled into JSON in a Make text module.
- Google Drive downloads the invoice Word template from the team drive.
- Generate Document merges the order JSON into the template and outputs a PDF.
- Gmail sends the invoice PDF to the customer and uploads a copy to a SharePoint "Invoices" library.
- A Typeform completion survey triggers the scenario with participant name, course, and date.
- Dropbox downloads the certificate Word template.
- Generate Document fills in the participant's name, course title, and completion date — Output Type Pdf.
- Gmail sends the certificate PDF to the participant.
- The certificate uploads to a SharePoint "Certifications" library for compliance records.
- A scheduled scenario triggers every Monday and reads last week's KPIs from Google Sheets.
- A Make text module assembles the Sheets data into a JSON object matching the report template fields.
- Dropbox downloads the report Word template.
- Generate Document merges the JSON into the template — Output Type Word so the team can still edit the report before distribution.
- The generated Word document emails to the management team before the 9 AM standup.