Skip to main content

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:

ActionStores …
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​

FieldWhat it controlsRequiredNotes
WebDAV addressBase address of the WebDAV folder.WebDAV onlyNextcloud: https://cloud.example.com/remote.php/dav/files/<user>/.
User / PasswordLogin for WebDAV.WebDAV onlyThe password is stored encrypted. For Nextcloud use an app password (Settings → Security).
Accept self-signed certificateFor internal servers without an official certificate.WebDAV onlyOff by default.
Actionstore, copy, move or delete.optionalDefault store.
File to storeA file or result from an earlier step.for storeExcel, 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/deleteUsually the path from a trigger's file info, e.g. {memory://fileInfo/path}. Not used for store.
Target folderWhere the file goes.for store/copy/moveServer folder: absolute path, e.g. /data/invoices/2026. WebDAV: path below the address, e.g. Invoices/2026. Missing folders are created.
File nameName of the stored file.optionalDefault: 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 tonone, docx, xlsx or csv.optionalOnly for store. Default none.
If the file existsrename, overwrite or fail.optionalDefault rename: Report.xlsx becomes Report-2.xlsx. fail stops the run.
Show file in inboxThe run appears in the Inbox with the stored file.optionalOnly for store. Off by default.
Stored file (optional)Memory key for the stored file itself.optionalOnly 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.optionalOnly 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 memoryWithout conversiondocxxlsx / csv
File (PDF, image, Office, …)saved unchangedonly text/Markdown filesCSV ↔ Excel
Text.mdWord document; Markdown headings, bold text, lists and tables are formattedif 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.pdf for 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, and fail when 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.
  • ⚠️ move and copy work 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​