Google Cloud Storage

The Google Cloud Storage modules enable you to monitor and publish messages or create, update, retrieve, and delete topics and subscriptions in your Google Cloud Storage.

Getting Started with Google Cloud Storage

Prerequisites

In order to use Google Cloud Storage with Integromat, it is necessary to have a Google account. If you do not have one, you can create a Google Cloud Storage account at accounts.google.com.

The module dialog fields that are displayed in bold (in the Integromat scenario, not in this documentation article) are mandatory!

Connecting Google Cloud Storage to Integromat

To connect your Google Cloud Storage account to Integromat, you will need to obtain the project's Client ID and Client Secret in the Google Cloud Console.

1. Sign in to Google Cloud console using your Google credentials.

2. Click Select a project > NEW PROJECT. Enter the desired project name, and click the CREATE button.

kVTsHnpiHD.gif

3. Select the project you have created.

IOBHGQlLx5.gif

4. Go to APIs & Services > Library.

ikUYh3USkS.gif

5. Search and enable the following required APIs: 

  • Cloud Resource Manager API

The desired service option should display as you type. Click on the API/service you want to connect to Integromat.

PNCrnF04ks.gif

6. Click the ENABLE button to enable the selected API.

7. Navigate to APIs & Services > OAuth consent screen.

bw6JL1HSQt.gif

8. Choose the External option, and click the CREATE button.

You will not be charged when selecting this option! For more details, please refer to Google's Exceptions to verification requirements.

9. Fill in the required fields as follows, and then click the Save and Continue button:

App name

Enter the name of the app asking for consent.

For example Integromat.

Authorized domainsintegromat.com

10. You don't have to set anything in the Scopes and Optional info sections. Click Save and Continue.

11. Navigate to Credentials. Click on the +CREATE CREDENTIALS, and select the OAuth Client ID option.

koPJzTFXFn.gif

12. Fill in the required fields as follows, and then click the CREATE button to create the application:

Application typeWeb application
Namee.g. Integromat
Authorized redirect URIs

https://www.integromat.com/oauth/cb/google-custom

gwzr3mPVAe.gif

13. A dialog containing the app's Client ID and Client Secret is displayed. Save them in a safe place for later use.

explorer_tCReFOgixG.png

14. Go to Integromat, open the Create a connection dialog of the desired Google Cloud Storage module, enter the Client ID and Client Secret from step 13 above in the respective fields, and click Continue.

2020-11-10_16_55_50-Integration_Meetup___Integromat.png

15. Sign in with your Google account.

16. The This app isn't verified window may appear.

The app = your OAuth client you have created above.

17. Click on the Advanced link and then on the Go to Integromat (unsafe) link to allow access using your custom OAuth client.

RsUKiYLB6k.gif

18. Click Allow twice to grant Integromat permission.

p2FrRsL0UR.gif

19. Click the Allow button to confirm your choices.

2020-11-10_15_13_30-Sign_in_-_Google_Accounts.png

The connection to your Google Cloud Storage has been established.

To use Google Cloud Storage modules, the billing must be enabled for your project. You can enable a free trial via Storage > Storage > Sign Up For a Free Trial.

Buckets

Create a Bucket

Creates a new bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
NameEnter the name of the bucket. The name can only contain lowercase letters (see naming requirements).
ACLAdd access control on the bucket to specify who has access to your data. Please find the description of ACL field resources in the BucketAccessControls documentation.
LabelsSpecify key-value metadata pairs that allow you to group your buckets along with other Google Cloud resources such as virtual machine instances and persistent disks. For example, you can use labels to create a team key that has values alphabeta, and delta, and apply the team:alphateam:beta, and team:delta labels to different buckets in order to indicate which team is associated with those buckets. You can create a maximum of 64 labels.
Predefined ACL

Select a predefined set of access controls for this bucket.

  • authenticatedRead: Project team owners get OWNER access, and allAuthenticatedUsers get READER access.
  • private: Project team owners get OWNER access.
  • projectPrivate: Project team members get access according to their roles.
  • publicRead: Project team owners get OWNER access, and allUsers get READER access.
  • publicReadWrite: Project team owners get OWNER access, and allUsers get WRITER access.
Predefined Default Object ACL

Select a predefined set of default object access controls for this bucket.

  • authenticatedRead: Object owner gets OWNER access, and allAuthenticatedUsers get READER access.
  • bucketOwnerFullControl: Object owner gets OWNER access, and project team owners get OWNER access.
  • bucketOwnerRead: Object owner gets OWNER access, and project team owners get READER access.
  • private: Object owner gets OWNER access.
  • projectPrivate: Object owner gets OWNER access, and project team members get access according to their roles.
  • publicRead: Object owner gets OWNER access, and allUsers get READER access.
