Appbricx
Docs
FeaturesPricingStart free

Get started

OverviewWhat Appbricx isQuickstart with a coding agentQuickstart with the builderCore concepts

Guides

Data and tablesAccess and rolesBusiness rulesSign-inCustom screensRealtime and topicsWorkflows, schedules and webhooksServer functionsAI in your appPaymentsFilesMessagesIntegrationsVerifyPublishing, domains and rollbackOperating your appExport and self-hostSelf-host install

Tutorials

Build a booking app with Claude CodeMulti-user todo listClient portalSlack on new sign-upTemplates

Reference

Reference homeFrontend SDKHTTP APIMCP toolsCLIIntegrations catalogContract formatAI key resolutionRun Appbricx locally

Google Cloud Storage

Upload, download, and list objects in Google Cloud Storage buckets.

Data and storageOAuth12 actionsAll integrations

On this page
  1. Connect
  2. Call it from a workflow
  3. Actions (12)
  4. clone_object
  5. create_bucket
  6. create_bucket_acl
  7. create_bucket_default_object_acl
  8. create_object_acl
  9. delete_bucket_acl
  10. delete_bucket_default_object_acl
  11. delete_empty_bucket
  12. delete_object
  13. delete_object_acl
  14. search_buckets
  15. search_objects
  16. Details

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.

Native workflow
// .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
// 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);
  },
});
From an app (connector proxy)
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.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
sourceBucketrequiredid (picked from your account)Bucket
sourceObjectrequiredid (picked from your account)Object
destBucketrequiredid (picked from your account)Bucket
destObjectrequiredtextName for the copied object (must be valid object name)
metadataOverridesoptionalobjectOptional 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.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
namerequiredtextUnique name for your bucket (must be globally unique, 3-63 characters)
locationoptionalone of "US" | "EU" | "ASIA" | "us-central1" | "us-east1" | "us-east4" | "us-west1" | "us-west2" | "us-west3" | "us-west4" | "us-south1" | "europe-central2"Location
storageClassoptionalone of "STANDARD" | "NEARLINE" | "COLDLINE" | "ARCHIVE" | "MULTI_REGIONAL" | "REGIONAL" | "DURABLE_REDUCED_AVAILABILITY"Storage Class
versioningoptionalbooleanEnable Versioning
uniformBucketLevelAccessoptionalbooleanUniform Bucket Level Access
labelsoptionalobjectKey-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.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
bucketrequiredid (picked from your account)Bucket
entityrequiredtextThe 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…
rolerequiredone 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.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
bucketrequiredid (picked from your account)Bucket
entityrequiredtextThe 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…
rolerequiredone 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.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
bucketrequiredid (picked from your account)Bucket
objectrequiredid (picked from your account)Object
entityrequiredtextThe 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…
rolerequiredone of "READER" | "OWNER"Role
generationoptionalnumberOptional 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.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
bucketrequiredid (picked from your account)Bucket
entityrequiredtextThe 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.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
bucketrequiredid (picked from your account)Bucket
entityrequiredtextThe 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.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
bucketrequiredid (picked from your account)Bucket

delete_object

Delete Object. Permanently delete a specific object. Perfect for removing obsolete files.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
bucketrequiredid (picked from your account)Bucket
objectrequiredid (picked from your account)Object
generationoptionalnumberOptional 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.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
bucketrequiredid (picked from your account)Bucket
objectrequiredid (picked from your account)Object
entityrequiredtextThe 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…
generationoptionalnumberOptional generation number for versioned objects

search_buckets

Search Buckets. Search buckets by name. Perfect for finding buckets in your project.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
prefixoptionaltextFilter buckets whose names begin with this prefix
includeSoftDeletedoptionalbooleanInclude soft-deleted bucket versions in results
projectionoptionalone of "noAcl" | "full"Set of properties to return
pageTokenoptionaltextToken for pagination (from previous response)
maxResultsoptionalnumberMaximum number of buckets to return

search_objects

Search Objects. Search objects by criteria. Perfect for finding files in your bucket.

InputTypeDescription
projectIdrequiredid (picked from your account)Project
bucketrequiredid (picked from your account)Bucket
prefixoptionaltextFilter objects whose names begin with this prefix
matchGloboptionaltextGlob pattern to filter results (e.g., "folder/*", "backup-*.txt")
delimiteroptionaltextDelimiter for hierarchical listing (commonly "/")
includeFoldersAsPrefixesoptionalbooleanInclude empty folders and managed folders in results
versionsoptionalbooleanList all versions of objects as distinct results
pageTokenoptionaltextToken for pagination (from previous response)
maxResultsoptionalnumberMaximum 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

On this page

  1. Connect
  2. Call it from a workflow
  3. Actions (12)
  4. clone_object
  5. create_bucket
  6. create_bucket_acl
  7. create_bucket_default_object_acl
  8. create_object_acl
  9. delete_bucket_acl
  10. delete_bucket_default_object_acl
  11. delete_empty_bucket
  12. delete_object
  13. delete_object_acl
  14. search_buckets
  15. search_objects
  16. Details
Appbricx

The backend, runtime and hosting for apps your coding agent builds. On our cloud, in yours, or on your own servers.

Features

Coding agents and MCPVerify testingBuilder consolePostgres databaseData APIRealtimeRow-level securitySign-in and authPaymentsWorkflows and jobsAI in your appIntegrationsBackups and rollbackHosting and domainsSelf-host and exportAll features

Product

ShowcasePricingFor coding agentsTemplatesPrivate cloudBring your own AI keyFAQ

Compare

Appbricx vs SupabaseLovable alternativeBolt alternativeFor freelancersFor agencies

Resources

DocumentationReferenceBlogSupportContact

© 2026 Appbricx. All rights reserved.

TermsPrivacyCookiesAcceptable Use