---
title: "How to Send Webhooks to AWS SQS (No Consumer Code) | WebhookRelay"
meta:
  "og:description": "Forward incoming webhooks straight into an Amazon SQS queue with Webhook Relay Service Connections — no Lambda, no consumer to write. Decouple, buffer, and process webhooks reliably."
  "og:title": "How to Send Webhooks to AWS SQS (No Consumer Code)"
  description: "Forward incoming webhooks straight into an Amazon SQS queue with Webhook Relay Service Connections — no Lambda, no consumer to write. Decouple, buffer, and process webhooks reliably."
---

![Stripes](https://webhookrelay.com/blog/webhook-to-sqs/images/stripes.svg)

# **How to Send Webhooks to AWS SQS (No Consumer Code)**

Forward incoming webhooks straight into an Amazon SQS queue with Webhook Relay Service Connections — no Lambda, no consumer to write. Decouple, buffer, and process webhooks reliably.

![How to Send Webhooks to AWS SQS (No Consumer Code)](https://webhookrelay.com/blog/webhook-to-sqs/images/blog/heroes/route.jpg)

Putting webhooks onto a queue is a common reliability pattern: accept the event fast, drop it on a queue, and process it asynchronously so a slow handler never causes the provider to retry or time out. The usual way to get there is to stand up an API Gateway + Lambda just to call `SendMessage`. With Webhook Relay [Service Connections](https://webhookrelay.com/blog/webhook-to-sqs/blog/introducing_service_connections/), you skip that — webhooks land in [Amazon SQS](https://aws.amazon.com/sqs/) directly.

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

Webhook Relay has **service connections** (your cloud credentials) and **outputs** (where to send data). When a webhook arrives in a bucket, Webhook Relay forwards it to every output attached to that bucket — including an SQS queue:

```
Provider --> Webhook Relay bucket --> SQS output --> your queue --> your consumer
```

No public Lambda, no consumer needed just to enqueue. Your own worker reads the queue on its own schedule.

## [1. Create an AWS service connection](#_1-create-an-aws-service-connection)

In the dashboard, add a **service connection** for AWS with an access key and secret. The key only needs one permission for this:

```
{
  "Effect": "Allow",
  "Action": "sqs:SendMessage",
  "Resource": "arn:aws:sqs:us-east-1:123456789012:my-queue"
}
```

Secrets are encrypted at rest (AES-256-GCM) and never returned in full by the API.

## [2. Attach an SQS output to a bucket](#_2-attach-an-sqs-output-to-a-bucket)

Add an **SQS output** to the bucket that will receive your webhooks. The only required field is the full queue URL:

```
https://sqs.us-east-1.amazonaws.com/123456789012/my-queue
```

The region is auto-detected from the URL (an `arn:aws:sqs:...` ARN works too). From now on, every webhook delivered to the bucket is sent to the queue as a message.

## [3. Point your provider at the bucket URL](#_3-point-your-provider-at-the-bucket-url)

Use the bucket's public Webhook Relay endpoint as the webhook URL in Stripe, GitHub, Shopify, or any provider. Test it with `curl`:

```
curl -X POST https://your-webhook-relay-endpoint \
  -H 'Content-Type: application/json' \
  -d '{"event":"order.created","id":"ord_123"}'
```

The message appears in your SQS queue within seconds.

## [Why route webhooks through a queue](#why-route-webhooks-through-a-queue)

- **Absorb spikes.** A burst of webhooks queues up instead of overwhelming your handler.
- **Decouple delivery from processing.** Your consumer can be down for maintenance; messages wait in SQS.
- **Fan-in.** Send webhooks from many providers into one queue and process them uniformly.
- **Retry safely.** Combine with SQS visibility timeouts and a dead-letter queue.

## [Going further](#going-further)

- Add a [transformation](https://webhookrelay.com/blog/webhook-to-sqs/features/transform-webhooks/) to reshape or enrich the payload before it hits the queue.
- [Filter](https://webhookrelay.com/blog/webhook-to-sqs/features/forwarding-rules/) so only the events you care about are enqueued.
- Send to [multiple destinations](https://webhookrelay.com/blog/webhook-to-sqs/features/webhook-multiple-destinations/) at once — e.g. SQS for processing and S3 for an archive.
- Prefer Google Cloud? See [sending webhooks to Pub/Sub](https://webhookrelay.com/blog/webhook-to-sqs/blog/webhook-to-pubsub/).

[Inspect a webhook first](https://webhookrelay.com/blog/webhook-to-sqs/webhook-bin/) or [create a free account](https://my.webhookrelay.com/register) to wire up the SQS output.