> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Cloud Integration for AI Agents & Workflows

> Google Cloud Platform services including Cloud Storage, BigQuery, Compute Engine, and Cloud Logging

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/zKB2qsP6Q61VNLfB/logos/google-cloud.svg?fit=max&auto=format&n=zKB2qsP6Q61VNLfB&q=85&s=7883d93411fb2c24fa3efecadb672006" alt="Google Cloud logo" width="72" height="72" data-path="logos/google-cloud.svg" />

## Overview

Add **Google Cloud** to any ModuleX agent or workflow. Google Cloud Platform integration providing Cloud Storage bucket and object management, BigQuery query execution and streaming inserts, BigQuery Data Transfer scheduled queries, Compute Engine instance control, and Cloud Logging via the GCP REST APIs.

<Info>
  **Categories**: Cloud Infrastructure · Data & Analytics · Developer Tools & Infrastructure · **Auth**: Service Account Key · **Actions**: 11
</Info>

## Authentication

### Service Account Key

Authenticate using a GCP service account JSON key file

#### Required Credentials

| Field                    | Description                                                | Required | Format                                                                                   |
| ------------------------ | ---------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------- |
| Service Account Key JSON | The full JSON content of your GCP service account key file | Yes      | `{"type":"service_account","project_id":"...","private_key":"...","client_email":"..."}` |

## Available Actions

