Event destinations
A destination defines where events are delivered. Deck supports multiple destination types so you can receive events wherever your infrastructure already lives.Supported destination types
Creating a destination
To create a destination, send aPOST to /v2/event-destinations with the destination type, a type-specific object (keyed by the type name) containing both config fields and credentials, and the events you want to receive.
"events": ["*"] to subscribe to everything.
Credential fields go inside the type-keyed object alongside config fields. There is no separate top-level credentials block.
Destination configuration reference
Each destination type requires specific configuration fields and credentials.- Webhook
- AWS SQS
- AWS Kinesis
- AWS S3
- AWS EventBridge
- GCP Pub/Sub
- Azure Service Bus
- RabbitMQ
- Hookdeck
Delivers events as HTTP
POST requests to a URL endpoint. Signed using the Standard Webhooks specification.Verifying webhook signatures
Deck uses the Standard Webhooks specification for webhook signatures. Every delivery includes headers for verification. To verify signatures, provide awhsec_ signing secret when you create the webhook destination. The secret is stored securely and cannot be retrieved afterward, so save it somewhere safe at creation time.
Headers sent with each delivery
Verification
Use the official Standard Webhooks SDK to verify signatures. SDKs are available for JavaScript, Python, Go, Ruby, Java, Rust, and more.Secret rotation
When you rotate your signing secret, Deck keeps the previous secret valid for 24 hours. During this window, verify against both secrets so you can roll over without downtime.Static IP addresses
Webhook deliveries come from a fixed set of static IP addresses. If your endpoint sits behind a firewall or IP allowlist, add these addresses so deliveries aren’t blocked.136.107.35.24234.86.136.110136.107.63.48
Destination statuses
Deliveries
Each delivery is tracked independently. For webhooks, a delivery fails when the destination does not return a2xx response within 5 seconds.
Failed deliveries are retried up to 10 times with exponential backoff (base 2, starting at 30 seconds).
Persistent failures don’t auto-disable a destination. List failed deliveries with GET /v2/event-destinations/{id}/event-deliveries?status=failure to inspect them.