Web SDK
Typed events from any browser app, batched and retried for you.
120+ managed destinations and a typed source for every platform. Rivora handles retries, ordering, rate limits and schema changes so your team doesn't write glue code.
Typed events from any browser app, batched and retried for you.
Swift package with offline queueing and background flush.
Kotlin library that survives restarts and flaky networks.
Node, Python, Go, Ruby and Java clients with the same API.
Turn any webhook into a typed, rewindable event stream.
Row changes captured from the write-ahead log, in order.
Binlog capture with schema tracking and back-fills.
Consume topics and queues you already run.
Load events into partitioned tables, typed from your schemas.
Write open table formats straight to your object store.
Compressed, partitioned archives for long-term retention.
Upserts into your own database with idempotent writes.
Send cleaned events and identities to your analytics tool.
Keep dashboards fresh without a nightly batch job.
Exposure and conversion events for your experiment platform.
Tie rewinds to the business events that matter.
Update accounts and contacts as customers act.
Usage events for metered billing, counted exactly once.
Give agents the last 50 events next to every ticket.
Trigger lifecycle email from real product behaviour.
Post the events your team cares about to a channel.
Page the right person when a critical event spikes.
Reach users on mobile seconds after an event.
Signed, retried HTTP delivery to any endpoint.
Target flags with live user properties.
Keep a search index in sync with what users do.
Sync modelled tables back into operational tools.
Deliver anywhere with a TypeScript function you own.
No integrations match that search. Ask us to build it
Destinations
Routes are code in your repo, so adding a destination is a pull request and backfilling it is one command.
Back-off and retry for up to 72 hours without reordering a single user's events.
Destinations receive exactly the shape they expect, checked against your versioned schemas.
Rivora respects each tool's limits and batches where the API allows it.
Connect a new tool and rewind history into it, from one day to a year back.
import { route } from "@rivora/sdk";
export default route(
"checkout.completed"
)
.to("warehouse")
.to("crm", {
when: (e) => e.amount > 10000,
})
.to("team-chat", {
channel: "#big-deals",
});Build your own
Custom functions run next to your pipeline with the same retries, ordering and rewind as managed destinations. Most take under 30 lines.
Free up to a million events a month. Upgrade when you outgrow it, or talk to us about volume, compliance and running Rivora in your own cloud.
Need volume pricing or a security review?
.