Skip to content

Document Generator (Templates)

The Templates section lets you design documents (spec sheets, invoices, delivery notes, certificates, quotes) with a visual editor and generate them from any workflow using the Document Generator node. The rendering engine uses no external dependencies or paid services: the PDF is built inside the engine itself.

  1. Design the template in the editor (dragging blocks) or generate it with AI.
  2. Save the template with a name.
  3. In a workflow, add the Document Generator node and pick that template.
  4. On run, the node merges the template with the payload and returns the document (URL, local path and/or base64).

The editor is drag-and-drop, similar to the dashboard builder. It has three areas:

  • Palette (left): the available blocks.
  • Canvas (center): the document blocks, in order. Drag to reorder, click to select.
  • Config panel (right): the selected block’s properties, or the document settings.

At the top you have Preview (renders a real PDF with the sample data) and Save.

In the Document panel you configure:

  • Size (A4, Letter, Legal, A5) and orientation (portrait/landscape).
  • Header: brand (left), title (right) and a reference line.
  • Footer: left/right text and page numbers (Page {page} of {pages}).
  • Accent color of the document.
  • Sample data (JSON): used in the preview. Reference it as {{data.field}}.
BlockDescription
TitleLarge title + subtitle.
SectionSection heading with a separator line.
Field gridGrid of label + value (1 to 4 columns). A field can span the full width.
TableRows repeated from a payload array (from), with configurable columns.
TextFree text with size, alignment, bold and color.
Image / LogoEmbedded JPEG image (data URL or a {{data.logo}} variable), or an image from the Resources library with resource://<id> (converted to JPEG automatically).
QR codeVector QR generated from text or a URL.
DividerHorizontal line.
Page breakForces the start of a new page.

Every block supports the Show if (when) field: if the referenced value is falsy, the block is skipped. Example: {{data.has_logo}}.

Template values are resolved against the workflow payload:

SyntaxDescription
{{data.field}}Field of the payload the node receives.
{{@Label.field}}Output of a previous node (by its label).
{{now}}Generation date and time.
In a Table, pathField name inside each array element.

When creating a new template you can start from a preset: Blank, Invoice, Delivery note, Certificate or Spec sheet. The preset loads a ready structure and sample data to tweak.

In the editor, the Generate with AI button opens a box where you describe the document in natural language (for example: “an invoice with a logo, customer details, a line-items table with quantity and price, VAT totals and a QR with the number”). Floo generates the block template and loads it into the canvas for you to review and adjust.

The Templates section shares the folder system with Forms and Dashboards. You can:

  • Create folders in the Organization sidebar.
  • Drag a template onto a folder to assign it.
  • Filter the list by selecting a folder.
  • When you create a template with a folder selected, it is created inside that folder.

Add the Document Generator node and, in the Template field, pick one of your active templates. The + button creates a new one (and the open icon edits the selected one). See the node reference at Document Generator.

Depending on the node’s Document delivery option:

  • URL/token (recommended): stores the document and returns data.document.url (a /d/doc/:token link served by the engine). Keeps the workflow state small.
  • Embedded (base64): returns the document in the payload (data.pdf_base64).

The node always saves a copy to disk and exposes:

  • data.document.path — local file path (handy for email attachments, FTP, etc.).
  • data.document.file_url — direct download URL of the file.
  • The engine embeds JPEG images; other formats are ignored without breaking the document.
  • The QR is drawn as vectors, so it stays crisp at any size.
  • AI generation requires Floo AI to be enabled in your environment.