Files

Azure integration · 20 node(s).

00Overview

Manage Azure Files SMB shares straight from a flow — create and delete shares, adjust their quota, access tier and metadata, and check how much space each one is actually using before it fills up. Work with the directories and files inside them too: upload, download, copy, lease, list and delete, read properties without downloading, and set metadata. Hand out time-limited download or upload links with a shared access signature, so someone can reach a file without ever seeing your account key.

Every field below is exactly what you see in the Flomation editor. Fields marked ● live picker let you choose from a list pulled live from your account — no IDs to look up.

01Connecting Files

  1. In the Azure portal, open the Storage account that holds your file shares and put its name in the node's Storage Account field. Then choose an Authentication method — Shared Key (the account key, simplest and the only option that can sign a shared access signature) or Microsoft Entra (service principal).
  2. Shared Key: in the storage account open Security + networking → Access keys, reveal key1 and copy its Key value into the node's Account Key field.
  3. Microsoft Entra: in Microsoft Entra ID → App registrations create (or reuse) an app registration for Flomation. Copy its Directory (tenant) ID into Tenant ID and its Application (client) ID into Client ID, then under Certificates & secrets add a new client secret for Client Secret. On the storage account's Access control (IAM), assign that app a Storage File Data SMB Share Contributor role (or a Storage File Data Privileged role) so it can read and write the files — note that Entra calls run with backup intent and ignore per-file ACLs.
  4. In Flomation, store the secret — the account key under Shared Key, or the client secret under Entra — as an environment secret (e.g. files_secret), then pick it in the node's matching Account Key or Client Secret field.
FieldTypeDetails
AuthenticationstringShared Key, Microsoft Entra (service principal)
Account KeysecretBase64 account key — Storage Account ▸ Access keys
Client SecretsecretThe app needs a Storage File Data SMB/Privileged role. Azure requires backup intent on OAuth calls, which BYPASSES the share's file permissions — use Shared Key if the ACLs must apply
Allow Insecure TLSbooleanSkip TLS verification — only for custom endpoints with a self-signed certificate
Storage AccountstringRequiredmystorageaccount
Tenant IDstringDirectory (tenant) ID — a GUID or your-tenant.onmicrosoft.com
Client IDstringApplication (client) ID of the service principal
Custom Endpointstringhttps://myaccount.file.core.windows.net — leave blank to derive; sovereign clouds only (Azurite has no File service)
i
Pick an Environment on your flow (Flow Settings → Environment) so the secret resolves. Secret fields never show the value — they reference ${secrets.your_secret}.

02Directory

Azure Files: Create Directory

azure/files/directory_create · Action

Create a directory in a share. Azure has no mkdir -p: every parent must already exist, so nested paths need one call per level — turn on Create Parents to make those calls for you

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringRequiredreports/2026/q1
Create ParentsbooleanOn by default: create every missing level of the path. Turn off to fail when the parent is missing
Metadata (JSON)object{"team":"ops"} — applied to the leaf directory only

Returns: id, result, tool_result, success, error

Azure Files: Delete Directory

azure/files/directory_delete · Action

Delete a directory. It must be EMPTY first — unlike deleting a share, this does not cascade, and the service refuses a directory that still has anything in it

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringRequiredreports/2026/q1

Returns: id, result, tool_result, success, error

Azure Files: List Directory

azure/files/directory_get_all · Action

List a directory's contents. Unlike blob listing, which fakes hierarchy with name prefixes, this returns REAL entries — each tagged file or directory in the type field

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringLeave blank for the share's root, or e.g. reports/2026
PrefixstringOnly entries whose name starts with this
Return AllbooleanFollow pagination until every entry is fetched
LimitintegerMax entries to return when not returning all (default 50, max 5000)

Returns: results, count, tool_result, success, error

Azure Files: Get Directory Properties

azure/files/directory_get_properties · Action

Read a directory's timestamps, SMB attributes and metadata. Also the cheapest existence check — a missing directory answers ResourceNotFound

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringLeave blank for the share's root, or e.g. reports/2026

Returns: id, result, tool_result, success, error

03File

Azure Files: Copy File

azure/files/file_copy · Action

Start a server-side (async) file copy — from another file in the same account, or from any URL Azure can reach, including a blob — and optionally wait for it to complete. Handles files of any size, unlike Upload's 256 MB ceiling