<AccordionGroup>
  <Accordion title="create_bucket — Create a new Google Cloud Storage bucket">
    ### Parameters

    <ResponseField name="bucket_name" type="string" required>
      Globally unique bucket name
    </ResponseField>

    <ResponseField name="location" type="string">
      Bucket location (e.g. US, EU, us-central1). Defaults to US (Default: `US`)
    </ResponseField>

    <ResponseField name="storage_class" type="string">
      Storage class: STANDARD, NEARLINE, COLDLINE, or ARCHIVE (Default: `STANDARD`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "BucketMetadata": {
          "additionalProperties": false,
          "description": "Metadata for a Google Cloud Storage bucket.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "location": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Location"
            },
            "storage_class": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Storage Class"
            },
            "time_created": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Time Created"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "project_number": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Project Number"
            }
          },
          "title": "BucketMetadata",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "bucket": {
          "anyOf": [
            {
              "$ref": "#/$defs/BucketMetadata"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateBucketOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_bucket — Get metadata for a Google Cloud Storage bucket">
    ### Parameters

    <ResponseField name="bucket_name" type="string" required>
      Name of the bucket
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "BucketMetadata": {
          "additionalProperties": false,
          "description": "Metadata for a Google Cloud Storage bucket.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "location": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Location"
            },
            "storage_class": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Storage Class"
            },
            "time_created": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Time Created"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "project_number": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Project Number"
            }
          },
          "title": "BucketMetadata",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "bucket": {
          "anyOf": [
            {
              "$ref": "#/$defs/BucketMetadata"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "GetBucketOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_buckets — List all Google Cloud Storage buckets in the project">
    ### Response

    ```json theme={null}
    {
      "$defs": {
        "BucketMetadata": {
          "additionalProperties": false,
          "description": "Metadata for a Google Cloud Storage bucket.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "location": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Location"
            },
            "storage_class": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Storage Class"
            },
            "time_created": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Time Created"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "project_number": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Project Number"
            }
          },
          "title": "BucketMetadata",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "buckets": {
          "items": {
            "$ref": "#/$defs/BucketMetadata"
          },
          "title": "Buckets",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListBucketsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="search_objects — Search for objects in a bucket by prefix">
    ### Parameters

    <ResponseField name="bucket_name" type="string" required>
      Name of the bucket to search
    </ResponseField>

    <ResponseField name="prefix" type="string" required>
      Object name prefix to filter by
    </ResponseField>

    <ResponseField name="delimiter" type="string">
      Delimiter for directory-like listing (commonly '/')
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "ObjectMetadata": {
          "additionalProperties": false,
          "description": "Metadata for a Google Cloud Storage object.",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "bucket": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Bucket"
            },
            "size": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Size"
            },
            "content_type": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Content Type"
            },
            "time_created": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Time Created"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "md5_hash": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Md5 Hash"
            }
          },
          "title": "ObjectMetadata",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "objects": {
          "items": {
            "$ref": "#/$defs/ObjectMetadata"
          },
          "title": "Objects",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "SearchObjectsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_object — Get metadata for a specific object in a Google Cloud Storage bucket">
    ### Parameters

    <ResponseField name="bucket_name" type="string" required>
      Name of the bucket containing the object
    </ResponseField>

    <ResponseField name="object_name" type="string" required>
      Full path/name of the object in the bucket
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "ObjectMetadata": {
          "additionalProperties": false,
          "description": "Metadata for a Google Cloud Storage object.",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "bucket": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Bucket"
            },
            "size": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Size"
            },
            "content_type": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Content Type"
            },
            "time_created": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Time Created"
            },
            "updated": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated"
            },
            "md5_hash": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Md5 Hash"
            }
          },
          "title": "ObjectMetadata",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "metadata": {
          "anyOf": [
            {
              "$ref": "#/$defs/ObjectMetadata"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "GetObjectOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="upload_object — Upload text content as an object to a Google Cloud Storage bucket">
    ### Parameters

    <ResponseField name="bucket_name" type="string" required>
      Name of the destination bucket
    </ResponseField>

    <ResponseField name="object_name" type="string" required>
      Destination path/name for the object in the bucket
    </ResponseField>

    <ResponseField name="content" type="string" required>
      Text content to upload
    </ResponseField>

    <ResponseField name="content_type" type="string">
      MIME type of the content (e.g. text/plain, application/json) (Default: `text/plain`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "object_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Object Name"
        },
        "bucket": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Bucket"
        }
      },
      "required": [
        "success"
      ],
      "title": "UploadObjectOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="logging_write_log — Write a log entry to Google Cloud Logging">
    ### Parameters

    <ResponseField name="log_name" type="string" required>
      Name of the log to write to
    </ResponseField>

    <ResponseField name="text" type="string" required>
      Log message text
    </ResponseField>

    <ResponseField name="severity" type="string">
      Log severity: DEFAULT, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, or EMERGENCY (Default: `DEFAULT`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "LoggingWriteLogOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="run_query — Run a SQL query in BigQuery and return the results">
    ### Parameters

    <ResponseField name="query" type="string" required>
      GoogleSQL query to execute
    </ResponseField>

    <ResponseField name="location" type="string">
      Dataset location (e.g. US, EU). Must match dataset location (Default: `US`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "rows": {
          "items": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": "object"
          },
          "title": "Rows",
          "type": "array"
        },
        "total_rows": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Rows"
        }
      },
      "required": [
        "success"
      ],
      "title": "RunQueryOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="bigquery_insert_rows — Insert rows into a BigQuery table using streaming insert">
    ### Parameters

    <ResponseField name="dataset_id" type="string" required>
      BigQuery dataset ID
    </ResponseField>

    <ResponseField name="table_id" type="string" required>
      BigQuery table ID
    </ResponseField>

    <ResponseField name="rows" type="array" required>
      Array of row objects to insert, each with column names as keys
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "inserted_count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Inserted Count"
        }
      },
      "required": [
        "success"
      ],
      "title": "BigqueryInsertRowsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_scheduled_query — Create a scheduled query in BigQuery Data Transfer Service">
    ### Parameters

    <ResponseField name="destination_dataset_id" type="string" required>
      Destination dataset ID for query results
    </ResponseField>

    <ResponseField name="display_name" type="string" required>
      Human-readable name for the scheduled query
    </ResponseField>

    <ResponseField name="query" type="string" required>
      GoogleSQL query to schedule
    </ResponseField>

    <ResponseField name="dataset_region" type="string">
      Geographic location of the dataset (e.g. us, eu) (Default: `us`)
    </ResponseField>

    <ResponseField name="schedule" type="string">
      Schedule in cron-like format (e.g. 'every 24 hours', '1st monday of month 09:00')
    </ResponseField>

    <ResponseField name="write_disposition" type="string">
      Write behavior: WRITE\_TRUNCATE or WRITE\_APPEND (Default: `WRITE_TRUNCATE`)
    </ResponseField>

    <ResponseField name="destination_table_name_template" type="string">
      Destination table name template, can use \{run\_date} or \{run\_time} variables (Default: `logs`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "TransferConfig": {
          "additionalProperties": false,
          "description": "A BigQuery Data Transfer scheduled query config.",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "display_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Display Name"
            },
            "data_source_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Data Source Id"
            },
            "schedule": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Schedule"
            },
            "state": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "State"
            },
            "destination_dataset_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Destination Dataset Id"
            }
          },
          "title": "TransferConfig",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "transfer_config": {
          "anyOf": [
            {
              "$ref": "#/$defs/TransferConfig"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateScheduledQueryOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="switch_instance_boot_status — Start or stop a Google Compute Engine virtual machine instance">
    ### Parameters

    <ResponseField name="zone" type="string" required>
      Compute Engine zone (e.g. us-central1-a)
    </ResponseField>

    <ResponseField name="instance_name" type="string" required>
      Name of the VM instance
    </ResponseField>

    <ResponseField name="action" type="string" required>
      Action to perform: start or stop
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "operation_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Operation Name"
        },
        "status": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        }
      },
      "required": [
        "success"
      ],
      "title": "SwitchInstanceBootStatusOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* **Cloud Storage**: 1,000 bucket creates per project per 2 seconds; 5,000 object mutations per bucket per second.
* **BigQuery**: 100 concurrent queries per project; streaming inserts limited to 50,000 rows per request and 10 MB per request.
* **Compute Engine**: API rate limits vary by method (typically 20 requests/second per project per region).
* **Cloud Logging**: 60 write requests per second per project.
* **Error model**: non-2xx responses and timeouts are caught and returned as `success=False` + `error` rather than raising.

## Related integrations

<CardGroup cols={3}>
  <Card title="Amazon Web Services" href="/integrations/tools/aws" />

  <Card title="Vercel" href="/integrations/tools/vercel" />

  <Card title="Algolia" href="/integrations/tools/algolia" />
</CardGroup>

## Links

* [Google Cloud](https://cloud.google.com)
