Google Cloud Storage
Upload, download, and list objects in Google Cloud Storage buckets.
On this page
Connect
Auth type: OAuth (oauth2). Click Connect and approve access on the provider's page. Appbricx runs the OAuth flow (signed single-use state, PKCE where the provider supports it), stores the tokens encrypted and refreshes them before they expire.
Scopes requested: https://www.googleapis.com/auth/devstorage.full_control
OAuth needs an OAuth app: the platform's when the operator configured one, or your own (admin panel, Integrations, Configure). You can also bring your own credentials.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("google_cloud_storage", "clone_object", {
"projectId": "<projectId>",
"sourceBucket": "<sourceBucket>",
"sourceObject": "<sourceObject>",
"destBucket": "<destBucket>",
"destObject": "<destination object name>"
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Google Cloud Storage answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "google-cloud-storage-clone-object",
name: "Google Cloud Storage: Clone Object",
description: "Calls Google Cloud Storage when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("google_cloud_storage", {
"action": "clone_object",
"projectId": "<projectId>",
"sourceBucket": "<sourceBucket>",
"sourceObject": "<sourceObject>",
"destBucket": "<destBucket>",
"destObject": "<destination object name>"
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/google_cloud_storage/clone_object" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"projectId":"<projectId>","sourceBucket":"<sourceBucket>","sourceObject":"<sourceObject>","destBucket":"<destBucket>","destObject":"<destination object name>"}}'Actions
clone_objectin catalog
Clone Object. Copy / clone an object (file) to a new location (same or different bucket), optionally overriding metadata. Perfect for duplicating files as backup or version.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
sourceBucketrequired | id (picked from your account) | Bucket |
sourceObjectrequired | id (picked from your account) | Object |
destBucketrequired | id (picked from your account) | Bucket |
destObjectrequired | text | Name for the copied object (must be valid object name) |
metadataOverridesoptional | object | Optional metadata and properties to override in the copied object (contentType, cacheControl, contentDisposition, etc.) |
create_bucketin catalog
Create Bucket. Create a new bucket in a specified location/configuration. Perfect for automating storage provisioning for new projects.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
namerequired | text | Unique name for your bucket (must be globally unique, 3-63 characters) |
locationoptional | one of "US" | "EU" | "ASIA" | "us-central1" | "us-east1" | "us-east4" | "us-west1" | "us-west2" | "us-west3" | "us-west4" | "us-south1" | "europe-central2" | Location |
storageClassoptional | one of "STANDARD" | "NEARLINE" | "COLDLINE" | "ARCHIVE" | "MULTI_REGIONAL" | "REGIONAL" | "DURABLE_REDUCED_AVAILABILITY" | Storage Class |
versioningoptional | boolean | Enable Versioning |
uniformBucketLevelAccessoptional | boolean | Uniform Bucket Level Access |
labelsoptional | object | Key-value pairs for bucket labels |
create_bucket_aclin catalog
Create Bucket ACL. Add an ACL entry at bucket level. Perfect for granting permission to manage the bucket.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
bucketrequired | id (picked from your account) | Bucket |
entityrequired | text | The entity to grant access to. Must include the entity type prefix. Format: user-emailAddress, group-groupId, group-emailAddress, domain-domainName, project-team-projectId, allUsers, or allAuthentica… |
rolerequired | one of "READER" | "WRITER" | "OWNER" | Role |
create_bucket_default_object_aclin catalog
Create Bucket Default Object ACL. Set default ACLs for new objects added to a bucket. Perfect for automatically assigning permissions to new uploads.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
bucketrequired | id (picked from your account) | Bucket |
entityrequired | text | The entity to grant access to. Must include the entity type prefix. Format: user-emailAddress, group-groupId, group-emailAddress, domain-domainName, project-team-projectId, allUsers, or allAuthentica… |
rolerequired | one of "READER" | "OWNER" | Role |
create_object_aclin catalog
Create Object ACL. Add an ACL entry to an object (grant a permission). Perfect for granting read/write access to a user or group.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
bucketrequired | id (picked from your account) | Bucket |
objectrequired | id (picked from your account) | Object |
entityrequired | text | The entity to grant access to. Must include the entity type prefix. Format: user-emailAddress, group-groupId, group-emailAddress, domain-domainName, project-team-projectId, allUsers, or allAuthentica… |
rolerequired | one of "READER" | "OWNER" | Role |
generationoptional | number | Optional generation number for versioned objects |
delete_bucket_aclin catalog
Delete Bucket ACL. Remove an ACL entry from a bucket. Perfect for revoking access for a user or group.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
bucketrequired | id (picked from your account) | Bucket |
entityrequired | text | The entity to grant access to. Must include the entity type prefix. Format: user-emailAddress, group-groupId, group-emailAddress, domain-domainName, project-team-projectId, allUsers, or allAuthentica… |
delete_bucket_default_object_acl
Delete Bucket Default Object ACL. Remove default ACL settings from a bucket. Perfect for reverting to default behavior.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
bucketrequired | id (picked from your account) | Bucket |
entityrequired | text | The entity to grant access to. Must include the entity type prefix. Format: user-emailAddress, group-groupId, group-emailAddress, domain-domainName, project-team-projectId, allUsers, or allAuthentica… |
delete_empty_bucket
Delete Empty Bucket. Clean up unused buckets by deleting them if they contain no live objects.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
bucketrequired | id (picked from your account) | Bucket |
delete_object
Delete Object. Permanently delete a specific object. Perfect for removing obsolete files.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
bucketrequired | id (picked from your account) | Bucket |
objectrequired | id (picked from your account) | Object |
generationoptional | number | Optional generation number for versioned objects (permanently deletes a specific revision) |
delete_object_acl
Delete Object ACL. Remove an ACL entry from an object. Perfect for revoking access for a user.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
bucketrequired | id (picked from your account) | Bucket |
objectrequired | id (picked from your account) | Object |
entityrequired | text | The entity to grant access to. Must include the entity type prefix. Format: user-emailAddress, group-groupId, group-emailAddress, domain-domainName, project-team-projectId, allUsers, or allAuthentica… |
generationoptional | number | Optional generation number for versioned objects |
search_buckets
Search Buckets. Search buckets by name. Perfect for finding buckets in your project.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
prefixoptional | text | Filter buckets whose names begin with this prefix |
includeSoftDeletedoptional | boolean | Include soft-deleted bucket versions in results |
projectionoptional | one of "noAcl" | "full" | Set of properties to return |
pageTokenoptional | text | Token for pagination (from previous response) |
maxResultsoptional | number | Maximum number of buckets to return |
search_objects
Search Objects. Search objects by criteria. Perfect for finding files in your bucket.
| Input | Type | Description |
|---|---|---|
projectIdrequired | id (picked from your account) | Project |
bucketrequired | id (picked from your account) | Bucket |
prefixoptional | text | Filter objects whose names begin with this prefix |
matchGloboptional | text | Glob pattern to filter results (e.g., "folder/*", "backup-*.txt") |
delimiteroptional | text | Delimiter for hierarchical listing (commonly "/") |
includeFoldersAsPrefixesoptional | boolean | Include empty folders and managed folders in results |
versionsoptional | boolean | List all versions of objects as distinct results |
pageTokenoptional | text | Token for pagination (from previous response) |
maxResultsoptional | number | Maximum number of objects to return (recommended: ≤1000) |
Details
- Id
google_cloud_storage- Category
- Data and storage
- Tags
- storage, cloud, gcp, files, objects
- Package
@activepieces/piece-google-cloud-storage@0.1.3- Tier
- Built in