Resources · n8n integration

AWS S3 n8n integrationAutomate AWS S3 with n8n.

Every file a workflow produces can land in a bucket the second it exists. The AWS S3 n8n integration is one node, 12 operations and 3 resources: Bucket, File and Folder. It uploads, downloads, copies, lists and removes, for teams that already store on S3 and want the workflow to do the moving.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the AWS S3 n8n integration actually cover?

The AWS S3 node is the one n8n ships for Amazon S3, and it works on three things: buckets, files and folder keys. Twelve operations in total, split as four on buckets, five on files and three on folders. The AWS credential, the stored login n8n keeps for you, is created once in the Credentials menu and every workflow then picks it from the node dropdown.

The first job most teams hand it is storage at the end of a chain. A workflow renders a PDF, or pulls the rows it needs out of Google Sheets and turns them into a CSV, then Upload a file drops the result into a bucket under a file name the workflow composes, an invoice number and a month for instance. Create a folder and its Parent Folder Key keep that tidy when one folder per client reads better than a flat list of keys.

The second runs the other way. Download a file pulls an object into a binary field, the container n8n uses for file data rather than text, and the next node passes it on: an attachment on a message in Slack, a file sent through Gmail, or a payload handed to a parsing service. The bucket is left exactly as it was.

Third comes housekeeping, which is where the list operations earn their place. Get many files shows what a bucket holds, Search a bucket narrows it with Prefix when keys follow a convention, and Delete a file or Delete a folder clears what a retention rule no longer needs. Copy a file writes a second copy elsewhere, and its Storage Class field can send that copy to Glacier or Deep Archive.

Twelve operations do not cover the whole S3 API. For anything the node leaves out, the HTTP Request node calls any endpoint of the API and reuses the same AWS credential through predefined authentication, so one set of keys still runs the workflow. Reaching for it is normal practice here, not a sign that something went wrong.

Two limits are worth knowing before you build. There is no AWS S3 trigger node in n8n, so the workflow starts elsewhere, most often on a Schedule Trigger that runs at a fixed interval. And any list operation stops at Limit unless Return All is on, the setting that quietly truncates results once a bucket grows past what a test run showed.

Two other pages help when the ground is still moving. The n8n review is the place to start if the platform choice is not settled, and the n8n training if a team would rather learn the node than call a freelance every time a workflow breaks.

Connect

How do you connect AWS S3 to n8n?

  1. 01

    Create an access key in the IAM console

    In the IAM console, open your user name in the upper right, then Security credentials. Under Access keys, select Create access key and pick a use case, or Other when nothing fits. Set a description tag such as n8n integration so the key stays recognizable, then reveal the Access Key ID and the Secret Access Key.

  2. 02

    Save the AWS (IAM) credential in n8n

    Open Credentials in n8n and create an AWS (IAM) credential. Select your AWS Region first, then paste the Access Key ID and the Secret Access Key. Working with short-lived keys instead, turn on the temporary security credential option and add the Session token. The credential is stored once and shows up in every workflow that needs it.

  3. 03

    Point the AWS S3 node at that credential

    Add the AWS S3 node, choose the credential in its dropdown, then set Resource and Operation. Teams that would rather not keep static keys in n8n use the AWS (Assume Role) credential instead: it authenticates by assuming an IAM role through AWS STS, and the keys for that call are either typed in or read from the environment n8n runs in, which is the route for an instance self-hosted on EKS, ECS or EC2.

Actions

Every AWS S3 operation, one by one

The AWS 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

A new bucket appears in the account behind the credential, and the workflow carries on with that name. Useful when each client needs its own storage space, not a shared prefix.

Key parameters

  • Name: the name of the bucket to create, typed in or built from an expression, the n8n syntax that reads a value from the incoming item, such as {{ $json.client_slug }}.
  • Region: in Additional Fields, the region the bucket is created in; left empty, n8n uses the region on the credential.
  • ACL: the canned ACL applied to the bucket, from Private to publicRead.
