Skip to main content

Got JSON and a Fillable PDF? Populate Your Forms in Make. No Code Required!

· 15 min read
SEO and Content Writer

You have a fillable PDF form—invoices, contracts, certificates—and data in JSON. Manually copying each value is tedious and error-prone. Make plus PDF4me automates it: download the blank form and JSON from Dropbox, run Fill a PDF Form with JSON input, and upload the completed PDF. No code, no servers. Connect storage, map file and data, and get a populated form.

In a nutshell: Dropbox – Download a File (blank PDF form, e.g. /Blog Data/Fill a PDF/Sample_fill_form.pdf) → Dropbox – Download a File (JSON data, e.g. /Blog Data/Fill a PDF/Sample_fill_form_data.json) → PDF4me – Fill a PDF Form (Input Type: Json, map Document from step 1 and Data from step 3) → Dropbox – Upload a File. Output: filled PDF ready to store or send.

Why-Based Q&A

Why use JSON to fill PDF forms? JSON keys map directly to form field names—customerName, email, invoiceNumber, etc. Your data lives in databases, APIs, or spreadsheets; JSON is the common bridge. One structure, many forms: reuse the same template with different JSON for bulk automation.

Why two Download modules? One fetches the blank PDF form (template); the other fetches the JSON data. Both outputs are passed to PDF4me—File from the first Download, Input Data Json from the second. This keeps template and data separate for flexible automation.

Why PDF4me Fill a PDF Form? The module supports JSON input directly—no field-by-field mapping. You provide the PDF and the JSON; PDF4me matches keys to form fields and returns a filled PDF. Integrates with Dropbox, Google Drive, and Make's mapping.


What You'll Get

Input: A fillable PDF form and a JSON file (or JSON string) with matching field names. Output: A completed PDF with all fields populated—ready to upload, email, or pass to the next module.


What You Need


The Scenario at a Glance

  1. Dropbox – Download a File (1) — Gets the blank fillable PDF form.
  2. Dropbox – Download a File (3) — Gets the JSON data to populate the form.
  3. PDF4me – Fill a PDF Form (5) — Combines form + JSON. File from step 1, Input Data Json from step 3, Input Type: Json.
  4. Dropbox – Upload a File (4) — Saves the filled PDF to an output folder.

Complete scenario overview

Make scenario: Dropbox Download a File (PDF) → Dropbox Download a File (JSON) → PDF4me Fill a PDF Form → Dropbox Upload a File

Four modules in sequence: two Downloads (PDF form and JSON), PDF4me Fill a PDF Form, and Upload. Each module shows a green checkmark when configured. The PDF from Download 1 and the JSON Data from Download 3 are passed into PDF4me.


Step 1: Download the Blank PDF Form

Scenario so far: First Download only.

  1. Add DropboxDownload a File.
  2. Connection — Select your Dropbox connection.
  3. Way of selecting filesSelect a file (or use Map for dynamic paths).
  4. File — Enter the path to your fillable PDF form, e.g. /Blog Data/Fill a PDF/Sample_fill_form.pdf.
  5. Run the module to confirm the file is retrieved. The output (Data or Document) will be passed to PDF4me as the form template.

Dropbox – Download a File: PDF form

Dropbox Download a File: File path /Blog Data/Fill a PDF/Sample_fill_form.pdf

Download module for the blank PDF form: File path set to Sample_fill_form.pdf. The output (File or Data) is passed to PDF4me as the form template. Use Map to pull the path from a trigger for automation.


Step 2: Download the JSON Data

Scenario so far: Download PDF → Download JSON.

  1. Add a second DropboxDownload a File module.
  2. Connection — Same Dropbox connection.
  3. Way of selecting filesSelect a file.
  4. File — Enter the path to your JSON file, e.g. /Blog Data/Fill a PDF/Sample_fill_form_data.json.
  5. Run the module. The output Data (text content) will be passed to PDF4me as Input Data Json. Ensure the JSON keys match the form field names in your PDF (e.g. customerName, email, invoiceNumber).

Dropbox – Download a File: JSON data

Dropbox Download a File: File path /Blog Data/Fill a PDF/Sample_fill_form_data.json

Download module for the JSON data: File path set to Sample_fill_form_data.json. The Data output (raw text) is mapped into PDF4me's Input Data Json field. JSON keys must match PDF form field names.


Step 3: Fill the PDF Form with JSON

Scenario so far: Download PDF → Download JSON → Fill a PDF Form.

  1. Add PDF4meFill a PDF Form.
  2. File — Map the output from Dropbox – Download a File (the first module—the PDF form). Select the file/binary output (e.g. Dropbox – Download a File → File or Data).
  3. Select Input TypeJson.
  4. Input Data Json — Map the Data output from the second Dropbox – Download a File module (the JSON content). In the screenshot this appears as 3. Data.
  5. Keep PDF EditableNo if you want a flattened, non-editable PDF; Yes if you need the form fields to remain interactive.
  6. Run the module to test. PDF4me returns Document (the filled PDF).

