Overview
The Google Cloud Storage Enhanced node allows you to interact with Google Cloud Storage, specifically for managing objects (files) within storage buckets.
For the Object → Create operation, this node enables you to upload a new file to a specified bucket. You can provide the file content either from an input binary field or as plain text, and you have fine-grained control over metadata, access controls, encryption, and other object properties.
Common scenarios:
- Automating file uploads to Google Cloud Storage as part of a workflow.
- Storing generated reports, images, or backups in the cloud.
- Setting custom metadata, access permissions, or encryption on uploaded files.
Practical examples:
- Uploading user-submitted files from a web form to a GCS bucket.
- Saving processed data exports from n8n workflows directly into cloud storage.
- Automatically archiving logs or documents with specific retention policies.
Properties
| Name | Type | Meaning |
|---|---|---|
| Authentication | options | Selects the authentication method: Service Account or OAuth2. |
| Bucket Name | string | The name of the target Google Cloud Storage bucket where the object will be created. |
| Object Name | string | The desired name (key) for the new object (file) in the bucket. |
| Projection | options | Determines which set of properties to return in the response: "All Properties" or "No ACL". |
| Use Input Binary Field | boolean | Whether to use a binary input field for the file content. If false, plain text content is used instead. |
| Input Binary Field | string | The name of the input binary property containing the file to upload (used if "Use Input Binary Field" is true). |
| File Content | string | The plain text content to upload as the file (used if "Use Input Binary Field" is false). |
| Create Fields | collection | Additional object properties such as ACL, cache control, content type, metadata, storage class, etc. |
| Additional Parameters | collection | Extra query parameters for the upload, including generation match, KMS key, predefined ACL, etc. |
| Encryption Headers | collection | Optional headers for customer-supplied encryption keys (algorithm, key, key hash). |
Output
- The output is a JSON object representing the newly created object in Google Cloud Storage.
- Typical fields include:
kind: Resource type identifier.id: Unique object ID.selfLink: API URL for the object.name: Object name.bucket: Bucket name.generation,metageneration: Versioning information.contentType,size,md5Hash,crc32c: File metadata.mediaLink: Direct download link.metadata: Custom metadata (if provided).acl: Access control list (if requested).- Other fields depending on selected projection and provided properties.
Note:
- If the upload fails, and "Continue On Fail" is enabled, the output will contain an
errorfield with the error message.
Dependencies
- Google Cloud Storage API: Requires access to a Google Cloud project with the Storage API enabled.
- Authentication: Needs either a Service Account credential or OAuth2 setup in n8n.
- n8n Credentials:
googleApi(for Service Account)googleCloudStorageOAuth2Api(for OAuth2)
- Environment: No special environment variables required beyond n8n's credential management.
Troubleshooting
Common issues:
- Invalid credentials: Ensure that the correct authentication method and credentials are configured in n8n.
- Insufficient permissions: The service account or OAuth2 user must have permission to write to the specified bucket.
- Bucket/Object not found: Double-check the bucket and object names for typos.
- File size limits: Very large files may require different upload strategies (not supported by this node).
- Incorrect binary property name: If using binary upload, ensure the property name matches the incoming binary data.
Error messages:
"Required parameter: bucketName/objectName": Make sure both are provided."Could not find binary data": Check the binary property name and upstream nodes."Permission denied": Verify IAM roles and permissions for the credentials used."Invalid encryption key": If using encryption headers, ensure the key and hash are correctly base64-encoded.