Use cases
opening a dedicated bucket when a new account is created upstream, so nothing needs renaming later.
02

Delete a bucket

bucket.delete

What you see in n8n

Notes & use cases

One field is all this operation asks for, which makes it easy to wire at the end of a lifecycle: a bucket created for a single batch, removed once the batch is confirmed.

Key parameters

  • Name: the name of the AWS S3 bucket to delete, usually carried from an earlier node with an expression like {{ $json.bucket }} rather than typed by hand.
Use cases
clearing the per run buckets a test pipeline creates, so an account does not slowly fill with leftovers nobody dares to touch.
03

Get many buckets

bucket.getAll

What you see in n8n

Notes & use cases

Nothing is required here: n8n returns the buckets the credential can see, one item per bucket, ready for a loop or a filter downstream.

Key parameters

  • Return All: switched on, n8n walks the pages of the API until every bucket is back.
  • Limit: the maximum number of buckets returned while Return All stays off, which is plenty for a check inside the editor.
Use cases
an inventory workflow that lists the buckets, then runs Search a bucket on each one to report where a naming convention slipped.

File

5 operations
05

Copy a file

file.copy

What you see in n8n

Notes & use cases

Copying writes the object to a second path and leaves the source alone. Both paths start with a slash, then the bucket, then the key, as in /bucket/my-image.jpg.

Key parameters

  • Source Path: the source bucket and the key of the source object, separated by a slash.
  • Destination Path: the destination bucket and the key to write, for example /bucket/my-second-image.jpg.
  • Storage Class: in Additional Fields, where the copy lands, from standard to glacier or deepArchive.
  • Metadata Directive: copy keeps the metadata of the source object, replace uses what the request provides.
Use cases
filing last quarter's exports into an archive bucket on a colder storage class.
06

Delete a file

file.delete

What you see in n8n

Notes & use cases

Removing an object needs the bucket and the exact key, and nothing more unless the bucket keeps versions.

Key parameters

  • Bucket Name: the bucket holding the object.
  • File Key: the full key of the object, folder prefix included.
  • Version ID: in Options, targets one version of the object instead of the current one.
Use cases
the closing step of a processing chain, where the source file goes once the workflow has written its result somewhere else and logged the run.
07

Download a file

file.download

What you see in n8n

Notes & use cases

The object comes back as binary data attached to the item rather than as text in a field, which is what the nodes downstream expect when they send or parse a file.

Key parameters

  • Bucket Name: the bucket to read from.
  • File Key: the key of the object to download.
  • Put Output File in Field: the name of the output binary field the file is placed in, and the name every later node has to read.
Use cases
fetching a signed contract from the bucket to attach it to the message that confirms a renewal.
08

Get many files

file.getAll

What you see in n8n

Notes & use cases

Objects in a bucket come back one item at a time, and a folder key narrows the list before the workflow starts looping over it.

Key parameters

  • Bucket Name: the bucket to read.
  • Folder Key: in Options, restricts the listing to one folder instead of the whole bucket.
  • Return All: leave it off while building, because the run then stops at Limit rather than walking a bucket with thousands of keys in it.
Use cases
a nightly workflow that lists whatever landed in an inbox folder, processes each item, then files it away with Copy a file.
09

Upload a file

file.upload

What you see in n8n

Notes & use cases

Whatever the previous node produced ends up in the bucket under the name you choose, as binary data or as plain text typed into the node.

Key parameters

  • Bucket Name: the destination bucket.
  • File Name: the key written in the bucket, hello.txt or a name built from the item.
  • Binary File and Input Binary Field: turn Binary File on and name the input binary field holding the file; turn it off and File Content takes the text to store.
  • Parent Folder Key: in Additional Fields, the folder the file is created in.
Use cases
archiving the PDF a workflow just generated, before the email carrying it goes out.

Folder

3 operations
10

Create a folder

folder.create

What you see in n8n

Notes & use cases

n8n writes a folder key into the bucket, so later operations can address files by folder instead of through one long flat key.

