Skip to content

Save Data

Write a workflow step's output back into the project as a Data Source.

When to use this

  • You want a step's rows out of the workflow and into the Data Sources list, where you can preview them, download them, or pull them into another workflow with an Import Data node
  • You want an intermediate result kept, such as a filtered extract or a cost table, and not only the scenario the run saves

What you need

  • An upstream node that emits rows (Import Data, an operation node, a Script, or any installed node that produces a table). A scenario cannot connect to Save Data; pass it through an installed node that turns a scenario into a table first

Parameters

Parameter Default Description
Output Name — Required. Name for the saved file. No extension; the format below supplies it. Validate and Run refuse a Save Data node without one.
File Format CSV CSV or Excel (.xlsx). Only CSV is stored. See Excel is formatted but not saved.

How it works

Save Data is a terminal node: it has an input but no output. When the workflow runs, the upstream rows are formatted into <output name>.<format>, one row per upstream row. Two things change on the way: the provenance column Import Data adds to every row, naming the file and row it came from, is left out (a provenance column that is part of your own data is kept), and a value that is a list or an object is written as JSON text. When the run finishes, that file is written into the project as a Data Source. It appears in the Data Sources list beside your uploads, carrying its columns and row count, and it previews, downloads and imports like any file you uploaded yourself.

If the upstream node delivers no rows, the run fails with No data to save - input is empty.

Excel is formatted but not saved

Set File Format to Excel (.xlsx) and the run still completes, but that node writes no Data Source. Workflow exports currently accept CSV text; workbook exports need normalization before they can be published for downstream runs. The run's Execution Report carries a File format not supported message naming the file and suggesting CSV, which stores and opens in a spreadsheet just as well.

Running the same workflow again

The output name is set once, on the node, and every run writes the next version of the same file. After a rerun, eu_orders.csv is the new result and the Data Sources list shows it as Version 2; the earlier result is kept as history under eu_orders [version 1].csv. Open History on the file to download an earlier version or restore it as current. A workflow that loads eu_orders.csv reads the current version on its next run, and its results say newer inputs are available once the file has changed.

If you rename the file in Data Sources, later runs keep your name until you change the node's Output Name. Changing Output Name moves the current version to the new name on the next run; earlier versions keep their labels.

A different Save Data node, or a copy of this workflow, writes a separate file. If its name is taken, it gets a suffix: eu_orders.csv (2). An upload is different: it refuses a name the project already holds. If a save is refused or the run fails, the current version stays as it was. Earlier versions count against storage; Free up space offers the ones nothing still reads.

Workflow wiring

Export a filtered table. A graph that builds no scenario needs no Create Scenario node:

flowchart LR
    n1["Import Data (orders.csv)"] --> n2["Filter (region = EU)"]
    n2 --> n3["Save Data (eu_orders.csv)"]

Common mistakes

  • Trying to chain something downstream of Save Data. It is terminal. Connect anything downstream to the upstream node instead.
  • Picking Excel (.xlsx) and then looking for the file. Nothing is stored. The run reports File format not supported, and the fix is CSV.
  • Putting a file extension in the output name. The extension comes from File Format. report with CSV gives report.csv, and report.csv gives report.csv.csv.
  • Looking for the previous result under the old name. After a rerun the name holds the new file. The previous one is in the file's History.

Next steps

  • Import Data — read an export back into another workflow
  • Browse installed nodes for package-specific table calculations.

Messages this node can show

A run gives this node 5 minutes. A node that takes longer stops with Time limit reached.

Like every node, it can also stop on the checks before a run and the run's limits.