Projection

Select the properties you want to return.

  • full: Include all properties.
  • noAcl: Omit owneracl, and defaultObjectAcl properties.
User Project

Enter the project ID of the project to be billed for this request if the target bucket is a requester-pays bucket.

Requester Pays

Select the Yes option to enable Requester Pays for this bucket.

CORS

Specify the bucket's Cross-Origin Resource Sharing (CORS) configuration.

Default Event Based Hold

Select the Yes option to automatically apply an eventBasedHold to new objects added to the bucket.

For more information about this module's fields, please refer to the Google Cloud Storage Documentation.

Get a Bucket

Retrieves bucket details.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the bucket you want to retrieve details for.
BucketAdd access control on the bucket to specify who has access to your data. Please find the description of ACL field resources in the BucketAccessControls documentation.

For more information about this module's fields, please refer to the Google Cloud Storage Documentation.

List Buckets

Retrieves a list of buckets for a specified project.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project you want to list buckets from.
Max ResultsSet the maximum number of buckets Integromat will return during one execution cycle.
PrefixEnter the name prefix used to filter returned buckets.

Update a Bucket

Updates an existing bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project you want to update a bucket for.
BucketEnter the name of the bucket you want to update.

Please find the descriptions of the fields in the Create a Bucket section above.

Delete an Empty Bucket

Permanently deletes an empty bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project you want to delete a bucket from.
BucketEnter the name of the bucket you want to delete.
If Metageneration MatchFill in these fields to delete the bucket if its metageneration matches the entered value.
If Metageneration Not MatchFill in these fields to delete the bucket if its metageneration does not match the entered value.
User ProjectEnter the ID of the project to be billed for this request. Required for requester-pays buckets.

Objects

Watch Objects

Triggers when an object is created, updated, copied, rewritten, or archived, or when an object's metadata are updated in the specified bucket.

Webhook nameEnter the webhook name. E.g., "Object archived".
ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project you want to watch the object for.
BucketEnter the name of the bucket where you want to watch objects.
TopicFill in these fields to delete the bucket if its metageneration matches the entered value.
Event TypesSelect events that will trigger the Watch Objects module.

Upload an Object

Stores a new object.

The uploaded object replaces any existing object with the same name.
ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the bucket where you want to store a new object.
BucketEnter the name of the bucket where you want to store a new object.
Source File

Map the file you want to upload from the previous module (e.g., HTTP > Get a File or Google Drive > Download a File), or enter the file name and file data manually.

The maximum size is 5 TB.

Content TypeSpecify Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream.
Upload TypeSelect the type of upload:
  • Simple upload. Upload the object data only, without any metadata.
  • Resumable upload. Upload the object data in a resumable fashion, using a series of at least two requests where the first request includes the metadata.

Merge Objects

Composes a new object from a list of existing objects.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the bucket with objects you want to merge.
BucketEnter the name of the bucket that contains objects you want to merge.

Source Objects

Select the objects you want to merge into the destination object.

Destination ObjectEnter the name of the new object. For information about how to URL encode object names to be path safe, see Encoding URI path parts.

Get an Object

Retrieves object details.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the bucket with the object you want to retrieve details for.
BucketEnter the name of the bucket that contains the object you want to retrieve details for.

Object

Enter the name of the object you want to retrieve details for.

Download the FileEnable this option to retrieve the object's data also.
GenerationIf present, select a specific revision of this object (as opposed to the latest version, which is the default).

Search Objects

Retrieves objects matching specified criteria.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the bucket where you want to search for objects.
BucketEnter the name of the bucket you want to search for objects.

Limit

Set the maximum number of objects Integromat will return during one execution cycle.

For more information about this module's fields, please refer to the Google Cloud Storage Documentation.

Clone an Object

Copies a source object to a destination object.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the bucket with the object you want to clone.
Source BucketEnter the name of the bucket that contains the object you want to clone.

Source Object

Enter the name of the source object you want to clone.

Destination Bucket

Enter the name of the bucket in which to store the new object.

Destination Object

Enter the name of the new object. This overrides the object metadata's name value, if any.

Metadata

Add user-provided metadata as key-value pairs.

Update an Object

Updates metadata of the existing object.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the bucket with the object you want to update.
BucketEnter the name of the bucket that contains the object you want to update.

Object

Enter the name of the object you want to update.

AclSet access controls on the object, containing one or more objectAccessControls Resources.
MetadataAdd user-provided metadata to update as key-value pairs.

Delete an Object

Permanently deletes an object.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project you want to delete the object from.
BucketEnter the name of the bucket in which the object you want to delete resides.
ObjectEnter the name of the object you want to delete.
GenerationIf specified, permanently delete a specific revision of this object (as opposed to the latest version, which is the default).

