Resources · n8n integration

S3 n8n integrationAutomate S3 with n8n.

Your objects sit on MinIO, Wasabi or DigitalOcean Spaces, and a workflow needs to reach them. The S3 n8n integration covers 12 operations across 3 resources: buckets, files and folders. Nothing listens on its own, so another node starts the run. Built for teams running their own object storage.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the S3 n8n integration actually cover?

The S3 node talks to any S3-compatible storage that is not AWS: MinIO, Wasabi, DigitalOcean Spaces or Tigris. You give n8n an endpoint URL, a region and an access key pair, and the node then creates, reads and deletes buckets, files and folders from inside a workflow. For Amazon's own service n8n ships a separate AWS S3 node, and the two are not interchangeable: the credential shapes differ, so picking the wrong one is the first thing to check when a connection fails.

First scenario, a nightly export that leaves no trace on anyone's laptop. A Schedule Trigger fires, a query against Postgres returns the day's rows, the workflow assembles them into CSV text, and file.upload writes that text straight into a dated folder key using the File Content parameter. No binary handling, no local disk.

Second scenario, generated assets. An HTTP Request node fetches an image or a rendered document and hands it over as binary data, file.upload stores it under a predictable key, and the key goes into a tracking row in Google Sheets. This is the pattern behind the published S3 templates, which pair the node with HTTP Request and nothing else.

Third scenario, intake. A Webhook node receives a document from a form or a partner system, the file lands in a per-client bucket created earlier by bucket.create, and a message in Slack carries the resulting key so somebody can act on it. Uploads need the file to arrive as a data property from another node, such as Read/Write Files from Disk or HTTP Request.

When to reach for HTTP Request instead: the node exposes 12 operations, and that is the whole surface. Anything else your provider's S3 API offers is one HTTP Request node away, reusing the same credential through predefined authentication, which keeps the keys in one place.

Known limits worth planning around. There is no S3 trigger, so nothing here reacts to a new object by itself. There is no move or rename either, so relocating an object means file.copy then file.delete. Listing operations stop at Limit unless Return All is on, which matters on buckets holding thousands of keys. And on Wasabi, permissions have to go through the ACL dropdown, not the individual grant toggles. If object storage is new territory for the team, the n8n training covers credentials and expressions before you wire this to production data.

Connect

How do you connect S3 to n8n?

  1. 01

    Create the access key on your provider

    Every S3-compatible provider hands out a pair. On DigitalOcean Spaces it lives under Settings, then the API page, then the Spaces Keys tab, where Generate New Key gives you a Key and a Secret. On Tigris it is the Access Keys section of the console, where the identifier starts with tid_ and the secret with tsec_. That secret is shown once, so copy it before closing the page.

  2. 02

    Fill the S3 credential in n8n

    Open Credentials in n8n, pick S3 and paste four values. S3 Endpoint is the URL of the storage backend, with https:// in front. Region is the region your bucket sits in, sometimes called the region slug, such as nyc3 on Spaces or auto on Tigris. Then Access Key ID and Secret Access Key from the previous step.

  3. 03

    Set the two addressing toggles

    Force Path Style switches the connection to path-style addressing for buckets. DigitalOcean Spaces and Tigris both expect it off, because they use the virtual-hosted format. Ignore SSL Issues lets n8n connect even when certificate validation fails, which is sometimes needed against a self-hosted MinIO with its own certificate. Leave it off otherwise. Save once and every workflow can select this credential.

Actions

The 12 operations of the S3 node

The S3 node exposes 12 operations across 3 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGet ManyDeleteCopyDownloadSearchUpload
Bucket✓✓✓✓
File✓✓✓✓✓
Folder✓✓✓

Bucket

4 operations
01

Create a bucket

bucket.create

What you see in n8n

Notes & use cases

Creates a bucket on the storage backend behind the credential. It lands in the region set on that credential unless the call says otherwise.

