PDF fill
Fill template per row → N PDFs
The PDF fill node takes a fillable PDF template and a spreadsheet of records, and produces one finished PDF per row. It is the step that turns a stack of data into a stack of completed forms, filled the same way every time.
How it works
Set up the template once by mapping each column of your spreadsheet to a field on the form. From then on, every row becomes its own filled-out PDF automatically.
This replaces the slow, error-prone work of typing the same form over and over. A hundred-row sheet becomes a hundred finished forms in one run.
The filled PDFs can be combined into one file, delivered, or stored, depending on what comes next in the flow.
Common use cases
Real situations where this node earns its place in a flow.
Fill a form per record
Populate a claim or eMedNY template once per row of data and get back a stack of ready-to-file PDFs.
Personalized letters
Fill a letter template per customer and produce an individual PDF for each one.
Per-family paperwork
Fill the same enrollment form for every family in a spreadsheet in a single run.
PDF fill in a workflow
A simple example of where this node sits in a flow.
What you set up
- Upload the fillable PDF template.
- Map each spreadsheet column to a field on the form (it can suggest the mapping from a sample).
- Run a sheet of records to get one finished PDF per row.
Common questions
Do I have to map the columns by hand?
You can, but it can also read a sample of your sheet and suggest which column fills which field, so you just confirm.
Can I get all the forms as one file?
Yes. Add a PDF merge step after it to combine every filled form into a single document.
Settings you configure on this node, stored under data.config in the workflow JSON. Leave a field unset to use its default.
templateIdreqThe fillable PDF template to populate; the node errors without it.
Type: stringmappingMaps each spreadsheet column to a form field; invalid or missing JSON falls back to matching by label.
Type: JSON stringoverlayOnlyDraw values onto blank pages sized to the template instead of filling over the template background.
Type: booleanDefault:false
How this node appears inside a workflow's nodes[] array (the shape you see in the Developer export / import). A full workflow is { nodes: [...], edges: [...] }.
{
"id": "pdf-fill",
"type": "card",
"position": {
"x": 160,
"y": 120
},
"data": {
"type": "pdf-fill",
"kind": "processor",
"title": "PDF fill",
"subtitle": "Fill template per row → N PDFs",
"config": {
"templateId": "",
"mapping": "[]",
"overlayOnly": "false"
}
}
}