Key parameters

  • Bucket Name: the bucket the folder belongs to.
  • Folder Name: the name of the folder to create.
  • Parent Folder Key: in Additional Fields, the folder you want to create it in, which is how a second level appears.
  • Storage Class: also in Additional Fields, from standard to intelligentTiering or onezoneIA.
Use cases
opening a folder per month at the start of a billing run, then pointing every Upload a file of that run at it.
11

Delete a folder

folder.delete

What you see in n8n

Notes & use cases

Two fields, no options, no room for a surprise: the bucket and the folder key, and the folder is gone.

Key parameters

  • Bucket Name: the bucket that holds the folder.
  • Folder Key: the key of the folder to remove, as it appears in the bucket.
Use cases
closing an archive cycle, where a folder goes only after its content has been copied to another bucket and that copy has been listed back as a check.
12

Get many folders

folder.getAll

What you see in n8n

Notes & use cases

Folders sitting in a bucket come back as items, which gives a workflow a map of the place before it decides where to write.

Key parameters

  • Bucket Name: the bucket to inspect.
  • Folder Key: in Options, the folder whose content gets listed instead of the bucket root.
  • Fetch Owner: the owner field is absent from the response by default, so switch it on to get the owner with each key.
Use cases
checking whether the folder of the current client already exists before a workflow creates a duplicate next to it.
Need help

Need help automating AWS S3 with n8n?

A person reads every message.

FAQ

AWS S3 and n8n, common questions

01Is the AWS S3 n8n integration free?
Yes, on the n8n side. The AWS S3 node ships with n8n, so there is nothing to install and no add-on to buy for the connector itself. It behaves the same on n8n Cloud, the hosted offer run by n8n, and on a self-hosted instance installed with Docker or npm under the Community Edition and its Sustainable Use license. Same workflow, same 12 operations, same credential types, wherever it runs. What the AWS account itself costs sits outside this page and depends on your own setup there. The budget line to plan for on the n8n side is the time it takes to design the workflow, not a license for the node.
02Which AWS credentials does the n8n node need?
Two credential types work with this node. AWS (IAM) authenticates with an access key: pick your AWS Region, then paste the Access Key ID and the Secret Access Key generated in the IAM console. For a short-lived key, turn on the temporary security credential option and add the session token. AWS (Assume Role) takes another route and authenticates by assuming an IAM role through AWS STS, with the keys used for that call either entered by hand or read from the environment n8n runs in, which suits an instance self-hosted on EKS, ECS or EC2. Either way, a credential is created once in n8n and every workflow picks it from the node dropdown.
03What are the limits of the AWS S3 node?
The node covers 12 operations over 3 resources, and nothing beyond that list. Everything else on the S3 API goes through the HTTP Request node, which calls any endpoint and reuses the same AWS credential with predefined authentication, so no second set of keys has to be managed. The other limit is pagination: a list operation returns everything only when Return All is on, otherwise it stops at the number set in Limit. That one is easy to miss, because a test bucket holds few keys while the production bucket holds many. The third point, the absence of a trigger node, is covered in the next answer.
04Does AWS S3 trigger an n8n workflow in real time?
No, because n8n does not ship an AWS S3 trigger node. A workflow that works with S3 starts somewhere else: a Schedule Trigger that runs at a fixed interval, an n8n Webhook, meaning a URL a third-party service calls when something happens on its side, or the trigger of another tool in the chain. From there, Get many files or Search a bucket reports what the bucket holds and the workflow compares that against what it already processed. The practical consequence is a delay equal to the interval you set, so choose that interval against how fast the business actually needs the file.
05n8n or Make for AWS S3?
It depends on where the data has to live and how you want to pay for it. n8n runs self-hosted with Docker or npm, or on n8n Cloud, so a team with a rule about where files and keys stay can keep the whole chain on its own infrastructure. Make is hosted only, with no self-hosting option, and its billing counts operations, which is predictable when volume is stable and less so when a bucket listing loops over many items. Both draw the workflow visually. The real criteria are hosting, control over the data passing through, the cost model, and which visual logic your team reads faster.