Storage

Azure integration · 23 node(s).

00Overview

Work with Azure Blob Storage straight from a flow — create and list containers, upload and download files, and copy blobs of any size while organising everything with metadata and searchable index tags. Move blobs between the Hot, Cool, Cold and Archive tiers, snapshot them, soft-delete and restore them, and take write leases to guard against concurrent changes. Hand out time-limited shared access links so people can download or upload without ever seeing your account key, and search the whole account for blobs by the tags you set.

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 Storage

  1. In the Azure Portal, open your storage account and copy its name into the node's Storage Account field — the lowercase 3–24 character account name, not the full blob endpoint URL.
  2. Pick an Authentication method: Shared Key uses the account's access key (full control of the account, quickest to set up), while Microsoft Entra (service principal) uses a registered app whose access you scope with a role assignment (recommended for least privilege).
  3. For Shared Key, go to Storage account → Security + networking → Access keys, choose Show and copy either Key value into Account Key.
  4. For Microsoft Entra, register an app under Microsoft Entra ID → App registrations: copy its Directory (tenant) ID into Tenant ID and its Application (client) ID into Client ID, add a secret under Certificates & secrets for Client Secret, then on the storage account's Access control (IAM) blade assign the app a blob data role such as Storage Blob Data Contributor.
  5. Store the account key or client secret as a Flomation environment secret (e.g. storage_secret) and select it in the node's 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 Blob Data role on the account (RBAC)
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.blob.core.windows.net — leave blank to derive; Azurite: http://host:10000/devstoreaccount1
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}.

02Blob

Azure Storage: Copy Blob

azure/storage/blob_copy · Action

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

FieldTypeDetails
Destination ContainerstringRequiredmy-container
Destination Blob NamestringRequiredbackups/summary.pdf
Source Container (same account)stringCopy from this account: source container name
Source Blob (same account)stringCopy from this account: source blob name
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

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

Azure Storage: Delete Blob

azure/storage/blob_delete · Action

Delete a blob. Its snapshots are deleted with it by default (Azure refuses the delete otherwise); choose Snapshots Only to keep the blob and drop the snapshots

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf
Snapshotsstringchoices: Delete blob and snapshots (default), Delete blob and snapshots, Delete snapshots only
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

Returns: id, result, tool_result, success, error

Azure Storage: Download Blob

azure/storage/blob_download · Action

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

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf
Byte Rangestringbytes=0-1023 — leave blank for the whole blob
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

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

Azure Storage: Find Blobs by Tags

azure/storage/blob_find_by_tags · Action

Search the whole storage account for blobs whose index tags match an expression, e.g. "project"='alpha' AND "status"='final'

FieldTypeDetails
WherestringRequired"project"='alpha' — tag names in double quotes, values in single quotes
Return AllbooleanFollow pagination until every match is fetched
LimitintegerMax matches to return when not returning all (default 50, max 5000)

Returns: results, count, tool_result, success, error

Azure Storage: Generate SAS Link

azure/storage/blob_generate_sas · Action

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

FieldTypeDetails
Resourcestringchoices: Blob, Container
ContainerstringRequiredmy-container
Blob Namestringreports/2026/summary.pdf
Permissionsstringr (read) is the default — subset of "racwdxltmei", in that order
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 Storage: List Blobs

azure/storage/blob_get_all · Action

List the blobs in a container, optionally filtered by a name prefix and enriched with metadata, snapshots, versions, soft-deleted blobs, or tags

FieldTypeDetails
ContainerstringRequiredmy-container
PrefixstringOnly blobs whose name starts with this, e.g. reports/2026/
IncludecomboboxLeave blank for nothing extra; combine with commas, e.g. metadata,tags — choices: Metadata, Index tags, Metadata + index tags, Snapshots, Versions, Soft-deleted blobs, Soft-deleted blobs with versions, Uncommitted blocks (failed/abandoned uploads), Copy state, Permissions (hierarchical namespace), Immutability policy, Legal hold
Return AllbooleanFollow pagination until every blob is fetched
LimitintegerMax blobs to return when not returning all (default 50, max 5000)

Returns: results, count, tool_result, success, error

Azure Storage: Get Blob Properties

azure/storage/blob_get_properties · Action

Fetch a blob's properties and metadata (size, tier, lease, copy status) via HEAD — without downloading its content

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

Returns: id, result, tool_result, success, error

Azure Storage: Get Blob Tags

azure/storage/blob_get_tags · Action

Read a blob's index tags as a plain object

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

Returns: id, result, tool_result, success, error

Azure Storage: Lease Blob

azure/storage/blob_lease · Action

Take, extend, or release a write lock on a blob. Acquire returns a Lease ID — pass it to the Lease ID field of any Upload/Delete/Set step to write to the locked blob; every write WITHOUT it is refused while the lease is held. Break ends a lease you do not hold

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf
Lease ActionstringRequiredchoices: Acquire — take the lock, Renew — extend the lock you hold, 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
Duration (seconds)integer15-60 seconds, or -1 to hold the lease until it is released
Break Period (seconds)integer0-60 — how long the lease may still run. 0 ends it immediately. Blank lets it run out its remaining time

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

Azure Storage: Set Blob Metadata

azure/storage/blob_set_metadata · Action

Replace a blob's metadata without re-uploading its content. The metadata object supplied here becomes the blob's ENTIRE metadata set — keys not included are removed

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf
Metadata (JSON)objectRequired{"reviewed":"true"} — replaces ALL existing metadata
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