FieldTypeDetails
Destination SharestringRequiredmy-share
Destination DirectorystringLeave blank for the share's root, or e.g. backups/2026
Destination File NamestringRequiredsummary.pdf
Source Share (same account)stringCopy from this account: source share name
Source Path (same account)stringCopy from this account: source path, e.g. reports/2026/summary.pdf
Source URLstringOr a full URL (public, or carrying its own SAS) — leave the two fields above blank
Wait for CompletionbooleanOn by default: poll up to 30s until the copy succeeds or fails
Lease IDstringOnly needed when the file is leased — the Lease ID output of a Lease File step

Returns: id, result, copy_status, copy_id, tool_result, success, error

Azure Files: Delete File

azure/files/file_delete · Action

Delete a file from a share. The file's directory is left in place

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringLeave blank for the share's root, or e.g. reports/2026
File NamestringRequiredsummary.pdf
Lease IDstringOnly needed when the file is leased — the Lease ID output of a Lease File step

Returns: id, result, tool_result, success, error

Azure Files: Download File

azure/files/file_download · Action

Download a file (optionally a byte range) to a file reference for downstream nodes. Text-like content up to 1 MB is also returned inline

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringLeave blank for the share's root, or e.g. reports/2026
File NamestringRequiredsummary.pdf
Byte Rangestringbytes=0-1023 — leave blank for the whole file
Lease IDstringOnly needed when the file is leased — the Lease ID output of a Lease File step

Returns: id, result, file, content, content_type, size, tool_result, success, error

Azure Files: Generate SAS Link

azure/files/file_generate_sas · Action

Create a time-limited shared access signature URL for a file or a whole share — hand out downloads or accept uploads without sharing the account key. Signed locally with the account key; no API call is made

FieldTypeDetails
Resourcestringchoices: File, Share
SharestringRequiredmy-share
File Pathstringreports/2026/summary.pdf
Permissionsstringr (read) is the default — subset of "rcwdl" (read, create, write, delete, list), in that order; list applies to a share only
Expires After (hours)integer24 unless set — ignored when an explicit expiry is given
ExpirydatetimeExplicit expiry timestamp — wins over Expires After
StartdatetimeOptional not-before timestamp (defaults to immediately valid)
Allowed IP Rangestring168.1.5.65 or 168.1.5.60-168.1.5.70
Content Dispositionstringattachment; filename="report.pdf" — forced on downloads via this link

Returns: id, result, sas_url, sas_token, expires_at, tool_result, success, error

Azure Files: Get File Properties

azure/files/file_get_properties · Action

Read a file's size, content type, timestamps and metadata without downloading it. Also the cheapest existence check

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringLeave blank for the share's root, or e.g. reports/2026
File NamestringRequiredsummary.pdf
Lease IDstringOnly needed when the file is leased — the Lease ID output of a Lease File step

Returns: id, result, size, tool_result, success, error

Azure Files: Lease File

azure/files/file_lease · Action

Take, swap, or release a write lock on a file. Acquire returns a Lease ID — pass it to the Lease ID field of any Upload/Delete/Set step to write to the locked file; every write WITHOUT it is refused while the lease is held. A file lease is INFINITE: it outlives the flow that took it, so release it. Break ends a lease you do not hold

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringLeave blank for the share's root, or e.g. reports/2026
File NamestringRequiredsummary.pdf
Lease ActionstringRequiredchoices: Acquire — take the lock, Change — swap the lock's ID, Release — hand the lock back, Break — end someone else's lock
Lease IDstringThe Lease ID output of the Acquire step — optional on Break, which does not need it
Proposed Lease IDstringA GUID to use as the lease's ID — leave blank on Acquire to let Azure choose one

Returns: id, result, lease_id, tool_result, success, error

Azure Files: List File Ranges

azure/files/file_list_ranges · Action

List the byte ranges of a file that have actually been written. Azure Files allocates sparsely, so a file's size and its written content are different questions — this answers the second one

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringLeave blank for the share's root, or e.g. reports/2026
File NamestringRequiredsummary.pdf
Byte Rangestringbytes=0-1023 — leave blank to list the whole file
Lease IDstringOnly needed when the file is leased — the Lease ID output of a Lease File step

Returns: results, count, tool_result, success, error

Azure Files: Set File Metadata

azure/files/file_set_metadata · Action

