PDF templates
Creating PDF documents with dynamic data from Workflow variables.
PDF templates let you design document layouts that EzFlow renders into PDF files at Workflow run time. Variable fields in the template are replaced with live data before the PDF is generated.
Creating a PDF template
Open Templates in the app sidebar and click New template. Choose PDF as the channel type. This opens the PDF template editor at /pdf-template-creator/<id>.
The editor lets you compose a document layout. The saved state is stored in two separate records:
- A Document record (type
PDF) holds the compiled template content, name, description, and a thumbnail preview. - A PdfTemplate record holds the file reference (
filename), the rendering engine identifier (engine), and the extracted variable list (variablesas JSON).
Variables
Mark a field as dynamic by typing {{variableName}} in the template body. Variable names may contain letters, digits, underscores, and dots.
Examples:
{{recipient.name}}
{{invoiceNumber}}
{{issueDate}}The variables field on the PdfTemplate record stores the list of detected placeholder names so the PDF generation nodes know which values to expect at run time.
Template fields
Document record (type PDF)
| Field | What it stores |
|---|---|
name | Display name shown in the Templates list |
description | Optional description |
type | Always PDF |
compiledTemplate | The template body with {{variable}} placeholders |
templateData | Raw editor layout data |
thumbnail | Preview image URL |
PdfTemplate record
| Field | What it stores |
|---|---|
filename | Storage key for the uploaded template file |
engine | Rendering engine identifier |
variables | JSON array of detected placeholder names |
Using a PDF template in a Workflow
Two nodes can render a PDF template:
- PDF_GENERATOR — renders the template synchronously and returns the PDF file in the Workflow context.
- ASYNC_PDF_GENERATOR — queues the render job asynchronously, which is useful for large or complex documents.
Both nodes accept the template ID and the variable values to inject. The output is a PDF file or a storage reference you can pass to a downstream node (such as SEND_MAIL with an attachment, or STORAGE to persist the file).