Deliver events straight to SQS, EventBridge, and RabbitMQ.
Skip the listener that only forwards to a queue.
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.
{
"eventType": "invoice.paid",
"payload": {
"id": "inv_123",
"amount": 1000
}
}{
"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.