DocumentationFundamentals

GCP Cloud Storage

Receive GCS object notifications as webhooks and upload webhook data to Google Cloud Storage using Webhook Relay service connections.

Connect Webhook Relay to Google Cloud Storage (GCS) to store incoming webhook data as GCS objects (output).

Prerequisites

  • A GCP service connection with a service account that has Cloud Storage permissions
  • A GCS bucket in your GCP project

GCP Roles

For GCS Output (upload objects):

  • roles/storage.objectCreator

GCS Output — Upload Webhook Data to Cloud Storage

GCS outputs store incoming webhook data as objects in your GCS bucket. Each webhook is saved as a separate file.

GCP GCS output

Configuration

FieldRequiredDescription
bucket_nameYesGCS bucket name
prefixNoObject name prefix (e.g. webhooks/)
file_formatNoStorage format: json (default), body_only, har

Object Path

Objects are stored with a date-based path:

{prefix}/{year}/{month}/{day}/{log_id}.json

For example: webhooks/2026/02/24/<WEBHOOK UUID>.json

Browse your GCP GCS bucket

Example: Bridge AWS SNS to GCS

Archive AWS SNS notifications as objects in a GCS bucket. Useful when your storage and analytics are on GCP but events originate in AWS:

  1. Create an AWS service connection with SNS subscribe permissions
  2. Create a GCP service connection with GCS write permissions
  3. Create a bucket in Webhook Relay
  4. Add an AWS SNS input on the bucket
  5. Add a GCS output on the bucket

Every message published to the SNS topic is stored as an object in your GCS bucket.

Transform Before Storing

Use a Function to extract or reshape the data before writing to GCS:

const snsMessage = JSON.parse(r.body)

// Store just the message content with metadata
const archived = {
    source: "aws-sns",
    topic: snsMessage.TopicArn,
    message: JSON.parse(snsMessage.Message),
    timestamp: snsMessage.Timestamp
}

r.setBody(JSON.stringify(archived))

See the JSON encoding guide for more transformation examples.

Did this page help you?