Skip to main content

Notifications & Delivery

When a strategy runtime event matches an Alert Definition, FORJ creates an AlertTrigger. From there, matching subscriptions are expanded into AlertDelivery records and sent through configured channels.

This page explains that delivery half of the alert pipeline.

In-App Notifications

In-app alerts are delivered in real-time. When an alert fires, you'll see it appear in the alert center (the bell icon in the top bar) immediately — no page refresh needed.

The alert center shows:

  • Alert message with timestamp
  • Severity indicator
  • Which strategy triggered it
  • Read/unread status

Pipeline Summary

  1. Strategy runtime matches an Alert Definition
  2. FORJ writes an AlertTrigger
  3. FORJ resolves matching Alert Subscriptions
  4. FORJ writes one or more AlertDelivery rows (subscriber × channel)
  5. Deliveries are dispatched and status-tracked

Delivery Status

Each alert delivery goes through a lifecycle:

StatusMeaning
PendingQueued for delivery
SentSuccessfully delivered to the channel
FailedDelivery attempt failed (retries may occur)

You can check delivery status in the Alert Activity insights view.

Webhook Delivery

Webhook deliveries send an HTTP POST to your configured URL with the alert payload in JSON format. The payload includes:

  • Alert details (kind, severity, template message)
  • Trigger cause (which event/condition/action/transition fired it)
  • Strategy context at the time of the alert
  • Timestamp

Webhook deliveries are async — FORJ queues and sends them, tracking success/failure for each attempt.

tip

When building integrations, test your webhook URL with a low-severity alert first to verify your endpoint handles the payload format correctly.