Message queues

Deliver events straight to SQS, EventBridge, and RabbitMQ.

Deliver events to the queues and event buses your customers already use, like Amazon SQS, Amazon EventBridge, and RabbitMQ. No listener to host, and no glue code for them to write.

Skip the listener that only forwards to a queue.

Many teams process events from a queue, not an HTTP handler. With webhooks alone, they have to run a public endpoint whose only job is to put each event on that queue. Delivering to the queue directly removes that hop, and the service they'd have to keep running for it.

Processed at their pace

The queue absorbs bursts, and their existing workers pick up events like any other message.

Managed in the App Portal

Customers set up queue destinations in the same portal they use for their webhook endpoints.

No public endpoint

Customers don't have to expose an HTTPS endpoint to the internet. Events go straight to infrastructure they already secure.

Supported queues and event buses

Events go straight onto your customer's SQS queue, EventBridge bus, or RabbitMQ broker, where their existing consumers pick them up.

One message per event

Each event arrives as its own message, with the event type and payload as JSON. A transformation can reshape the body into whatever their consumers expect.

Your API sends
{
  "eventType": "invoice.paid",
  "payload": {
    "id": "inv_123",
    "amount": 1000
  }
}
Amazon SQS · invoice-events
Message IDEvent typeSent8f2c41d0invoice.paidjust now3a91f7c2customer.updated2 min agoc07e55a8invoice.paid4 min ago
Body · 8f2c41d0
{
  "eventType": "invoice.paid",
  "payload": { "id": "inv_123", "amount": 1000 }
}

Which message queues and event buses are supported?

Amazon SQS, Amazon EventBridge, and RabbitMQ. Your customers add them in the App Portal, next to their webhook endpoints.

What does my customer need to configure?

For SQS, the queue URL plus an AWS region and credentials. For EventBridge, the event bus name or ARN and the same AWS details. For RabbitMQ, an AMQP connection URI, which can include a virtual host, and a routing key.

How can EventBridge rules match these events?

Every event is published with a source of svix-webhooks- followed by your Svix application ID, and a detail type your customer chooses, which defaults to application/json. Rules can match on either.

Can the message body be changed?

Yes. A transformation, a short JavaScript function, receives each batch and returns the exact message bodies to send, so they match the format your customer's consumers already expect.

Do I need to change how I send events?

No. You keep calling the same message API. Your customers configure how they want to receive them in the Application Portal.

Start sending webhooks today, no credit card required.