---
title: "Service Connections | WebhookRelay"
meta:
  "og:description": "Connect Webhook Relay to AWS and GCP cloud services. Receive events from S3, SQS, SNS, GCS, Pub/Sub and send webhooks to cloud providers."
  "og:title": "Service Connections"
  description: "Connect Webhook Relay to AWS and GCP cloud services. Receive events from S3, SQS, SNS, GCS, Pub/Sub and send webhooks to cloud providers."
---

![Stripes](https://webhookrelay.com/docs/service-connections/images/stripes.svg)

Documentation

**Fundamentals**

# **Service Connections**

Connect Webhook Relay to AWS and GCP cloud services. Receive events from S3, SQS, SNS, GCS, Pub/Sub and send webhooks to cloud providers.

Service connections let you integrate Webhook Relay with cloud providers like **AWS**, **GCP** and **Azure**. Once connected, you can receive events from cloud services (inputs) and send webhooks into cloud services (outputs) — all through your existing buckets.

![Service Connections](https://webhookrelay.com/docs/service-connections/images/docs/sc/add_sc.png)

## [How It Works](#how-it-works)

A service connection stores your cloud provider credentials (encrypted at rest). You then attach **inputs** and **outputs** to any bucket:

- **Inputs** poll or subscribe to cloud services and relay messages into your bucket as webhook events
- **Outputs** forward incoming webhooks from your bucket to cloud services

```
Cloud Service ──► Input ──► Bucket ──► Output ──► Cloud Service
(SQS, Pub/Sub)                                    (S3, SNS)
```

This means you can bridge different cloud providers through Webhook Relay. For example, receive messages from a GCP Pub/Sub topic and forward them to an AWS SQS queue — or vice versa.

## [Supported Services](#supported-services)

| Provider | Service | Receive Events (Input) | Send Webhooks (Output) |
| --- | --- | :---: | :---: |
| AWS | [S3](https://webhookrelay.com/docs/service-connections/docs/service-connections/aws_s3) | Object notifications | Upload objects |
| AWS | [SQS](https://webhookrelay.com/docs/service-connections/docs/service-connections/aws_sqs) | Poll messages | Send messages |
| AWS | [SNS](https://webhookrelay.com/docs/service-connections/docs/service-connections/aws_sns) | Subscribe to topics | Publish to topics |
| GCP | [Cloud Storage (GCS)](https://webhookrelay.com/docs/service-connections/docs/service-connections/gcp_gcs) | Object notifications | Upload objects |
| GCP | [Pub/Sub](https://webhookrelay.com/docs/service-connections/docs/service-connections/gcp_pubsub) | Subscribe to topics | Publish to topics |

Need something else? Ping us at [info@webhookrelay.com](https://webhookrelay.com/docs/service-connections//mailto:info@webhookrelay.com) and we'll add it to our roadmap.

## [Setting Up Credentials](#setting-up-credentials)

![Service Connections](https://webhookrelay.com/docs/service-connections/images/docs/sc/service_connections.png)

Service connections can be added [here](https://my.webhookrelay.com/service-connections).

### [AWS](#aws)

You need an **Access Key ID** and **Secret Access Key** from an IAM user with permissions for the services you want to use.

1. Go to **AWS IAM Console** > Users > select or create a user
2. Under **Security Credentials**, create an Access Key
3. Copy the Access Key ID and Secret Access Key
4. Create a service connection in Webhook Relay with these credentials

### [GCP](#gcp)

You need a **Service Account JSON key** from a GCP project.

1. Go to **GCP Console** > IAM & Admin > Service Accounts
2. Create a service account (or use existing) and grant roles for the services you need
3. Go to **Keys** tab > Add Key > Create New Key > JSON
4. Create a service connection in Webhook Relay, paste the JSON key contents

## [Transforming Messages with Functions](#transforming-messages-with-functions)

You can attach [Functions](https://webhookrelay.com/docs/service-connections/docs/webhooks/functions) to your bucket to transform messages as they pass through. This is useful when bridging different services that expect different payload formats.

For example, you could receive an S3 object notification, use a function to extract the relevant data and reformat it, then forward the result to a Pub/Sub topic or any HTTPS endpoint. See the [JSON encoding](https://webhookrelay.com/docs/service-connections/docs/webhooks/functions/manipulating-json) and [HTTP requests](https://webhookrelay.com/docs/service-connections/docs/webhooks/functions/make-http-request) guides for details on payload manipulation.

## [Cross-Cloud and Hybrid Examples](#cross-cloud-and-hybrid-examples)

Because Webhook Relay acts as a broker between inputs and outputs, you can combine any input with any output — even across providers:

| Use Case | Input | Output |
| --- | --- | --- |
| Bridge GCP to AWS | GCP Pub/Sub subscription | AWS SQS queue |
| Bridge AWS to GCP | AWS SNS topic | GCP Pub/Sub topic |
| Cloud to on-premises | AWS SQS queue | [Internal destination](https://webhookrelay.com/docs/service-connections/docs/webhooks/internal/localhost) (localhost) |
| Cloud to any API | GCP GCS bucket | [Public destination](https://webhookrelay.com/docs/service-connections/docs/webhooks/public/public-destination) (any HTTPS endpoint) |
| Multi-cloud fan-out | AWS S3 notifications | GCP GCS + AWS SQS + HTTPS API |

## [Security](#security)

- **Encryption at rest** — secret fields (Secret Access Key, Service Account Key) are encrypted with AES-256-GCM
- **Credential masking** — API responses never return full credentials
- **Account isolation** — each account can only access its own connections

Did this page help you?