Key parameters

  • Name: the bucket name, often an expression such as {{ $json.account_slug }} when one workflow provisions storage per account.
  • ACL: the canned ACL applied at creation, from Authenticated Read to Public Read Write. Private keeps the bucket closed to anonymous callers.
  • Region: only needed when the bucket belongs somewhere other than the credential's region.
Use cases
onboarding a customer who gets isolated storage, created by the same workflow that creates the account record.
02

Delete a bucket

bucket.delete

What you see in n8n

Notes & use cases

Hands a bucket name to the server and the bucket goes away. There is no confirmation step in the node, so whatever the expression resolves to is what gets destroyed.

Key parameters

  • Name: the name of the bucket to delete, typed in or pulled from an earlier item with {{ $json.Name }}.
Use cases
tearing down the sandbox bucket a test run created, or clearing storage left behind by an account that churned months ago.
03

Get many buckets

bucket.getAll

What you see in n8n

Notes & use cases

Returns the buckets the access key can see, one n8n item per bucket. Handy as a first step when a workflow has to know what already exists before it writes anything.

Key parameters

  • Return All: on, n8n pages through the API until every bucket has come back; off, it stops at Limit.
  • Limit: the ceiling on how many buckets come back when Return All is off.
Use cases
a monthly storage inventory, or a guard that checks a client bucket exists before the upload step runs.

File

5 operations
05

Copy a file

file.copy

What you see in n8n

Notes & use cases

Duplicates an object from one location to another without the bytes travelling through n8n. Both paths start with a slash and the bucket name, then the object key.

Key parameters

  • Source Path: bucket and key of the original, in the form /bucket/my-image.jpg.
  • Destination Path: where the copy goes, same format, for example /bucket/my-second-image.jpg.
  • Metadata Directive: Copy keeps the source metadata, Replace swaps in what the request provides.
  • Storage Class: the class the copy is written to, from Standard down to Deep Archive.
Use cases
promoting a validated document from an incoming bucket to the processed one.
06

Delete a file

file.delete

What you see in n8n

Notes & use cases

Targets one object by its key and removes it from the bucket. On a versioned bucket the call can aim at a specific version instead of the current one.

Key parameters

  • Bucket Name: the bucket holding the object.
  • File Key: the full key of the object, folder prefix included.
  • Version ID: an optional field in Options that points the deletion at one version.
Use cases
the second half of a move, right after Copy a file, or a retention rule that clears exports once they are older than the window you keep.
07

Download a file

file.download

What you see in n8n

Notes & use cases

Pulls one object out of the bucket and hands it to the rest of the workflow as binary data, ready for a node that emails, parses or re-uploads it.

Key parameters

  • Bucket Name: where the object lives.
  • File Key: the key to fetch, typically {{ $json.Key }} coming from Get many files.
  • Put Output File in Field: the name of the output binary field the file is placed in, which the next node has to point at.
Use cases
fetching a stored PDF so Gmail can send it as an attachment.
08

Get many files

file.getAll

What you see in n8n

Notes & use cases

Walks the contents of a bucket and returns one item per object, with its key and metadata. Pair it with Download a file when the workflow needs the bytes too.

Key parameters

  • Bucket Name: the bucket to list.
  • Folder Key: narrows the listing to one folder instead of the whole bucket.
  • Fetch Owner: off by default in the listing response, turn it on to get the owner field on each key.
  • Return All: on, every object comes back; off, Limit caps the batch.
Use cases
a daily count of files dropped by a partner into their upload folder.
09

Upload a file

file.upload

What you see in n8n

Notes & use cases

Writes a file into the bucket, either from a binary field produced upstream or from text typed into the node. This is the operation most S3 workflows are built around.

Key parameters

  • Bucket Name: the destination bucket.
  • File Name: the name the object takes, such as hello.txt.
  • Input Binary Field: the input binary field holding the file, fed by Read/Write Files from Disk or HTTP Request.
  • Binary File: off, the node uses File Content, the text you provide, instead of a binary field.
  • ACL: on Wasabi, permissions must be set through this dropdown rather than the grant toggles.
