Notifications & Delivery
When a strategy runtime event matches an Alert Definition, FORJ fires a trigger. From there, matching subscriptions are expanded into one or more deliveries and sent through their 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
- Strategy runtime matches an Alert Definition
- FORJ fires a trigger
- FORJ resolves matching Alert Subscriptions
- FORJ queues one or more deliveries (one per subscriber and channel)
- Deliveries are dispatched and status-tracked
Delivery Status
Each alert delivery goes through a lifecycle:
| Status | Meaning |
|---|---|
| Pending | Queued for delivery |
| Sent | Successfully delivered to the channel |
| Failed | Delivery attempt failed (retries may occur) |
| Read | In-app delivery has been acknowledged by the subscriber |
You can check delivery status in the Alert Activity view under HEARTH.
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.
Test your webhook URL with a low-severity alert first to verify your endpoint handles the payload format correctly.