Bucket ACLs

Create a Bucket ACL

Creates a new ACL entry on the specified bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project for which you want to create a bucket ACL.
BucketEnter the name of the bucket.
EntityThe entity holding the permission, in one of the following forms:
  • user-email
  • group-groupId
  • group-email
  • domain-domain
  • project-team-projectId
  • allUsers
  • allAuthenticatedUsers
Examples:
  • The user liz@example.com would be user-liz@example.com.
  • The group example@googlegroups.com would be group-example@googlegroups.com.
  • To refer to all members of the G Suite for Business domain example.com, the entity would be domain-example.com.
RoleSelect the access permission for the entity.
User ProjectEnter the ID of the project to be billed for this request. Required for requester-pays buckets.

Get a Bucket ACL

Returns the ACL entry for the specified entity on the specified bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project for which you want to create a bucket ACL.
BucketEnter the name of the bucket.
EntityThe entity holding the permission, in one of the following forms:
  • user-email
  • group-groupId
  • group-email
  • domain-domain
  • project-team-projectId
  • allUsers
  • allAuthenticatedUsers
Examples:
  • The user liz@example.com would be user-liz@example.com.
  • The group example@googlegroups.com would be group-example@googlegroups.com.
  • To refer to all members of the G Suite for Business domain example.com, the entity would be domain-example.com.
User ProjectEnter the ID of the project to be billed for this request. Required for requester-pays buckets.

List Bucket ACLs

Retrieves ACL entries on a specified bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project you want to list bucket ACLs from.
BucketEnter the name of the bucket.
LimitSet the maximum number of ACLs Integromat will return during one execution cycle.
User ProjectEnter the ID of the project to be billed for this request to filter results. Required for requester-pays buckets.

Update a Bucket ACL

Updates an ACL entry on the specified bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project you want to update.
BucketEnter the name of the bucket.
AclSet access controls on the object, containing one or more objectAccessControls Resources.
MetadataAdd user-provided metadata to update as key-value pairs.

Delete a Bucket ACL

Permanently deletes the ACL entry for the specified entity on the specified bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project you want to delete the bucket ACL from.
BucketEnter the name of the bucket.
Entity

The entity holding the permission. Can be user-emailAddressgroup-groupIdgroup-emailAddressallUsers, or allAuthenticatedUsers.

User ProjectEnter the ID of the project to be billed for this request. Required for requester-pays buckets.

Bucket Default Objects ACLs

Create a Bucket's Default Object ACL

Creates a new default object ACL entry on the specified bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project where you want to create a default object ACL.
BucketEnter the name of the bucket.
EntityThe entity holding the permission, in one of the following forms:
  • user-email
  • group-groupId
  • group-email
  • domain-domain
  • project-team-projectId
  • allUsers
  • allAuthenticatedUsers
Examples:
  • The user liz@example.com would be user-liz@example.com.
  • The group example@googlegroups.com would be group-example@googlegroups.com.
  • To refer to all members of the G Suite for Business domain example.com, the entity would be domain-example.com.
RoleSelect the access permission for the entity.
User ProjectEnter the ID of the project to be billed for this request. Required for requester-pays buckets.

Get a Bucket's Default Object ACL

Returns the default object ACL entry for the specified entity on the specified bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project you want to retrieve a default object ACL from.
BucketEnter the name of the bucket.
EntityThe entity holding the permission. Can be user-emailAddressgroup-groupIdgroup-emailAddressallUsers, or allAuthenticatedUsers.
User ProjectEnter the ID of the project to be billed for this request. Required for requester-pays buckets.

List a Bucket's Default Object ACL

Retrieves default object ACL entries on the specified bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project from which you want to list a default object ACL.
BucketEnter the name of the bucket.
LimitSet the maximum number of default object ACL entries Integromat will return during one execution cycle.

Update a Bucket's Default Object ACL

Updates a default object ACL entry on the specified bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project where you want to update a default object ACL.
BucketEnter the name of the bucket.
EntityThe entity holding the permission. Can be user-emailAddressgroup-groupIdgroup-emailAddressallUsers, or allAuthenticatedUsers.
New RoleSelect the access permission for the entity.
User ProjectEnter the ID of the project to be billed for this request. Required for requester-pays buckets.

Delete a Bucket's Default Object ACL

Permanently deletes the default object ACL entry for the specified entity on the specified bucket.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project you want to delete the default object ACL from.
BucketEnter the name of the bucket.
EntityThe entity holding the permission. Can be user-emailAddressgroup-groupIdgroup-emailAddressallUsers, or allAuthenticatedUsers.
User ProjectEnter the ID of the project to be billed for this request. Required for requester-pays buckets.

