> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spojit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# File Store

> Read, save, and organise your File Store's files and folders from inside a workflow.

The **File Store** node gives workflows the same capabilities as the File Store page: list files and folders, read a file into the run, save a new file, and move, rename, or delete files and folders. Files a workflow saves appear in your File Store immediately, right alongside everything uploaded by hand.

<Note>
  File content never passes through the workflow history. A **Get** step outputs a small content reference; pass it to another node (for example a connector call or a Save step) and the platform swaps the real bytes back in at the point of use.
</Note>

***

## When to use it

* "Generate a weekly report and save it to my File Store."
* "Read the price list stored in Files and use it inside the run."
* "Archive processed files into a dated folder."

***

## Configuration

Pick an **Operation** first; the panel shows only the fields that operation needs.

| Operation                  | Required fields                                  | Output                                                                                 |
| -------------------------- | ------------------------------------------------ | -------------------------------------------------------------------------------------- |
| **List files and folders** | none (optional search or folder id)              | `{ files, folders, totalFiles }` (up to 50 files; `totalFiles` reports the full count) |
| **Get a file**             | File id                                          | `{ file, content }` where `content` is a content reference                             |
| **Save a file**            | Name, Content                                    | `{ file }` (the saved file's metadata)                                                 |
| **Move a file**            | File id (folder id optional; empty is top level) | `{ file }`                                                                             |
| **Rename a file**          | File id, Name                                    | `{ file }`                                                                             |
| **Delete a file**          | File id                                          | `{ deleted, fileId }`                                                                  |
| **Create a folder**        | Name (parent id optional)                        | `{ folder }`                                                                           |
| **Rename a folder**        | Folder id, Name                                  | `{ folder }`                                                                           |
| **Move a folder**          | Folder id (parent id optional)                   | `{ folder }`                                                                           |
| **Delete a folder**        | Folder id (folder must be empty)                 | `{ deleted, folderId }`                                                                |

File and folder ids usually come from a previous **List** step: reference them with templates such as `{{ result_list.files.0.id }}`.

### Saving a file

**Content** is usually a single template referencing a previous step's output, for example `{{ summary }}` or a Get step's `{{ result_get.content }}`. A literal string works too; set **Content type** for literal strings (referenced files keep their own type).

**If the name is taken** controls what happens when the target folder already has a file with that name:

* **Keep both** (default): the new file gets a number suffix, like `report (1).pdf`.
* **Overwrite**: the existing file is replaced. The old file is only removed after the new one is safely stored.
* **Fail the step**: the step (and the run) fails.

Files saved by workflows count against your plan's storage quota, and the same file-type rules apply as in the File Store page (directly executable file types are refused).

***

## Example

A schedule trigger runs every Monday, an agent step writes a summary, and a File Store step saves it:

1. **Trigger**: Schedule, `0 9 * * 1`.
2. **AI Agent**: "Summarise last week's orders", output variable `summary`.
3. **File Store**: Save a file, name `weekly-summary.md`, content `{{ summary }}`.

The file appears in your File Store as soon as the run completes.
