All nodes/Integrations/Files

WS Store

The current workspace's own file store — the same tree the Files tab browses. Wire it to File Glob/Read/Write/Tool; files written there show up in the Files tab. No credentials needed.

WS Store
WS Store Config

Type in the graph: ws_store_config

Try it

Write into the workspace store

The user's message is saved to a file inside the reports folder.

Entry
WS Store
File Write
Exit
  • Execute
  • Data
  • Execute + Data
Press “Copy nodes”, open the editor and hit Ctrl+V on the canvas.

Runs as pasted

When to use it

The node points file nodes at the workspace’s own store — the same tree the Files tab browses. It needs no credentials: the store is internal.

You do not always need it. Every consumer (File Read, File Write, File Glob, File Tool, plus the CSV and XLSX nodes) already defaults Connection source to “From the run context”, which means exactly this store, and the root is set by the Subfolder field on the node itself. A separate node earns its place when several consumers need one shared root through a single wire, or when the store should be visible on the canvas.

How it works

What travels along the data wire is the address of a root, not a file. Subfolder is rendered as a template, so sessions/{{ variables.session_id }} gives every conversation its own sandbox. It cannot be used to leave the store: ../.. is stripped from the path rather than honoured.

The consumer pulls this node lazily, at the moment it runs itself. Because of that {{ inputs.… }} here reads the consumer’s inputs, not its own — use {{ variables.… }}, {{ nodes.<id>.output }} and {{ secret.… }}.

Everything written through this store shows up in the Files tab and counts against the workspace owner’s files quota.

Common mistakes

  • Treating Subfolder as a security boundary. It is a layout convenience, not isolation: a neighbouring node in the same workspace can point at any other root.
  • Passing binary files down the graph. The built-in store has no connection behind it, so a lazy reference to an image or a PDF never turns into bytes, and File Read refuses out loud on such a file. That case needs an external disk over WebDAV.
  • Wiring into a node whose Connection source is still “From the run context”. The file_store port is not drawn in that mode — switch the field to “External connection” first.
  • One node for two different roots. It has a single subfolder; a second root needs a second node.

Inputs

Outputs

PortWirePayloadNotes
WS Store ConfigoutputDatadataobject

Configuration

FieldTypeDefaultDescription
Subfoldersubfolderstring""

Optional folder inside the workspace store to use as the root (e.g. 'reports'). Templates are rendered, so `sessions/{{ variables.session_id }}` gives each chat its own sandbox. Note: this node is pulled lazily by its consumer, so `{{ inputs.* }}` here means the CONSUMER's inputs — use variables/nodes/secret.

supports templates