The Files Toolkit node is the comprehensive file-operations node for Unify Automations. It covers the full lifecycle of a file within an automation: fetching, uploading, copying, deleting, appending, generating PDFs, detecting MIME types, and triggering on new or changed files. Reach for this node when you need more than simple file passing — particularly for incremental file builds, PDF generation, type detection before branching, or event-driven file watching (on new or updated files).
Internal node name: files_by_unifyapps. Each action and the trigger documented below is a resource of this node.
Overview
The Files Toolkit overlaps with the simpler Files node. Use the simpler node for basic upload/download flows; use the Toolkit when you need append, PDF creation, MIME detection, or the new-file trigger.
File Object
Several actions in this node return a file reference — as a fileDetails object (Upload file, Create a file, Create a PDF file) or a file object (Get File, and the trigger) — representing a file inside the automation. The exact fields returned vary slightly by action, but the common fields are:
Field | Description |
|---|---|
Name | The file's name. |
Source | The file's underlying source reference. |
Source Type | The type of source the file was created from or retrieved from. |
File Type | The file's type. |
Mime Type | The file's MIME type. Returned by Upload file and Create a file; not present in the objects returned by Get File, Create a PDF file, or the trigger. |
Size | File size. Not present in the trigger's file object. |
Actions that take a file as input — such as Copy file's Source File and Target File, Delete file's File, Append line(s) to file's File, and Get File Mime Type's File — accept this same object as a UnifyApps File Object. Pass the fileDetails (or file) output from one action directly into these input fields as a data pill to reference that file in a later step.
Operations
Get File
Retrieves a file's details from a path within the automation's filesystem, optionally fetching the file from cloud storage. Use this to pull in a file already present at a known path — for example, one created earlier with Create a file — before passing it to processing nodes such as CSV Reader or a parser.
Files by UnifyApps — Files Toolkit overview
Input Field | Description |
|---|---|
File Path | Full path of the file, including the file name (e.g., /unify/assets/sample.txt). |
Fetch from Cloud Storage | If enabled, the file is fetched from cloud storage instead of the local filesystem. Defaults to off. |
Files by UnifyApps configuration
Output: A file object containing the file's name, source, source type, file type, and size.
Internal name: files_by_unifyapps_get_file
Upload file
Uploads a file from a URL or base64-encoded content and generates a file reference for it. Use this to bring external files into the automation so format nodes (CSV, Excel, PDF) can read them.
Input Field | Description |
|---|---|
Option | Selects the file source: URL or Base64 Content. Defaults to URL. |
URL | Public URL of the file to be uploaded. Shown when Option is URL. |
Base64 Content | Base64-encoded content of the file to be uploaded. Shown when Option is Base64 Content. |
File Name | Name of the file to be uploaded (e.g., myFile.txt). If left blank, a random UUID is used as the file name. |
Mime Type | MIME type of the file to be uploaded (e.g., text/plain). |
Upload to public bucket | Uploads the file to a public bucket. |
Validate File | Validates the file based on configured validation criteria. |
Output: A fileDetails object containing the file's name, source, source type, file type, MIME type, and size.
If File Name is left blank, Upload file assigns a random UUID as the file name.
Internal name: files_by_unifyapps_upload_file
Copy file
Copies the content of a source file into a target file, either appending to or overwriting the target's existing content. Use this when you need to merge content into another file object or duplicate content across files.
Input Field | Description |
|---|---|
Source File | UnifyApps File Object of the source file. |
Target File | UnifyApps File Object of the target file. |
Copy Options | Whether to overwrite (Overwrite) or append (Append) the target file's content. Defaults to Append. |
Output: A confirmation object (success) indicating whether the copy succeeded.
Copy Options defaults to Append — the source file's content is added to the end of the target file's existing content rather than replacing it. Select Overwrite explicitly if the target file's content should be replaced instead.
Internal name: files_by_unifyapps_copy_file
Delete File
Permanently removes a file from storage. Use at the end of a workflow to clean up temporary or intermediate files that are no longer needed.
Input Field | Description |
|---|---|
File | UnifyApps File Object of the file to be deleted. |
Output: A confirmation object (success) indicating whether the deletion succeeded.
This action is irreversible. Files created as temporary (for example, via Create a file's Temporary File option) are cleaned up automatically once the run completes; use Delete File explicitly to remove other files or free storage earlier.
Internal name: files_by_unifyapps_delete_file
Create a file
Creates a file within the automation. By default the file is created as a temporary file that is cleaned up automatically once the run completes; disable Temporary File to instead create a persistent file at a specific folder path, optionally uploading it to cloud storage. Use this to initialize a file before populating it incrementally with Append line(s) to file, then pass it to a format node for processing.
Input Field | Description |
|---|---|
File Type | Type of file to create. Currently only Text is available; defaults to Text. |
Temporary File | If enabled, the file is created in a temporary directory and is eventually cleaned up. Defaults to on. |
Folder Path | Path of the directory to create the file in (e.g., tmp/folder-1). Shown only when Temporary File is off. |
File Name | Name of the file (e.g., sample.txt). Shown only when Temporary File is off. |
Upload to Cloud Storage | If enabled, the file is uploaded to cloud storage. Shown only when Temporary File is off; defaults to off. |
Mime Type | MIME type to set on the uploaded file. Shown only when Temporary File is off and Upload to Cloud Storage is on. |
Initial Content Type | Type of initial content to add: Base64 or Plain Text. Defaults to Plain Text. |
Type | Whether the initial content is a Single line or Multiple lines. Defaults to Single. |
Initial Content | Content to add to the file initially — a single line of text, or an array of lines when Type is Multiple. |
Output: A fileDetails object containing the file's name, source, source type, file type, MIME type, and size.
Internal name: files_by_unifyapps_create_temp_file
Append line(s) to file
Appends one or more lines of text to an existing file. Choose whether the content being appended is plain text or base64-encoded, and whether you're appending a single line or multiple lines. Use this to incrementally build a log, report, or data file over multiple loop iterations.
Input Field | Description |
|---|---|
File | UnifyApps File Object of the file to append lines to. |
Content Type | Type of content being appended: Base64 or Plain Text. Defaults to Plain Text. |
Type | Whether you're appending a Single line or Multiple lines. Defaults to Single. |
Content | Content to append — a single line of text, or an array of lines when Type is Multiple. |
Output: A confirmation object (success) indicating whether the append succeeded.
For files built incrementally across many loop iterations, consider accumulating content in memory and appending it in fewer, larger calls rather than appending on every iteration.
Internal name: files_by_unifyapps_append_line_to_file
Create a PDF file
Generates a PDF file from the provided text content. Use this to produce reports, receipts, invoices, or any text-based document that needs to be delivered as a PDF.
Input Field | Description |
|---|---|
File Name | Name of the PDF file to be created (e.g., invoice-1042.pdf). If left blank, a default name is used. |
Content | Content of the PDF file to be created. |
Output: A fileDetails object containing the file's name, source, source type, file type, and size — for downstream steps such as email attachments or file storage connectors.
Internal name: files_by_unifyapps_create_pdf_file
Get File Mime Type
Inspects a file's content to detect its MIME type, independent of the file name or extension. Use this before a conditional branch when the incoming file's type is unknown or potentially mislabeled — for example, to confirm a file is genuinely text/csv before passing it to the CSV Reader.
Input Field | Description |
|---|---|
File | UnifyApps File Details Object of the file to inspect. |
Output: A string (mimeType) containing the detected MIME type (e.g., text/csv, application/pdf, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet). Use this value in a subsequent conditional node to route the automation based on file type.
Internal name: files_by_unifyapps_get_file_mime_type
Trigger
Triggers on new or updated file
Fires the automation when a file in a watched directory is created or updated. This trigger enables event-driven file-processing workflows — for example, automatically parsing a CSV whenever one lands in a monitored folder.
Input Field | Description |
|---|---|
Directory Path | Path of the directory to monitor for file changes. |
Output: A file object for each detected new or updated file, containing its name, source, source type, and file type, plus a type field distinguishing the kind of change.
Design downstream steps to be idempotent — a file that is created or updated again can fire the trigger more than once for the same file.
Internal name: files_by_unifyapps_on_new_or_created_file.
Notes
The Files Toolkit node works best when you follow these practices:
Files created with Create a file's Temporary File option (on by default) are cleaned up automatically once the run completes; disable it to create a persistent file at a specific folder path instead.
For large files built incrementally in a loop, consider accumulating content in memory and appending it in fewer, larger calls — repeated Append line(s) to file calls add overhead on every iteration.
Run Get File Mime Type before a conditional branch when the file type is unknown or potentially mislabeled — branch on the detected type, not the file name extension.
Design downstream steps to be idempotent when using the Triggers on new or updated file trigger — a file that is created or updated again can fire the trigger more than once.
Pass the fileDetails (or file) object from one action's output directly into another action's file input as a data pill — see File Object above for the common shape.
A well-configured Files Toolkit node reduces errors and keeps automations maintainable.