Skip to main content
Writes a message to the flow run’s log, then continues. Perfect for marking milestones in a long flow, or for spot-debugging: check the Runs pane after a dry run to see what was logged.

Configuration

  • Message — the log template. {assign_name} inside the string is replaced with the current value of that assign at run time. Unknown keys resolve to "nil".
  • Level — info (default), debug, or warning. FlowLog lines always appear in the run log regardless of any node floor or run override; the level just controls how the viewer colours and filters the line (and debug inlines the raw struct for non-scalar {tokens}).
  • Include in notifications — when on, this entry is forwarded to the email notification pipeline if a matching notification config exists.

Printing a list

A {token} holding a list normally renders as a payload card below the message. Add a format modifier to print it as text instead:
  • {report:lines} — one item per line
  • {report:bullets} — one - item per line
  • {report:numbered} — one 1. item per line
  • {report:csv} — items joined with ", "
This is how you print a report accumulated in a Flow Each loop — collect the per-iteration lines with the loop’s Collect entries, or append them to a preserved assign with Flow Assign Append, then log the assign once after the loop. An empty list renders as (none), and an unrecognised modifier is left in the message as-is so you can see the typo. A message that prints a list is shown in the run log as a framed block with its own copy button, so it stands out from the surrounding one-line entries.

How much a run can log

A run stores a fixed number of node log lines. Past that ceiling it keeps running normally and keeps counting, but stops storing further node output: the log says so where it stops, and again at the end with how many lines were left out. Only a flow that logs from inside a loop over many thousands of items gets anywhere near it.

Example

Ports