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
- Strategy runtime matches an Alert Definition
- FORJ writes an AlertTrigger
- FORJ resolves matching Alert Subscriptions
- FORJ writes one or more AlertDelivery rows (subscriber × 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) |
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.
When building integrations, test your webhook URL with a low-severity alert first to verify your endpoint handles the payload format correctly.