Resources · n8n integration

Google Cloud Storage n8n integrationAutomate Google Cloud Storage with n8n.

Files pile up faster than anyone can move them by hand. The Google Cloud Storage n8n integration puts 10 operations and 2 resources, buckets and objects, inside a workflow. No trigger node ships with it, so a schedule or a webhook starts the run. Built for teams whose exports and renders land somewhere daily.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Google Cloud Storage n8n integration actually do?

The node connects a workflow to the buckets of your Google Cloud project. It handles two kinds of things: buckets, which are the containers, and objects, which are the files inside them. The 10 operations cover create, read, update and delete on both, so one workflow can set up a bucket, write a file into it, adjust that file's metadata and clear it out later without anyone opening the Google Cloud Console.

Take a nightly export. A Schedule Trigger runs at a fixed time, a Postgres query pulls yesterday's orders, and object.create writes the result into a bucket under a dated name. Nothing else in the workflow needs to change when the export grows, since the same two fields, Bucket Name and Object Name, carry whatever the query returns.

Second case, rendering. A Google Sheets row lists the videos to produce, an HTTP Request node downloads the rendered file, and object.create stores it with Use Input Binary Field turned on. A follow-up object.update sets the metadata the browser reads when the file is served.

Third case, housekeeping. object.getAll lists what sits under a staging prefix, an IF node keeps the entries older than the cutoff, object.delete removes them one by one, and a message goes to Slack with the count. Run it weekly and the staging area stops growing on its own.

Credentials are made once in n8n and reused everywhere, so the same Google connection serves this node and every other Google node in the instance. When a workflow needs something the 10 catalogued operations don't cover, the HTTP Request node calls any Cloud Storage API endpoint and reuses that same credential through predefined authentication.

The node fits teams who already store in Google Cloud and want the file steps to stop being manual. If you are still comparing platforms before committing, the n8n review goes through the trade-offs, and n8n training covers building the first workflows end to end. Start with one file movement that someone currently does by hand, get it running, and add the next one on top of a credential that already works.

Connect

How do you connect Google Cloud Storage to n8n?

  1. 01

    Pick the authentication method

    The node accepts two credential types: OAuth2, and Service Account, marked as recommended in the list. OAuth2 connects as a person and is the easier of the two to set up. A service account connects as the workflow itself, which suits a pipeline that has to keep running when the person who built it is gone. Google's own guidance is to take OAuth2 for most cases and the service account when you know why you need one.

  2. 02

    Create the OAuth2 credential

    On n8n Cloud, Managed OAuth2 is available for some Google nodes: click Sign in with Google in the credential screen and nothing else is needed on the Google side. Otherwise, and always on a self-hosted instance, switch the dropdown to Custom OAuth2, create a Web application client in the Google Cloud Console, paste the OAuth Redirect URL shown by n8n into the Authorized redirect URIs, and bring the Client ID and Client Secret back.

  3. 03

    Or hand over a service account key

    In the Google Cloud Console, go to APIs & Services, then Credentials, and pick Create credentials, then Service account. Open the new account, go to the Keys tab, choose Add key, then Create new key, and select JSON. Google downloads the file. Open it, copy client_email into Service Account Email in n8n, and copy private_key into Private Key.

Actions

What can the Google Cloud Storage node do?

The Google Cloud Storage node exposes 10 operations across 2 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDelete
Bucket
Object

Bucket

5 operations
01

Create a new Bucket

bucket.create

What you see in n8n

Notes & use cases

Creates a bucket in the Google Cloud project you name. That bucket becomes the destination every object operation later points at.

Key parameters

  • Project ID: the project the bucket belongs to, taken from the project selector in the Google Cloud Console.
  • Bucket Name: the name of the new bucket, reused as written in every object operation that follows.
  • Location: where the bucket's data sits, one of the optional parameters and easier to set now than to revisit.
  • Predefined ACL: a ready-made access rule for the bucket itself, from private to publicRead.
