Description
n8n-nodes-justfill
Fill existing PDF forms from n8n data — including scanned and flattened PDFs
that have no form fields at all.
You set the layout up once, visually, with the
current workflow JSON from GitHub.
It accepts a PDF and JSON, maps values to reviewed field names, fills the
existing document, and returns a temporary download link.
The same workflow is published in the n8n template catalog.
Its current mapping and updated description were verified on October 5, 2026.
Installation
This community-node installation requires self-hosted n8n. The package is
not yet verified for n8n Cloud. On October 5, 2026, the Creator Portal showed
Changes Required: translate source comments and identifiers to English, and
remove the unused programmatic-node requestDefaults block. Version 0.1.6
addresses those review items; publication alone does not mean n8n approval.
The node submission is separate from the workflow-template review above.
Settings → Community Nodes → Install → n8n-nodes-justfill
Watch the 74-second uncut walkthrough:
install 0.1.5, test a new masked credential, list fields, fill and open a synthetic
PDF, then let AI Agent 2.2 call the field-listing tool with a local CPU model.
The agent example was prepared before recording. This is a working demonstration,
not n8n approval. The recording shows 0.1.5; version 0.1.6 changes source
naming and comments and removes unused configuration, retaining the workflow
parameters and operations.
If your source is already Excel or CSV and you do not need n8n yet, use the Each input item needs the same source PDF in the binary property selected by Once the sample looks right, map the values from incoming items with n8n Output: the filled PDF as binary, plus | Field | Meaning | Check 1. Open the PDF once at justfill.app. The node finds that template by hashing the PDF bytes, so **the file you send Start from the AI Agent 3.1 example. Keep the workflow execution order at v1. If you create workflow JSON or On n8n 2.34.4, omitted settings select the legacy execution order. In our A tool call does not automatically receive the agent’s binary input. Leaving Replace The following single-PDF setup was tested on September 6, 2026: 3.1 with executionOrder: v1; the earlier video uses node 2.2 connected as a tool, operation context 2048, maximum 256 output tokens. No cloud model was used. The execution trace contained a real tool call, the three saved field names in Correction, September 6: the earlier Agent 3.1 warning was too broad. This example lists fields; it does not demonstrate agent-driven PDF delivery. submitted; do not use them to clear existing or default values in the PDF. that a column was renamed, instead of shipping a half-empty form. retain existing editable fields, but does not create new ones on a scanned MIT
List Fields does not pass the binary PDF through. Use it to inspect the
mapping, then change the operation to Fill PDF, or supply the original PDF
again on a separate filling branch. Connecting its output directly to Fill PDF
without restoring the binary file will not work.Fill PDF
Input Binary Field (default: data), plus a Values object keyed by field
name or ID. For a first test, use synthetic values:{ "Patient name": "Example Patient", "Date": "2026-09-06" }
expressions. Keep the source PDF attached to every item being filled.
| — | — |
| filledFields | number of non-empty mapped entries submitted to the API; not a visual accuracy check |
| skippedFields | array of unmatched input keys; with Fail on Unknown Field enabled, these cause an error instead |
| outputMode | clean, or watermarked when the account’s allowance is used up |
| watermarked | boolean shortcut for the above |watermarked before delivering the file. A successful response can
contain a watermarked PDF when the account has no clean-output allowance left.
Route that result for review instead of treating HTTP success as clean output.Setting up a form
2. Review the detected fields and fix their names, positions and sizes.
3. Save it as a template.
4. Fill one sample and inspect the saved PDF, including long values and checkboxes.
from n8n must be byte-identical** to the one you saved. Keep that original blank
file with your workflow. The same filename or download URL is not enough:
a publisher can replace the file, and re-exporting or re-compressing can change
its bytes. If the bytes change, review and save a layout for that version too.Using List Fields as an AI tool
Import it into self-hosted n8n, follow its setup note, then select your own
JustFill and local Ollama credentials. The example contains no keys or pinned
results and only lists saved fields; it does not generate or deliver PDFs.
use the REST API, set this explicitly:{ "settings": { "executionOrder": "v1" } }
Agent 3.1 test that resumed the agent before its JustFill tool had finished,
so the answer reported an empty result despite correct tool output.
Input Binary Field at data can fail even when the PDF is visible in the
agent’s preceding step. In the tool, switch that parameter to Expression
and reference the node that downloaded the original PDF:{{ $('Synthetic PDF').item.binary.data }}
Synthetic PDF and data with your actual node and binary-property
names. This passes the binary object to n8n’s binary helper; it is not a URL,
base64 text or an AI-generated file reference. Keep the source selection under
workflow control, not $fromAI().
(typeVersion in workflow JSON).List Fields, using the expression above.listpdffields; manual description:Read the saved field names of the attached supplier intake PDF.qwen3:0.6b, thinking off, temperature 0,You are a helpful assistant. Prompt:List the field names of the attached supplier intake PDF. Use the listpdffields tool. Do not guess field names.
its observation, and the same names in the agent’s answer. Earlier prompts
returned text or an empty array without invoking the tool: a green workflow
status alone is not enough. Check the tool execution and observation.
An omitted-settings control reproduced the empty observation. Two fresh 3.1
executions with executionOrder: "v1" both received the exact tool result and
returned all three field names. The node package and n8n runtime were unchanged;
no downgrade or core patch was needed. This matches the scheduling issue
described in n8n #26202, which is
closed as not reproduced, not marked fixed. Do not change a production
workflow’s execution order without checking its other branches too.
Multi-item agent workflows have not been validated by this single-PDF check.
Use ordinary workflow nodes for filling and handling the binary PDF output.
The walkthrough linked above includes this scoped tool action alongside ordinary
PDF filling. That video still demonstrates Agent 2.2; the later 3.1 comparison
is separate execution evidence, not a replacement video or n8n approval.Notes
Checkboxes take "true", "yes" or "x".Fail on Unknown Field is on by default. Leaving it on is how you find outFlatten bakes filled native form fields into the page. Turning it off can
or flattened PDF. This node does not request the API’s separate fillable-PDF
creation mode.Licence