Output · Reports

Text Section

Adds a block of text to a report, such as an intro or notes. It can include live values from your data, filled in at run time.

Also known as: Report text, dynamic text

How it works

Type the prose in the Text field and, if you want, a Heading. The field has a Generate with AI button when it is empty and Improve with AI once it has text. To include live values, add a Data input, give it a name and wire a table into the matching port; the panel then lists that table's columns under Insert data, and clicking one drops a token such as ${{ kpis.total_sales }} into the text, filled from the first row when the pipeline runs. The repeat chip adds a block whose contents are written once per row of that input. Ticking "as list" makes a clicked column insert a token that joins the whole column into one phrase, such as "North, South and East". A section with no tokens needs no input at all. Report Assembly places the section in the layout.

Inputs and outputs

Inputs

  • input_0 — Table
  • input_1 — Table
  • input_2 — Table
  • input_3 — Table
  • input_4 — Table
  • input_5 — Table

Outputs

  • section — File

Settings

The Attributes panel of Text Section, as in the app: the controls work, but nothing runs — there is no data behind it.

The same settings, as the Assistant writes them
{
  heading?: string
  body: string
  tokenInputs?: [{ name: string }]
}

body is prose with optional data tokens ${{ <name>.<column> }}, filled at run time from the table wired into input_i for tokenInputs[i], e.g. "Total sales: ${{ kpis.total_sales }}" with tokenInputs [{ name: "kpis" }]; a body with no tokens needs no input

Example

An intro paragraph that quotes this month's totals. Add a data input named kpis, wire in a one-row Aggregate result, and write: "Revenue reached ${{ kpis.revenue }} across ${{ kpis.orders }} orders." Add a second input top with the top five products and a repeat block to list them.