Use cases
giving each new client its own bucket at signup, instead of piling every account's files into one shared container.
02

Delete an empty Bucket

bucket.delete

What you see in n8n

Notes & use cases

Removes a bucket from the project. The wording matters: the bucket has to be empty, so an object.getAll and object.delete pass normally runs first.

Key parameters

  • Bucket Name: the bucket to remove, spelled exactly as it was created.
  • Metageneration Match: a filter that lets the call go through only if the bucket's metageneration value matches the one you send, which stops a delete that fires against a bucket someone edited in between.
Use cases
tearing down the temporary buckets a test pipeline created, once the run has been archived elsewhere.
03

Get a Bucket

bucket.get

What you see in n8n

Notes & use cases

Returns the metadata of one bucket. Nothing is written, so it is the safe way to check a bucket's configuration before a workflow acts on it.

Key parameters

  • Bucket Name: the bucket to read, often carried from an earlier node with an expression such as {{ $json.field }}.
  • Projection: full returns All Properties, noAcl returns the metadata without the access control entries, which keeps the item lighter for the nodes downstream.
Use cases
a monthly configuration check that reads each bucket and flags the ones whose settings drifted from the template.
04

Get a list of Buckets for a given project

bucket.getAll

What you see in n8n

Notes & use cases

Lists the buckets of a project, one item per bucket, ready to loop over.

Key parameters

  • Project ID: the project to inventory, the same identifier used when creating a bucket.
  • Prefix: filters on bucket names, so a naming convention like a client code in front gives you that client's buckets and nothing else.
  • Return All: on, n8n walks the API pages until every bucket has come back; off, it stops at the limit you set.
Use cases
building the storage inventory a finance team asks for, one row per bucket in a spreadsheet.
05

Update the metadata of a Bucket

bucket.update

What you see in n8n

Notes & use cases

Changes the settings of an existing bucket without touching a single file inside it.

Key parameters

  • Bucket Name: the bucket to modify.
  • Labels: user provided labels in key and value pairs, the usual way to tag a bucket with an owner, an environment or a cost centre.
  • Versioning: the bucket's versioning configuration, sent as JSON.
Use cases
relabelling buckets after a reorganisation, so the storage bill can be split by team without anyone renaming anything.

Object

5 operations
06

Create an object

object.create

What you see in n8n

Notes & use cases

Writes a file into a bucket. It takes either a binary file already in the run or plain text composed in n8n.

Key parameters

  • Bucket Name and Object Name: the destination and the file name, often built with an expression like {{ $json.field }}.
  • Use Input Binary Field: turn it on when the content comes from a binary field, then name that field in Input Binary Field.
  • File Content: the text to upload when there is no binary field, such as a CSV built in the workflow.
  • Content Type: one of the Create Fields, it tells a browser what the file is.
Use cases
archiving each signed contract under the client folder as soon as the signature comes back.
07

Delete an object from a bucket

object.delete

What you see in n8n

Notes & use cases

Erases one file. Point it at a bucket and a name, and that entry is gone.

Key parameters

  • Bucket Name: the bucket holding the file.
  • Object Name: the exact name of the object, including any prefix that acts as a folder in the path.
  • Generation: selects a specific revision of the chosen object, useful when a bucket keeps several versions of the same name.
Use cases
clearing the intermediate renders a video pipeline leaves behind once the final file has been published.
08

Get object data or metadata

object.get

What you see in n8n

Notes & use cases

Fetches one object, and you decide whether you want the file itself or the information about it.

Key parameters

  • Bucket Name and Object Name: the file to read.
  • Return Data: json gives the Metadata, media gives the Object Data, which is the file content.
  • Put Output File in Field: the name of the output binary field the file lands in, so the next node can attach or transform it.
Use cases
pulling a stored PDF back out to attach it to an email, without anyone downloading it by hand first.
09

