---
title: "PDF form filled from JSON values through JustFill"
kind: "Kit"
category: "Productivity"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/caaca729-4e08-4486-bb68-3f181a7a17f6"
updated: "2026-11-12"
---

# PDF form filled from JSON values through JustFill

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow with a web form. Upload a PDF and paste JSON values keyed by its field names, and JustFill’s hosted API fills the form and returns a link to the finished PDF. No AI model is used for the matching.

PDF form filled from JSON values through JustFill is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow fills in a PDF form from data. It shows a small web form where you upload a PDF and paste a JSON object. The keys are the names of the PDF’s fields. The workflow sends both to JustFill’s hosted API, which fills the form and returns a download link. A Code node matches each key to a field name and stops before filling if a name is unknown or unclear. When the PDF is ready, the form sends your browser to it. Ten nodes run the flow.

### Who it suits

Teams that fill the same PDF form again and again from a spreadsheet, a CRM or a database. It suits a recurring supplier, onboarding or insurance form with names you have reviewed once. Skip it if every form is new, because it relies on saved field names.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Operations | Back-office teams | Turn a record into a filled copy of a standard form | A clerk pastes a vendor’s details and gets the completed intake form. |
| HR | Onboarding teams | Fill the same new-hire form for every starter | A coordinator completes the onboarding form from a row in a sheet. |
| Finance | Accounting staff | Complete a recurring form for each client | A bookkeeper fills a tax request form with a client’s figures. |
| Software | Automation builders | Add a PDF step to a larger flow | A builder takes the redirect out and mails the link to an approver. |

You need some n8n for this one: a JustFill account with an API key, a saved template for your PDF and a JSON object per run. The file gives no setup time.

### Where to use it

n8n Cloud or a self-hosted n8n will run it, with a JustFill account of your own.

- n8n Cloud or your own server: every node in it is one that n8n ships
- A spreadsheet, CRM or database: replace the form with a trigger that builds the JSON object
- An approval step: put it between \`Result\` and the redirect, so that a person sees the PDF first
- Email or storage: replace the redirect with a node that mails or saves the download link

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. One API key and one saved template cover every step.

What you need first

| Need | Detail |
| --- | --- |
| n8n | An account on n8n Cloud or a server of your own |
| JustFill | An account and an API key from its Account page |
| A saved template | Your recurring PDF, with its field names reviewed and saved in JustFill |
| Values | A JSON object with one key for each field you want to fill |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Open `Config` and replace `<YOUR_JUSTFILL_API_KEY>` with your key.
3. In JustFill, open your PDF, review its field names and save it as a template once. Note the names, such as `company_name`.
4. Click Test workflow. The form opens. Upload the PDF and paste a JSON object in `Data JSON`, with one key for each field to fill.
5. Open the file the form sends you to, then look at `output_mode` and `warnings` in the `Result` node.
6. Save and press Publish at the top of the canvas (or Shift+P). Keep the form private, since anyone with its address can use your JustFill allowance.

### How to use it

Open the form’s address, upload the PDF and paste the values as JSON. A moment later your browser opens the filled PDF. If a key matches no field, the run stops with a message that names the keys, and nothing is filled. Check the PDF before you send it on.

What to change for a different result

| To change | Where |
| --- | --- |
| The form’s title, text and fields | \`On form submission\` |
| The matching rules | The Code node \`Map values to fields\` |
| What is kept from the answer | \`Result\` |
| What happens at the end | \`Redirect to filled PDF\` and any nodes you add after \`Result\` |

### Example

An onboarding coordinator uploads the company’s new-supplier PDF and pastes {"company\_name": "Northwind LLC", "vendor\_reference": "V-1042"}.

The workflow matches both keys to fields, fills the form and opens the finished PDF. If the coordinator had typed vendor\_ref instead, the run would stop and name that key, and the PDF would stay blank.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. This one first asks JustFill for a place to upload the file, then sends the PDF and asks for its fields. It then matches your values to those fields and asks JustFill to fill the form. Click Test workflow and open each box’s output to follow it.

**For experts.** JustFill is reached through its MCP endpoint with plain HTTP Request nodes and JSON-RPC bodies, so no community node is needed.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Mint upload slot\` | Calls the \`request\_file\_upload\` tool at JustFill’s \`/api/mcp\` with a Bearer key | The answer holds an upload address and a token as text inside the tool result |
| \`Prepare upload\` | Parses that answer and attaches the form’s PDF | Throws on any transport or tool error, and on a missing file |
| \`Open PDF\` | Calls \`open\_pdf\` with the token, with a 180 second timeout | Returns the field list and a workspace id |
| \`Map values to fields\` | Matches JSON keys to field names | Ignores case, spaces and punctuation, stops on unknown, ambiguous, nested or duplicate targets and turns a \`null\` into a blank |
| \`Fill PDF\` | Calls \`fill\_pdf\` with the workspace id and the values | Fills native form fields when the PDF has them, otherwise places text on top, according to JustFill’s page |
| \`Redirect to filled PDF\` | Form ending that redirects to the download address | The link needs no sign-in and lasts about 24 hours |

### Good to know

The workflow sends your PDF and values to a hosted service, and it guards nothing on its own.

- Not run: Mindket made no call to JustFill’s server. It ran \`Map values to fields\` on sample field lists and JSON on its own machine, and read JustFill’s own pages
- Allowance: JustFill’s page says running the workflow uses the account’s PDF-processing allowance, and the output may carry a watermark depending on the account
- Templates: \`open\_pdf\` takes its fields from a saved template, from the PDF’s own form fields or from detection. A saved template keeps the names the same on every run, and a changed PDF needs a new template
- Strict matching: a key that matches no field, two fields with one name, a nested value or two keys for one field stops the run before anything is filled
- Download link: it is a plain address with no sign-in, valid for about 24 hours by the code’s own comment, so anyone who has it can read the filled PDF
- Key: it sits in \`Config\` as plain text, so in production keep the key in an n8n credential, and do not share an export that holds a real key
- Form access: the form has no access control, so once it is published anyone with the address can send a PDF through your account
- Your data: the PDF and the values go to JustFill’s servers, and a filled form can hold personal data
- Credentials: the JSON holds none

## README

```markdown
# PDF form filled from JSON values through JustFill

