Logs and business observability

Ship webhooks you can see, search, and replay.

Viably is managed webhook infrastructure with the developer tools you would otherwise build yourself: reliable ingestion, delivery monitoring, safe retries, replay of events that already failed, batching for the streams that run hot, and analytics you can query. Run it on its own, or wire it into the CRM and the automations and turn a system of records into a system of actions.

Free plan forever with no credit card, and unlimited seats on every plan.

No servers, no queue to operate, and no Slack workspace required.

ViablyViably
The Viably webhook relay, showing endpoint health, event volume over ninety days, and the searchable delivery log

Every event that arrived, where it came from, where it went, and whether the delivery survived on the first attempt.

Ingestion

Post JSON to a URL. That is the whole integration.

Create an endpoint and you get a URL and a bearer token. Anything that can send an HTTP request is now a source, and Viably reads the type, renders it, keeps the body, and carries on. GitHub, Stripe and Viably OCR need no mapping work at all, because the relay already knows their shapes.

POST hq.viably.app/relay
{
"type":"transaction",
"title":"Annual plan · 12 seats",
"amount":4320,
"currency":"usd",
}
  • GitHub

    Pushes, pull requests, reviews, issues and CI runs arrive typed, route to the channel each kind belongs in, and sync issues in both directions.

  • Stripe

    Charges, invoices and subscription changes arrive as transactions with the amount and the currency already parsed, and they attribute to the customer who paid.

  • Viably OCR

    A photograph scanned from Slack lands as an event like any other, with the image kept beside the row, so a stack of business cards is auditable rather than anecdotal.

The ledger

Every payload, still readable long after the moment passed.

A log that only tells you something went wrong is a log you stop opening. Filter by category or status, open a row to read the exact body that arrived, follow a failed delivery through its backoff, replay it, and narrow to a single person to see the same rows the CRM is reading. Try the four questions below, or drive it yourself.

viably.app/logs
1,284 kept this month5Sent1Failed1Dropped
transaction09:41Pam Beesly
Pro monthly renewed$59.90
What arrived
{
"type":"charge.succeeded",
"amount":5990,
"currency":"usd",
"receipt_email":"[email protected]"
}
What became of itPosted to #payments in 240ms, signed and de-duplicated.
Kept for the billing period on Free, and for months on Viably+.Export CSV

Every signal that reached Viably today, in the order it arrived, whether or not a channel was listening to it.

12 minTo wire the whole event path
0Servers you have to run
2,000Events a month on the Free plan
Delivery

A downstream outage costs you a delay, and never an event.

Deliveries are retried on a widening schedule and every attempt stays attached to the event, so an outage is a history you can read. When a stream runs hot, batching collapses the flood into one digest while the individual events stay in the log underneath it.

Delivering payment.succeeded
1Attempt 1
2Attempt 2
3Attempt 3
4Attempt 4
Up to 10 attempts, exponential backoff·a blip never costs you an event
📊124 payments today

$7,410 total · one message, not 124

Read the month back without instrumenting anything.

The charts are drawn from the events you already relay, so there is no second tool to wire up and no tagging plan to keep current. Watch the volume of each category day by day, switch to the running total to see what the month added up to, and look back across earlier months on Viably+. Export the range you filtered to as CSV whenever somebody wants the rows themselves.

Month in Review — command center
TransactionsSignupsLeads
1,284Events this month
SignupsBusiest category
MonthsHistory on Viably+
What you get

The parts you would otherwise build and then maintain.

  • One endpoint, bearer authenticated

    Create an endpoint, get a URL and a token, and post JSON to it. Services that cannot set an Authorization header pass the token as a query parameter instead.

  • Retries with exponential backoff

    A delivery that fails is retried on a widening schedule, and the attempts stay attached to the event, so a downstream outage is a history you can read rather than a gap you infer.

  • Manual replay, including what already failed

    When a delivery exhausted its retries while something downstream was having a bad afternoon, replay it by hand from the log and watch the row change state.

  • Every payload searchable

    Filter by endpoint, category or status, open a row to read the exact body that arrived, and export the range you filtered to as CSV.

  • Batching for the streams that run hot

    A launch day that would post a hundred and twenty messages posts one digest instead, and the individual events are all still in the log underneath it.

  • Analytics with nothing to instrument

    Volume by category day by day, the running total for the month, and earlier months on Viably+, all drawn from the events you already relay.

From records to actions

A log is where an event stops. Viably is where it carries on.

Most webhook tooling finishes once the delivery succeeds, which leaves you with an archive and a person who still has to notice. The same event that lands in the ledger can open a contact in the CRM, route to the channel that cares, and spawn a task with a name against it and a due date, then write the outcome back to the row it came from.

viably.app/tasks
1,284events on
the record
Mon 09:12Signal
Michael Scott asks about twelve seatsA forwarded enquiry lands, matches a contact Viably already had, and is written to the ledger as inbound.
Automation that closes the loop·tighly coupled observability-first philosophy

Priced per workspace, not per event you were afraid to send.

Viably is billed per workspace rather than per seat, so putting the whole engineering team in front of the same log costs nothing extra. The Free plan carries the full platform including replay, batching and reporting, and Viably+ raises the limits once your event volume has outgrown it.

14 daysViably+ trial.
Seats on every plan
$7per day, billed annually
90 daysOf delivery history on the chart
FAQ

Questions about the relay

Ready when you are

Send your first event in the next five minutes.

Start free, create an endpoint, and post a payload to it. The row appears with the body you sent still attached.

SignalRecordOwned work
  • Free to start
  • The free plan needs no card
  • Powers on when you need them