Returns: id, result, tool_result, success, error

Azure Storage: Set Blob Properties

azure/storage/blob_set_properties · Action

Change a blob's HTTP properties (content type, cache control, disposition, encoding, language) without re-uploading. CAUTION: Azure treats this as a replace — any of the five properties left blank here is CLEARED on the blob

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf
Content Typestringapplication/pdf
Cache Controlstringmax-age=3600
Content Dispositionstringattachment; filename="summary.pdf"
Content Encodingstringgzip
Content Languagestringen-GB
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

Returns: id, result, tool_result, success, error

Azure Storage: Set Blob Tags

azure/storage/blob_set_tags · Action

Replace a blob's index tags (up to 10 searchable key/value pairs). The tags supplied here become the blob's ENTIRE tag set

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf
Tags (JSON)objectRequired{"project":"alpha","status":"final"} — replaces ALL existing tags
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

Returns: id, result, tool_result, success, error

Azure Storage: Set Blob Tier

azure/storage/blob_set_tier · Action

Change a block blob's access tier (Hot/Cool/Cold/Archive). Moving OUT of Archive starts a rehydration that can take hours — High priority speeds it up

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf
Access TierstringRequiredchoices: Hot, Cool, Cold, Archive
Rehydrate Prioritystringchoices: Default, Standard, High
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

Returns: id, result, tool_result, success, error

Azure Storage: Snapshot Blob

azure/storage/blob_snapshot · Action

Create a read-only point-in-time snapshot of a blob. The returned snapshot ID (a timestamp) addresses it later via ?snapshot=

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf

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

Azure Storage: Undelete Blob

azure/storage/blob_undelete · Action

Restore a soft-deleted blob and its snapshots. The account must have blob soft delete enabled and the retention window must not have lapsed

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.pdf

Returns: id, result, tool_result, success, error

Azure Storage: Upload Blob

azure/storage/blob_upload · Action

Upload content to a block blob — inline text, base64, a flo:file reference, or an uploaded asset. Replaces the blob unless Overwrite is turned off. Uploads as a single Put Blob, so content is capped at the platform's 256 MB download/upload ceiling

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequiredreports/2026/summary.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)
Access Tierstringchoices: Account default, Hot, Cool, Cold, Archive
Metadata (JSON)object{"source":"flomation"}
Index Tags (JSON)object{"project":"alpha"} — up to 10 searchable tags
OverwritebooleanOn by default. Turn off to fail instead of replacing an existing blob
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

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

Azure Storage: Upload Blob from URL

azure/storage/blob_upload_from_url · Action

Create a block blob by having Azure fetch a publicly reachable URL server-side (synchronous, up to 256 MB). For larger or cross-account copies use Copy Blob

FieldTypeDetails
ContainerstringRequiredmy-container
Blob NamestringRequireddownloads/report.pdf
Source URLstringRequiredhttps://example.com/file.pdf — must be reachable by Azure, or carry its own SAS

Returns: id, result, tool_result, success, error

03Container

Azure Storage: Create Container

azure/storage/container_create · Action

Create a blob container in the storage account, optionally with a public access level and metadata

FieldTypeDetails
Container NamestringRequiredmy-container — 3-63 lowercase letters, digits and hyphens
Public Accessstringchoices: Private (default), Blob (anonymous read for blobs), Container (anonymous read and list)
Metadata (JSON)object{"project":"alpha"}

Returns: id, result, tool_result, success, error

Azure Storage: Delete Container

azure/storage/container_delete · Action

Delete a container and every blob in it. The container is soft-deleted when the account has delete retention enabled, otherwise this is permanent

FieldTypeDetails
Container NamestringRequiredmy-container
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

Returns: id, result, tool_result, success, error

Azure Storage: Get Container

azure/storage/container_get · Action

Fetch a container's properties and metadata (lease state, public access level, immutability flags)

FieldTypeDetails
Container NamestringRequiredmy-container
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

Returns: id, result, tool_result, success, error

Azure Storage: List Containers

azure/storage/container_get_all · Action

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

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

Returns: results, count, tool_result, success, error

Azure Storage: Lease Container

azure/storage/container_lease · Action

Take, extend, or release a lock on a container. A container lease guards the container itself — deleting it, or changing its metadata — not the blobs inside it. Acquire returns a Lease ID to pass to the Lease ID field of a Delete Container or Set Container Metadata step

FieldTypeDetails
Container NamestringRequiredmy-container
Lease ActionstringRequiredchoices: Acquire — take the lock, Renew — extend the lock you hold, 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
Duration (seconds)integer15-60 seconds, or -1 to hold the lease until it is released
Break Period (seconds)integer0-60 — how long the lease may still run. 0 ends it immediately. Blank lets it run out its remaining time

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

Azure Storage: Set Container Metadata

azure/storage/container_set_metadata · Action

Replace a container's metadata. The metadata object supplied here becomes the container's ENTIRE metadata set — keys not included are removed

FieldTypeDetails
Container NamestringRequiredmy-container
Metadata (JSON)objectRequired{"project":"alpha"} — replaces ALL existing metadata
Lease IDstringOnly needed when the blob or container is leased — the Lease ID output of a Lease step

Returns: id, result, tool_result, success, error

04Notes & Limitations

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