Object ACLs

Create an Object ACL

Creates a new ACL entry on the specified object.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the object you want to create an ACL entry for.
BucketEnter the name of the bucket.
ObjectEnter the name of the object you want to create an ACL entry for.
EntitySpecify the entity holding the permission, in one of the following forms:
  • user-email
  • group-groupId
  • group-email
  • domain-domain
  • project-team-projectId
  • allUsers
  • allAuthenticatedUsers
Examples:
  • The user liz@example.com would be user-liz@example.com.
  • The group example@googlegroups.com would be group-example@googlegroups.com.
  • To refer to all members of the G Suite for Business domain example.com, the entity would be domain-example.com.
RoleSelect the access permission for the entity.

Get an Object ACL

Retrieves the ACL entry for the specified entity on the specified object.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the object you want to retrieve an ACL entry for.
BucketEnter the name of the bucket.
ObjectEnter the name of the object you want to retrieve an ACL entry for.
EntityThe entity holding the permission. Can be user-emailAddressgroup-groupIdgroup-emailAddressallUsers, or allAuthenticatedUsers.
GenerationIf specified, select a specific revision of this object (as opposed to the latest version, which is the default).
User ProjectSpecify the project to be billed for this request. Required for requester-pays buckets.

List Object ACLs

Retrieves ACL entries on the specified object.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the object you want to retrieve ACL entries for.
BucketEnter the name of the bucket.
ObjectEnter the name of the object you want to retrieve ACL entries for.
LimitSet the maximum number of ACL entries Integromat will return during one execution cycle.
GenerationIf specified, select a specific revision of this object (as opposed to the latest version, which is the default).
User ProjectSpecify the project to be billed for this request. Required for requester-pays buckets.

Update an Object ACL

Updates an ACL entry on the specified object.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the object you want to update an ACL entry for.
BucketEnter the name of the bucket.
ObjectEnter the name of the object you want to update an ACL entry for.
EntitySpecify the entity holding the permission. Can be user-emailAddressgroup-groupIdgroup-emailAddressallUsers, or allAuthenticatedUsers.
RoleSelect the access permission for the entity.

Delete an Object ACL

Permanently deletes the ACL entry for the specified entity on the specified object.

ConnectionEstablish a connection to your Google Cloud Storage.
Project IDSelect the project or map the ID of the project that contains the object you want to delete an ACL entry from.
BucketEnter the name of the bucket.
ObjectEnter the name of the object you want to delete an ACL entry from.
EntitySpecify the entity holding the permission. Can be user-emailAddressgroup-groupIdgroup-emailAddressallUsers, or allAuthenticatedUsers.
GenerationIf specified, select a specific revision of this object (as opposed to the latest version, which is the default).
User ProjectSpecify the project to be billed for this request. Required for requester-pays buckets.

Other

Make an API Call

Allows you to perform a custom API call.

ConnectionEstablish a connection to your Google Cloud Storage.
URL

Enter a path relative to https://www.googleapis.com/storage.
For example: /v1/b/{bucket_name}.

For the list of available endpoints, refer to the Google Cloud Storage API Reference.
Method

Select the HTTP method you want to use:

GET
to retrieve information for an entry.

POST
to create a new entry.

PUT
to update/replace an existing entry.

PATCH
to make a partial entry update.

DELETE
to delete an entry.

HeadersEnter the desired request headers. You don't have to add authorization headers; we've already added those for you.
Query StringEnter the request query string.
BodyEnter the body content for your API call.

Example of Use - List Buckets

The following API call returns all dashboards in your Cloud Storage:

URL:
/v1/b

Method:
GET

Query String:
Keyproject
Value{project_id}

2020-11-23_13_15_45-Integration_Apple_iOS___Integromat.png

The result can be found in the module's Output under BundleBody

Popular use cases from our blog

trello2

How to Automatically Turn Tweets Into Inspiring Images [Tutorial]

part4

How to Automate Procurement in Your Shopify Store - Part 4

part3

How to Automate Procurement in Your Shopify Store - Part 3

shopify

How to Automate Procurement in Your Shopify Store - Part 2

crm

8 Powerful and Free CRM Integrations to Boost Your Work

procur

How to Automate Procurement in Your Shopify Store - Part 1

Didn’t find what you were looking for?

Ticket

Create a ticket

Contact our world-class support team and tell us what’s happening.

Create a ticket
Expert

Find an expert

We feature a network of 450+ certified partners across the globe who are ready to help

Find an expert

Automate any workflow in your business

Sign up for a free account today. No credit card required, no time limits on free plan.