Skip to content

Storage ​

Most data in a flow lives only as long as the run: a step produces it, later steps use it, and it's gone when the run ends. Storage is for data that needs to last longer, such as a file a flow should read every time, or a value one run saves for the next.

Open Storage in the sidebar. It has two tabs:

TabHolds
FilesFiles that flows and agents can use, such as documents, templates and generated reports.
Shared VariablesSmall values that every flow in the workspace can read and update, such as a counter or the time of the last sync.

Everything in Storage belongs to the workspace, so every flow in the workspace can use it.

Files ​

The Files tab lists each file with its name, type, size, status and File ID. To add one, click Upload, choose the file, and give it a name, a category and optional purposes.

Flows work with files in two places:

  • Storage keeps a file until you delete it.
  • A run's working area holds files while a run is in progress. Steps such as Convert to File and Extract from File read and write files here by name. The working area is cleared automatically after the run.

These nodes move files between the two, or create them:

NodeActionWhat it does
File StorageUpload FileSaves a file from the run's working area, or content such as text or JSON, to Storage.
Download FileCopies a file from Storage into the run's working area, using its File ID.
List FilesLists files in Storage, optionally by type, extension or flow.
Get File DetailGets a file's details from its File ID.
Delete FileDeletes a file from Storage permanently.
Convert to FileSave as CSV, JSON, HTML, text or binaryCreates a file in the run's working area from data.
Extract from FileExtract File to JSON or Text, Parse CSV to JSONReads a file in the run's working area and outputs its contents.
PDFGenerate PDFBuilds a PDF from an HTML template and saves it to Storage.

For example, to read a CSV that you uploaded to Storage: File Storage › Download File with the file's File ID, then Extract from File › Parse CSV to JSON with the downloaded file name. To keep a report that a flow builds: Convert to File › Save as CSV, then File Storage › Upload File.

Shared variables ​

A shared variable is a named value, such as last_sync or processed_count, that any flow in the workspace can read and update. Flows save and read them with the Variables node. The Shared Variables tab shows them all.

The Variables node ​

The Variables node has two Scope Type settings:

Scope TypeValues lastVisible to
Within flow (default)Until the current run ends.Only steps in the same run.
Shared (all flows)Until deleted, or until Expire after (seconds) passes.Every flow in the workspace, and the Shared Variables tab.

Its actions save and read values by key:

ActionUse it to
Set Value / Set Multiple ValuesSave one or several values.
Get Value / Get Multiple ValuesRead one or several values.
Push Value Onto List / Pop Value From ListAdd to or take from a list, for example a simple queue.
Remove Value / Remove All ValuesDelete values.

You can't put a variable straight into a field. Read it with a Get Value step first, then reference that step's output, such as Get last sync.value. See Using data from earlier steps. If the key doesn't exist, Get Value succeeds with an empty value unless you turn off Success If Not Exist.

Managing shared variables ​

In the Shared Variables tab you can:

  • See each variable's key, value, type, expiry and when it was last updated.
  • Search by the start of the key, and filter by type.
  • Click New variable to add one by hand. A value is any JSON: text in quotes ("hello"), a number, true or false, null, a list or an object. An Expiry is optional.
  • Edit or Delete a variable. Flows that read a deleted variable no longer find it.
  • Import legacy variables to bring in values saved before shared variables belonged to a workspace.

Limits ​

LimitValue
Size of one value1 MB
Items in one list1,000
Shared variables per organization10,000
Total size per organization100 MB