Fill PDF
Give it the same PDF plus a Values object keyed by those names:
{ "Patient name": "{{ $json.customer }}", "Date": "{{ $now.format('yyyy-MM-dd') }}" }
Output: the filled PDF as binary, plus
| Field | Meaning |
| — | — |
| filledFields | how many fields received a value |
| skippedFields | values that matched no field |
| outputMode | clean, or watermarked when the account’s allowance is used up |
| watermarked | boolean shortcut for the above |
Check watermarked. When an account runs out of clean output pages the API
still returns a perfectly valid PDF — with a watermark. Without branching on
this, a workflow will happily deliver watermarked documents to customers and
nothing will look broken.
Setting up a form
1. Open the PDF once at justfill.app.
2. Review the detected fields and fix any that are off — this is the step that
makes every later run exact.
3. Save it as a template.
The node finds that template by hashing the PDF bytes, so **the file you send
from n8n must be byte-identical** to the one you saved. Re-downloading the same
blank form from the same source is fine; re-exporting or re-compressing it is
not, because that changes the bytes and no template will match.
Notes
- Fields you omit stay empty; checkboxes take
"true", "yes" or "x".
Fail on Unknown Field is on by default. Leaving it on is how you find out
that a column was renamed, instead of shipping a half-empty form.
Flatten bakes the values into the page. Turn it off to keep the result
editable.
Licence
MIT