Get a list of objects

object.getAll

What you see in n8n

Notes & use cases

Lists what a bucket contains, as one item per object.

Key parameters

  • Bucket Name: the bucket to browse.
  • Prefix: keeps only the names that start with this value, which is how you list a single folder.
  • Return All and Limit: all the pages, or a maximum number of results per run.
  • Delimiter: returns results in a directory-like mode, using this value as the separator.
Use cases
checking each morning that yesterday's exports actually arrived, and raising an alert when the folder is empty.
10

Update an object's metadata

object.update

What you see in n8n

Notes & use cases

Rewrites the information attached to a file that is already stored. The bytes stay where they are.

Key parameters

  • Bucket Name and Object Name: the object to edit.
  • Cache Control: one of the Update Fields, it governs how the file is cached when it is served.
  • Content Disposition: another Update Field, it drives how a browser presents the file.
  • Metadata: custom JSON you attach to the object, the place to keep an internal reference.
Use cases
fixing files that were uploaded with the wrong type, in a loop over the results of object.getAll.
Need help

Need help automating Google Cloud Storage with n8n?

A person reads every message.

FAQ

Google Cloud Storage and n8n, the questions that come next

01Is the Google Cloud Storage n8n integration free?
Yes on the n8n side. The node ships with n8n, so there is nothing to install and nothing extra to pay to use it, on n8n Cloud as well as on a self-hosted instance running the Community Edition under the Sustainable Use licence. A workflow behaves the same way in both. What Google charges for the storage itself is a separate matter between you and Google, and this page does not cover it. Practically, the cost question for most teams is about how many workflow executions the file steps add, not about the node.
02Which credentials does the Google Cloud Storage node need?
Two methods are available: OAuth2, and Service Account, which the node lists as recommended. OAuth2 is the more widely available one and the quicker to set up. On n8n Cloud, Managed OAuth2 lets you click Sign in with Google and skip the Google Cloud Console entirely for the Google nodes that support it. Self-hosted, you create a Custom OAuth2 app in the Google Cloud Console and bring back a Client ID and a Client Secret, after adding your instance domain to the authorized domains. The service account route instead gives n8n a Service Account Email and a Private Key taken from a downloaded JSON key file. Either way, the credential is created once and reused by every workflow.
03What are the limits of the Google Cloud Storage node?
The node exposes 10 operations across 2 resources, buckets and objects. Anything outside that catalogue is done with the HTTP Request node, which calls any Cloud Storage API endpoint and reuses the same Google credential through predefined authentication, so you do not build a second connection. The other thing to watch is listing. Return All off means n8n stops at the Limit you set, which is fine for a check and wrong for a full export, and that single checkbox is behind most of the surprises people report on the listing operations.
04Can a workflow react when a file is added to a bucket?
Not from this node itself: Google Cloud Storage has no trigger node in n8n, so a workflow around it starts somewhere else. Three routes cover nearly every case. A Schedule Trigger runs the workflow at a fixed interval and lists the bucket with object.getAll, which suits an inventory or a cleanup. The n8n Webhook node gives you a URL a third-party service can call, so an external system announces the change instead of you polling for it. Or the run starts on another tool's trigger, a new row, a new message, a new deal, and the storage step is simply what happens next.
05n8n or Make for Google Cloud Storage?
It depends on what you weigh most. Make is a hosted platform with no self-hosting option, billed per operation, and the visual building is its selling point. n8n can run on your own servers or on n8n Cloud, with the same workflow either way, which matters when the files you are moving cannot leave an infrastructure you control. The cost model differs too: per-operation billing is predictable at low volume and climbs with it, while a self-hosted instance moves the cost to the machine and the maintenance. Judge on hosting, data control, cost model and how comfortable your team is in each editor, and test the same workflow on both before deciding.
Hack'celeration Lab

Get our weekly integration tips.

No spam. Unsubscribe anytime.