PDF4me – Fill a PDF Form: File, JSON, and options

PDF4me Fill a PDF Form: File from Dropbox Download, Input Type Json, Input Data Json 3. Data, Keep PDF Editable No

Fill a PDF Form: File from Dropbox Download (blank form), Input Type Json, Input Data Json mapped from the second Download (3. Data). Keep PDF Editable set to No for a flattened output. Output Document is passed to the Upload module.


Step 4: Upload the Filled PDF

Scenario so far: Download PDF → Download JSON → Fill a PDF Form → Upload.

  1. Add DropboxUpload a File.
  2. Connection — Same Dropbox connection.
  3. Folder — Enter the output path, e.g. /Blog Data/Fill a PDF/Output/.
  4. File — Map the output from PDF4me – Fill a PDF Form. Select 5. Document (the filled PDF).
  5. File Name — e.g. Fill_Pdf_Make.pdf, or map from the PDF4me output.
  6. Overwrite an existing fileNo to rename if the file exists; Yes to overwrite.
  7. Run the scenario. The filled PDF is saved to the output folder.

Dropbox – Upload a File: Output PDF

Dropbox Upload a File: Folder /Blog Data/Fill a PDF/Output/, File 5. Document, File Name Fill_Pdf_Make.pdf

Upload module: Folder set to /Blog Data/Fill a PDF/Output/, File mapped to PDF4me Document (5. Document), File Name Fill_Pdf_Make.pdf. The filled PDF is saved to Dropbox.


Input and Output: What Goes In, What Comes Out

Here's the JSON, the blank form, and the filled result.

Example JSON input

Example JSON data for PDF form filling: customerName, email, phone, invoiceNumber, invoiceDate, address, amount

Sample JSON input: keys (customerName, email, phone, invoiceNumber, invoiceDate, address, amount) match the fillable form field names. The Download module fetches this file; Input Data Json passes it to PDF4me.

Blank fillable form (input)

Demo Invoice Form (Fillable): blank form with fields for Customer Name, Email, Phone, Invoice Number, Invoice Date, Address, Amount

Blank fillable invoice form: fields correspond to the JSON keys. PDF4me populates each field from the JSON value. Use a PDF with matching field names for correct mapping.

Filled form (output)

Demo Invoice Form filled with John Doe, john.doe@email.com, INV-2026-001, 221B Baker Street, 1250 USD

Filled invoice form: all fields populated from JSON (John Doe, [email protected], +1 555 123 456, INV-2026-001, 2026-03-09, 221B Baker Street, London, 1250 USD). Output is saved to Dropbox or passed to the next scenario action.


Use Cases: When to Fill PDF Forms with JSON in Make

Invoices and quotes: Pull data from Airtable, Google Sheets, or a database; output JSON. Download the invoice template and JSON, fill the form, and upload or email the PDF automatically.

Contracts and agreements: CRM or form submissions generate JSON. Map to a contract template and produce signed-ready PDFs for each customer.

Certificates and badges: Event or training data in JSON. Fill certificate forms in bulk and upload to cloud storage or send via email.


Quick Reference: Key Settings

ModuleSettingExample
1. Download a FileFile/Blog Data/Fill a PDF/Sample_fill_form.pdf
3. Download a FileFile/Blog Data/Fill a PDF/Sample_fill_form_data.json
5. Fill a PDF FormFileFrom Download (PDF form)
5. Fill a PDF FormInput Data Json3. Data (from JSON Download)
4. Upload a FileFile / Data5. Document from Fill a PDF Form

For full parameter details, see Fill a PDF Form — Make.


Troubleshooting

Form fields not filled or wrong values

Ensure JSON keys exactly match the PDF form field names (case-sensitive). Open the PDF in Acrobat or similar to check field names. Rename JSON keys if needed.

Input Data Json: Invalid or missing

Map the Data output from the JSON Download module—not the file path. Make passes the raw text/buffer; PDF4me expects valid JSON.

File: Wrong or empty PDF

Map the output from the first Download (the PDF form), not the JSON Download. Use File, Data, or Document depending on the connector.

401, 402, or other API errors

PDF4me Troubleshooting covers 401 (API key), 402 (credits), and more.


What's Next?

  • Replace manual file selection with triggers (e.g. When a file is created in Dropbox) to process new JSON + template pairs automatically.
  • Generate JSON from Google Sheets or Airtable (e.g. Create an Iterator) to fill multiple forms in one run.
  • Add Email or Slack after Fill a PDF Form to send the filled PDF or post a notification.
  • Same flow in Zapier or n8n for similar PDF workflows if you prefer those platforms.