Everything you need to deliver events reliably
From ingestion to delivery to replay, a complete outbound event delivery platform.
- Validatedschema check · 12ms
- Routed2 destinations matched
- Transformedrename · add source
- Delivered to acme-prod202 · 38ms
- Retried bigquery429 → 200 · 156ms
- Logged + audited365d retention
Event Ingestion
Accept product events from any source via a simple REST API. Batch or single-event ingestion with sub-100ms acknowledgment.
- Batch and single-event ingestion endpoints
- Schema validation on every event
- Canonical event model with correlation IDs
- Idempotency support to prevent duplicates
- Fast async acknowledgment, processing happens off the hot path
Destination Management
Configure where your events go. 18 destination types across webhooks, object storage, warehouses, queues, streams, databases, and analytics, with encrypted credential storage and one-click testing.
- Webhooks, S3, GCS, Azure Blob, BigQuery, Snowflake, ClickHouse, SQS, RabbitMQ, Azure Service Bus, Kafka, Kinesis, Pub/Sub, SNS, EventBridge, Postgres, MySQL, PostHog
- Encrypted credential storage with masked display
- Test event button to verify connectivity
- Enable/disable destinations without deleting config
- Per-destination delivery tracking and health
Embedded Customer Portal
Let your customers configure their own destinations inside your product. Drop in a React component or JS snippet, themed to your brand, scoped to one customer, signed by short-lived session tokens.
- React component (@pushrail/embed-react) or framework-agnostic JS snippet (@pushrail/embed-js)
- Per-customer scoping, each end-customer sees only their own destinations and logs
- Theme via CSS custom properties to match your product
- Short-lived signed session tokens, no shared credentials in the browser
- All portal changes flow into the same audit log as dashboard changes
Routing & Filtering
Control exactly which events reach each destination. Subscribe by event type, filter by field values, and scope by environment.
- Event type subscriptions per destination
- Field-value filter expressions
- Environment scoping (production, staging, etc.)
- Include and exclude rule support
- Preview which events match before saving
Delivery Engine
At-least-once delivery with intelligent retry logic. Every attempt is logged, every failure is classified, and nothing is silently dropped.
- At-least-once delivery guarantee
- Exponential backoff with jitter
- Transient vs permanent failure classification
- Dead-letter queue for exhausted retries
- Per-attempt logging with response codes and latency
Replay & Recovery
Replay failed or missed deliveries by time range, destination, or event type. Preview the scope before executing and track progress independently.
- Replay by time range, destination, or event type
- Preview scope and count before executing
- Independent progress tracking per replay job
- Replayed deliveries appear in the same logs
- No separate replay billing, counts as regular deliveries
Observability
Full visibility into every event and delivery. Logs, health dashboards, and attempt history, so you always know what happened and why.
- Per-delivery logs with attempt history
- Destination health indicators
- Response codes, latency, and error details
- Transformed payload preview (sealed under Private Payload Mode)
- Recent activity feed per destination
Transformations
Shape event payloads to match what each destination expects. Declarative transforms, no scripting, no surprises.
- Rename, drop, and add fields
- JSON path mapping
- Select payload subsets
- Wrap in destination-specific envelopes
- Preview transformed output before saving
Security & Compliance
Enterprise-grade security built in. Tenant isolation, encrypted secrets, and a full audit trail for every configuration change. We already encrypt all data at rest, and Private Payload Mode goes a step further so even our own dashboard and APIs cannot read your event contents. Scale and above add granular role-based access control.
- Secrets encrypted at rest (AES-256)
- Private Payload Mode seals event contents with a key our dashboard and APIs cannot read, so only delivery workers can open them at the instant of sending (opt-in, per environment)
- Strict tenant isolation at every layer
- Invite teammates with roles (RBAC on Scale+)
- Audit logs for all config and secret changes
- Sensitive field redaction in delivery logs
Frequently asked questions
What does Pushrail do end to end?
Pushrail ingests product events from your service, routes and filters them per destination, applies declarative transforms, delivers to customer-configured destinations, retries transient failures, and exposes delivery logs and replay, the full path from ingestion to recovery.
Can customers configure destinations themselves?
Yes. The embedded customer portal lets each customer configure their own destinations, routing rules, and credentials, and view their own delivery logs and replay, scoped to their tenant.
Does Pushrail support transforms?
Yes. Declarative transforms (renaming, dropping, adding, and wrapping fields per destination) are available with no code. Scripted transforms unlock on the Growth tier and above when you need them.
How does Pushrail handle failures?
Delivery is at-least-once. Transient failures retry with backoff, exhausted retries land in a dead-letter queue, and every attempt is recorded in the delivery log so failures can be inspected and replayed.
See it in action
Sign up free and send your first event in under 5 minutes.
Protected by reCAPTCHA, Google's Privacy Policy and Terms apply.