Notifications & Alerting

Route events to the right channel, reliably.

Failed payments, new signups, system alerts — route each event type to Slack, PagerDuty, email, and SMS simultaneously, with guaranteed delivery and automatic retry.

No credit card required
Up and running in minutes
99.9% uptime SLA
Business Events
Payment Failed
New Signup
System Alert
route by severity · fan-out
GetHook
route · fan-out · retry
Routing by event type
payment.failedSlack + PagerDuty
user.signupCRM + Email
alert.criticalAll channels
Slack
PagerDuty
Email
SMS / Twilio
The problem

Why raw webhooks aren't enough.

The HTTP webhook protocol has no persistence, no retries, and no observability — and it shows.

Notifications silently fail during service outages

Slack has a brief API outage. Your payment.failed notification fails delivery. No retry. Your finance team never sees the alert. The customer's payment stays in a failed state for hours.

Different events need different channels

payment.failed goes to Slack finance channel. system.down goes to PagerDuty. user.signup goes to your CRM. Writing that routing logic in your application code creates a maintenance burden that grows with every new channel.

One event needs to reach multiple channels

A critical security alert needs to hit PagerDuty, Slack, and send an SMS simultaneously. Building parallel delivery in application code is fragile — a failure in one channel should not block others.

How it works

Three steps to reliable notifications & alerting webhooks.

From raw HTTP POST to guaranteed delivery — set up in under 10 minutes.

01

Send business events to GetHook

Any part of your application POSTs events to GetHook — payment service, auth service, monitoring system. One ingest endpoint for all notification events.

terminal
POST /ingest/src_notifications_token
{ "event_type": "payment.failed", "payload": { "customer_id": "cust_abc", "amount": 9900, "reason": "insufficient_funds" } }
02

Route each event type to the right channel

payment.* to the Slack finance channel, alert.critical to PagerDuty, user.signup to HubSpot CRM. Define routes once — new events are automatically routed without code changes.

terminal
POST /v1/routes
{ "event_type_pattern": "payment.*",     "destination_id": "dest_slack_finance" }
{ "event_type_pattern": "alert.critical", "destination_id": "dest_pagerduty" }
{ "event_type_pattern": "user.signup",    "destination_id": "dest_hubspot" }
03

Retry failed notification sends

Slack API down? PagerDuty returning 503? GetHook retries with exponential backoff (0s → 30s → 2m → 10m → 1h). Notifications are delivered when the channel recovers.

terminal
GET /v1/events/{id}
# Shows per-channel delivery status:
# slack_finance: retrying  (attempt 2 of 5)
# pagerduty:    delivered (attempt 1)
# hubspot:      delivered (attempt 1)
Benefits

Everything you need for notifications & alerting.

Guaranteed notification delivery

5-attempt retry with exponential backoff. Slack outages, PagerDuty API issues, email bounces — notifications are delivered when channels recover.

Pattern-based channel routing

payment.* to finance Slack, alert.* to PagerDuty, user.* to CRM. One rule per channel, no custom routing code.

Fan-out to all channels simultaneously

A critical alert can reach Slack, PagerDuty, email, and SMS at the same time — independently, with independent retry per channel.

Pre-configured for Slack, PagerDuty, HubSpot

Auth and header configuration is pre-wired for popular notification destinations. Add a channel in minutes.

Notification delivery audit trail

Every notification attempt is logged with response code and latency. Prove that an alert was sent and delivered — or identify why it wasn't.

Replay missed alerts

Slack was down and missed a batch of payment.failed alerts? Replay them after Slack recovers. The full alert payload is preserved in the event store.

Start for free

Ready to stop losing webhooks?

Up and running in minutes. No credit card required. Connect your first source and see events flowing in real time.

No credit card
99.9% uptime SLA
HMAC signatures
AES-256 encryption