Replace a file's metadata. This is a REPLACE, not a merge — names absent from the object are removed, and an empty object clears the metadata entirely

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringLeave blank for the share's root, or e.g. reports/2026
File NamestringRequiredsummary.pdf
Metadata (JSON)objectRequired{"reviewed":"yes"} — replaces ALL existing metadata
Lease IDstringOnly needed when the file is leased — the Lease ID output of a Lease File step

Returns: id, result, tool_result, success, error

Azure Files: Upload File

azure/files/file_upload · Action

Upload content to a file in a share — inline text, base64, a flo:file reference, or an uploaded asset. Azure Files writes in two steps (allocate, then write the bytes in 4 MiB ranges), which this step does for you. Content is capped at 256 MB

FieldTypeDetails
SharestringRequiredmy-share
DirectorystringLeave blank for the share's root, or e.g. reports/2026
File NamestringRequiredsummary.pdf
ContenttextRequiredText, base64, a flo:file reference, or ${parent.file} from an upstream node
Content TypestringDetected from the content when blank (e.g. application/pdf)
Metadata (JSON)object{"source":"flomation"}
OverwritebooleanOn by default. Turn off to fail instead of replacing an existing file
Lease IDstringOnly needed when the file is leased — the Lease ID output of a Lease File step

Returns: id, result, etag, url, size, tool_result, success, error

04Share

Azure Files: Create Share

azure/files/share_create · Action

Create an SMB file share in the storage account, with an optional size quota and metadata. A share is the mount point — directories and files live inside it

FieldTypeDetails
SharestringRequiredmy-share
Quota (GiB)integerMaximum size, 1-102400 — the account default (usually 5120) when blank
Access TierstringThe account default when blank — choices: Account default, Transaction Optimized, Hot, Cool
Metadata (JSON)object{"team":"ops"}

Returns: id, result, tool_result, success, error

Azure Files: Delete Share

azure/files/share_delete · Action

Delete a file share and EVERYTHING in it — every directory and file, irrecoverably unless the account has share soft-delete enabled. Unlike a directory, a share does not have to be empty first

FieldTypeDetails
SharestringRequiredmy-share
SnapshotsstringA share with snapshots cannot be deleted unless they go too — choices: Delete the share and its snapshots, Delete the share, its snapshots, and break any snapshot leases, Fail if the share has snapshots

Returns: id, result, tool_result, success, error

Azure Files: List Shares

azure/files/share_get_all · Action

List the file shares in the storage account, optionally filtered by a name prefix and enriched with metadata, snapshots, or soft-deleted shares

FieldTypeDetails
PrefixstringOnly shares whose name starts with this
IncludecomboboxLeave blank for nothing extra; combine with commas, e.g. metadata,snapshots — choices: Metadata, Snapshots, Metadata + snapshots, Soft-deleted shares
Return AllbooleanFollow pagination until every share is fetched
LimitintegerMax shares to return when not returning all (default 50, max 5000)

Returns: results, count, tool_result, success, error

Azure Files: Get Share Properties

azure/files/share_get_properties · Action

Read a share's quota, access tier, lease state and metadata. Returns what the share is CONFIGURED as — for how much of it is actually used, use Get Share Stats

FieldTypeDetails
SharestringRequiredmy-share

Returns: id, result, tool_result, success, error

Azure Files: Get Share Stats

azure/files/share_get_stats · Action

Read how many bytes a share actually uses. The quota is what you set; this is what you spent — the number to alert on before a share fills up and writes start failing

FieldTypeDetails
SharestringRequiredmy-share

Returns: id, result, usage_bytes, tool_result, success, error

Azure Files: Set Share Metadata

azure/files/share_set_metadata · Action

Replace a share's metadata. This is a REPLACE, not a merge — names absent from the object are removed, and an empty object clears the metadata entirely

FieldTypeDetails
SharestringRequiredmy-share
Metadata (JSON)objectRequired{"team":"ops","env":"prod"} — replaces ALL existing metadata

Returns: id, result, tool_result, success, error

Azure Files: Set Share Properties

azure/files/share_set_properties · Action

Change a share's size quota or access tier. Both are optional, but at least one must be given — an empty call would silently do nothing

FieldTypeDetails
SharestringRequiredmy-share
Quota (GiB)integerNew maximum size, 1-102400 — leave blank to keep the current quota
Access TierstringLeave blank to keep the current tier — choices: Keep the current tier, Transaction Optimized, Hot, Cool

Returns: id, result, tool_result, success, error

05Notes & Limitations

Behaviours and constraints worth knowing before you build with these nodes.