Store file
Save a file from a run to a folder, a network drive or a WebDAV server — optionally converted to Word, Excel or CSV.
What it does
Takes a file that an earlier step produced or received — an Excel workbook, a Word document, a mail attachment, or simply a text or data value — and saves it where your team works:
There are two variants — pick the one that matches where the file should go:
| Action | Stores … |
|---|---|
| Store file (server folder) | in a folder on the AI Kit server or a network drive mounted there (SMB/NFS). |
| Store file (WebDAV) | on Nextcloud, ownCloud, a NAS (Synology, QNAP) or any other WebDAV server. |
The same step can also copy, move or delete a file in that storage — typically "move the processed invoice from Inbox to Done".
Every file keeps its real type: a PDF attachment stays a PDF, an Excel workbook is saved byte for byte. Values that are not files become files automatically: text as .md, structured data as .json. With Convert to they become a Word document, an Excel workbook or a CSV file instead.
What you configure
| Field | What it controls | Required | Notes |
|---|---|---|---|
| WebDAV address | Base address of the WebDAV folder. | WebDAV only | Nextcloud: https://cloud.example.com/remote.php/dav/files/<user>/. |
| User / Password | Login for WebDAV. | WebDAV only | The password is stored encrypted. For Nextcloud use an app password (Settings → Security). |
| Accept self-signed certificate | For internal servers without an official certificate. | WebDAV only | Off by default. |
| Action | store, copy, move or delete. | optional | Default store. |
| File to store | A file or result from an earlier step. | for store | Excel, Word, mail attachment, AI text … See "File types and conversion" below. |
| Existing file (path) | A file that is already in the storage. | for copy/move/delete | Usually the path from a trigger's file info, e.g. {memory://fileInfo/path}. Not used for store. |
| Target folder | Where the file goes. | for store/copy/move | Server folder: absolute path, e.g. /data/invoices/2026. WebDAV: path below the address, e.g. Invoices/2026. Missing folders are created. |
| File name | Name of the stored file. | optional | Default: the name of the file. Memory values can be inserted, e.g. Invoice_{memory://invoice/number}.xlsx. Characters that are not allowed in file names are replaced. |
| Convert to | none, docx, xlsx or csv. | optional | Only for store. Default none. |
| If the file exists | rename, overwrite or fail. | optional | Default rename: Report.xlsx becomes Report-2.xlsx. fail stops the run. |
| Show file in inbox | The run appears in the Inbox with the stored file. | optional | Only for store. Off by default. |
| Stored file (optional) | Memory key for the stored file itself. | optional | Only for store. The file as it was stored (converted, if chosen) — e.g. as a mail attachment in a later step. |
| Storage info (optional) | Memory key for details of the stored file. | optional | Only needed to use the name, path or link later, e.g. in a mail. See below. Leave it empty if you don't need it. |
Workflows created with the earlier single Store file action (with a Storage switch) keep running unchanged; the editor marks it as outdated.
📷 SCREENSHOT: The "Store file" step with storage, target folder, file name and "Convert to".
File types and conversion
| File in memory | Without conversion | docx | xlsx / csv |
|---|---|---|---|
| File (PDF, image, Office, …) | saved unchanged | only text/Markdown files | CSV ↔ Excel |
| Text | .md | Word document; Markdown headings, bold text, lists and tables are formatted | if the text contains a Markdown table |
| Data (list of rows, result of Excel → read) | .json | — | one row per entry, column types detected |
- The file name gets the extension of the content if it has none (
Report→Report.xlsx). A converted file always gets the extension of the target format (Offer.md→Offer.docx). - If a name contradicts the content — e.g.
report.pdffor an Excel workbook — the file is still saved under that name, and the job log shows a warning. - Excel and CSV follow the workspace settings for numbers and dates. A CSV for a workspace with a decimal comma uses
;as separator, the way Excel expects it in German. - There is no PDF conversion.
Storage info
{
"action": "store",
"target": "webdav",
"filename": "Invoice_4711.xlsx",
"path": "Invoices/2026/Invoice_4711.xlsx",
"location": "https://cloud.example.com/remote.php/dav/files/accounting/Invoices/2026/Invoice_4711.xlsx",
"mimeType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"size": 6727,
"convertedTo": "xlsx"
}
location is the full path (local) or the URL (WebDAV). Use it in a mail or a later step.
The storage info is data, not the file. Give it its own name: if it has the same name as File to store or Stored file, it is not saved (the job log shows a warning) — otherwise it would replace the file, and the Inbox would offer the JSON instead of the file for download.
Example scenario
File invoices from the mailbox. The Email received trigger delivers each invoice PDF as attachment. An AI step extracts supplier and invoice number. Store file saves the attachment to WebDAV in Invoices/{memory://invoice/supplier} with the name {memory://invoice/number}.pdf. A second Store file step saves the extracted data next to it, converted to xlsx, for the accountant.
Done folder. The Filesystem Watcher starts a run for every new file in /data/inbox and writes its file info to fileInfo. After processing, Store file with action move, source file {memory://fileInfo/path} and target folder /data/done clears the inbox.
Recommendations
- ✅ Use
rename(default) when several runs may produce the same name, andfailwhen a duplicate points to an error. - ✅ Put the date or a number from the data into the file name.
- ✅ For Nextcloud, create a dedicated user or an app password with access to only the folders the automation needs.
- ⚠️ Local paths are paths on the AI Kit server. The service needs write access there; network drives must be mounted on the server.
- ⚠️
moveandcopywork within one storage — from WebDAV to WebDAV or from local to local. - ❌ Do not store into the folder a Filesystem Watcher or Records changed trigger of the same workflow watches — every run would start the next one.
What to do next
- React to new files: Filesystem Watcher or, for tables, Records changed.
- Only append text to a log file: File Writer.