Skip to main content

Alerts

Alerts in FORJ have two parts that work together:

  1. Alert Definitions (configured by a strategy author in SMITH)
  2. Alert Subscriptions (configured by users who want to receive those alerts)

This split is important: a strategy can define rich alert logic, but no one is notified until there is at least one matching subscription.

How Alerts Work

  1. A strategy author creates Alert Definitions on a strategy (for example: "fire an alert when action X executes" or "when state changes from A to B")
  2. During strategy runtime, when a definition matches, FORJ emits an alert event and creates an AlertTrigger record
  3. FORJ evaluates Alert Subscriptions (scope, kind, severity, and channel rules)
  4. For each matching subscriber × channel, FORJ creates and processes an AlertDelivery record

Alert Definitions vs Subscriptions

ConceptWho configures itPurpose
Alert DefinitionStrategy author (in SMITH)Defines what strategy behavior should emit alerts
Alert SubscriptionAny authorized userDefines who gets alerted and how (in-app, email, SMS, webhook)

Alert Trigger Types

Alert Definitions can emit alerts for different runtime behaviors:

TypeFires When
EventA specific market event arrives (e.g., a new candle on a particular stream)
ConditionA specific condition evaluates to true or false
ActionA specific action executes (e.g., "Execute Trade" fires)
TransitionThe strategy changes from one state to another

Severity Levels

Each Alert Definition includes severity. Subscriptions can then filter by severity (for example: high-only to SMS, everything to in-app).

Delivery Channels

Subscriptions can route matching alerts through multiple channels:

ChannelDescription
In-appReal-time push notification within FORJ
EmailSent to your registered email address
WebhookHTTP POST to an external URL (for integration with copy traders, Slack, Discord, etc.)
SMSText message notification

See Configuring Alert Definitions to define what emits alerts, then Subscriptions to choose who receives them.