Use cases
archiving a signed contract the moment the webhook receives it.

Folder

3 operations
10

Create a folder

folder.create

What you see in n8n

Notes & use cases

Folders in S3 are a naming convention rather than real directories, and this operation writes the key that makes one show up in the console and in listings.

Key parameters

  • Bucket Name: the bucket the folder goes into.
  • Folder Name: the folder's own name, without the parent path.
  • Parent Folder Key: the folder you want to create this one inside, which is how nesting is expressed.
  • Storage Class: from Standard to Reduced Redundancy, depending on what gets stored there.
Use cases
opening a folder per month at the start of an export workflow.
11

Delete a folder

folder.delete

What you see in n8n

Notes & use cases

Removes a folder from a bucket by its key. Since folders are keys, the operation is about the structure rather than about the individual objects a workflow may have put there.

Key parameters

  • Bucket Name: the bucket concerned.
  • Folder Key: the key of the folder to drop, parent path included.
Use cases
closing a project space once its deliverables have been copied to long-term storage, or cleaning temporary folders a workflow created earlier in the run.
12

Get many folders

folder.getAll

What you see in n8n

Notes & use cases

Lists the folders inside a bucket, one item each, so a workflow can loop over them without knowing the structure ahead of time.

Key parameters

  • Bucket Name: the bucket to explore.
  • Folder Key: restricts the answer to what sits under one folder.
  • Return All: on, the node pages through everything; off, Limit sets the maximum returned.
  • Fetch Owner: adds the owner field to each key in the result.
Use cases
iterating over one folder per client to run the same archiving step on each of them.
Need help

Need help automating S3 with n8n?

A person reads every message.

FAQ

S3 and n8n, the questions that come up

01Is the S3 n8n integration free?
Yes on the n8n side. The S3 node ships with n8n, so there is nothing to install and nothing extra to pay, whether you run n8n Cloud or a self-hosted instance under the Community Edition and its Sustainable Use licence. A workflow behaves the same way in both. What you pay for is the storage itself, and that is between you and your provider, since the node only signs requests against the endpoint you give it. Adding a second bucket, a second provider or a second workflow changes nothing on the n8n side of the bill.
02What credentials does the S3 node need?
One S3 credential, built on the S3 endpoint method. You provide four values: S3 Endpoint, the URL of the storage backend, Region, which some providers call the region slug, Access Key ID, the access key your provider issues for the bucket or space, and Secret Access Key, its matching secret. Two toggles complete it: Force Path Style for path-style bucket addressing, and Ignore SSL Issues for backends whose certificate fails validation. Created once under Credentials, the credential is then available in every workflow.
03What are the limits of the S3 node in n8n?
The node stops at 12 operations over 3 resources, so anything else in your provider's S3 API needs an HTTP Request node, which can reuse the same credential through predefined authentication. There is no move or rename: relocating an object is Copy a file followed by Delete a file. Listings return up to Limit unless Return All is on. Uploads expect the file to arrive as a data property from another node. And on Wasabi, file permissions have to be set with the ACL dropdown, not the grant toggles.
04Can n8n react when a file lands in a bucket?
Not directly, because this integration has no trigger node. A workflow that involves S3 starts somewhere else: a Schedule Trigger that runs the check at a fixed interval, a Webhook node called by your provider or by an application that already knows about the new object, or the trigger of another tool in the chain. The common pattern is a scheduled Get many files or Search a bucket, comparing what came back against what the workflow processed on its previous run.
05n8n or Make for S3-compatible storage?
It depends on where the data has to sit. n8n can be self-hosted with Docker or npm, which means buckets, keys and workflow logs stay on infrastructure you control, and it is also available as n8n Cloud. Make is hosted only, with no self-hosting option, and is billed per operation, so a workflow that lists thousands of keys has a very different cost profile. Make offers a visual builder many teams find quicker to read. Storage keys are sensitive, which tends to push the decision toward the option you host yourself.