An n8n workflow with a small web form. You upload a PDF and paste a JSON object whose keys are the names of the PDF's fields. The workflow
sends both to JustFill's hosted API, which fills the form and returns a download link. The form then sends your browser to the
filled PDF.

## What is inside

- `workflow.json`: the workflow as n8n exports it, 15 nodes. 10 of them run and five are sticky notes. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- The key in `Config` was a made-up value, `jf_live_YOUR_API_KEY_HERE`. It is now `<YOUR_JUSTFILL_API_KEY>`.
- The first sticky note no longer links to the vendor's page, and it says to save and publish instead of "activation".
- Nothing else. The form, the four requests and the Code nodes are as they were.

## Before you start

- An n8n instance, on n8n Cloud or your own server.
- A JustFill account with an API key. JustFill's page says to create it in Account, under API Keys.
- A recurring PDF whose field names you have reviewed in JustFill and saved as a template. JustFill's pricing page, read on 12 November
  2026, lists saved templates with its paid plans.
- A test PDF with a few fields and made-up values, so that no customer document is used for the first run.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Open `Config` and replace `<YOUR_JUSTFILL_API_KEY>` with your key.
3. In JustFill, open your PDF, review its field names and save it as a template once. Note the names, such as `company_name`.
4. Click Test workflow. The form opens. Upload the PDF and paste a JSON object in `Data JSON`, with one key for each field you want to fill.
5. Open the file the form sends you to. Then look at `output_mode` and `warnings` in the `Result` node, which tell you whether the output is clean or marked.
6. Save and press Publish at the top of the canvas (or Shift+P). Keep the form private, since anyone with its address can use your JustFill allowance.

## How a run goes

1. `On form submission` takes the PDF and the JSON text from the form.
2. `Config` holds the API key.
3. `Mint upload slot` calls JustFill's `request_file_upload` tool at `https://justfill.app/api/mcp`, with your key in an `Authorization` header.
   It answers with an upload address and a token.
4. `Prepare upload` reads that answer, stops on any error, and attaches the form's PDF as a binary file.
5. `Upload PDF` posts the file to the upload address as multipart form data.
6. `Open PDF` calls the `open_pdf` tool with the token and waits up to 180 seconds. JustFill answers with the field list and a workspace id.
7. `Map values to fields` compares each JSON key with the field names, ignoring case, spaces and punctuation. It builds the call to `fill_pdf`.
8. `Fill PDF` sends that call. `Result` keeps the download address, the output mode, the number of filled fields, the link's expiry and any warnings.
9. `Redirect to filled PDF` ends the form by sending the browser to the download address.

## Change the look

- The form's title, text and fields: `On form submission`.
- The rules for matching names and values: the Code node `Map values to fields`.
- What is kept from the answer: `Result`.
- What happens at the end, for example saving or emailing the file in place of the redirect: `Redirect to filled PDF` and the nodes you add after `Result`.

## Good to know

- Not run: Mindket made no call to JustFill's server. It ran `Map values to fields` on sample field lists and JSON on its own machine, and
  read JustFill's own pages on 12 November 2026.
- JustFill's page says running the workflow uses the account's PDF-processing allowance, and the output may carry a watermark depending
  on the account. Check your plan before you run it on real work.
- `open_pdf` takes its fields from a saved template, from the PDF's own form fields or from detection, according to JustFill's pages.
  A saved template keeps the names the same on every run, and a changed PDF needs a new template.
- The matching is strict. A JSON key that matches no field, two fields with one name, a nested value or two keys for one field stops the run before
  anything is filled. A `null` becomes a blank value.
- The download address is a plain link with no sign-in, and the code's own comment says it stays valid for about 24 hours. Anyone who has it can read the filled PDF.
- The API key sits in `Config` as plain text. In production, keep the key in an n8n credential, and do not share an export that holds a real key.
- The form has no access control. Once the workflow is published, anyone with the address can send a PDF through your account.
- Your data: the PDF and the values go to JustFill's servers. A filled form can hold personal data, so check JustFill's terms first.
- Credentials: the JSON holds none.
```

## What is in it

3 files, 22 KB, downloaded as a zip.

```text
NOTICE.md  580 B
README.md  5 KB
workflow.json  17 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 10 steps, starting on a form
- AI: No step calls an AI model
- Sign-ins: Signs in to: justfill.app
- API keys: No API key is left in the file; 1 blank in it for your own key
- Step types: Mindket’s checker reads all 5 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/caaca729-4e08-4486-bb68-3f181a7a17f6)
- [Its page on Mindket](https://mindket.com/p/caaca729-4e08-4486-bb68-3f181a7a17f6)
