> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3os.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Situation Monitor: News Signal

Triggers when the Situation Monitor classifies a matching market signal (news, on-chain event, technical breakout, macro, earnings, M&A, hack/exploit, etc.). Optionally filter by tickers, event types, minimum absolute impact (0-10, default 4), confidence tier (high|medium|low, default high), or scope (asset|sector|market). Powered by services/workers/situation-monitor.

Trigger Other

Triggers when the Situation Monitor classifies a matching market signal (news, on-chain event, technical breakout, macro, earnings, M&amp;A, hack/exploit, etc.). Optionally filter by tickers, event types, minimum absolute impact (0-10, default 4), confidence tier (high|medium|low, default high), or scope (asset|sector|market). Powered by services/workers/situation-monitor.

## At a Glance

| Field | Value |
| --- | --- |
| Trigger ID | `situation-fired` |
| Category | Other |
| Tags | `market`, `news`, `situation-monitor`, `webhook`, `alerts` |

## Trigger Configuration

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `tickers` | `array` | No | Filter by ticker symbols \(e.g. \['NVDA', 'BTC'\]\). Case-insensitive. Empty/omitted = match any ticker. |
| `eventTypes` | `array` | No | Whitelist of situation event types. Omitted = all event types pass \(subject to excludeEventTypes\). |
| `excludeEventTypes` | `array` | No | Blacklist of event types. Defaults to \['social_sentiment'\] when omitted. Explicit empty array clears the default. |
| `minAbsImpact` | `number` | No | Minimum absolute impact score \(0-10\). Both bullish +X and bearish -X events pass when \|impact\| &gt;= this threshold. |
| `confidenceTier` | `string` | No | Minimum confidence tier. Inbound situations at or above this rank fire \(high &gt; medium &gt; low\). |
| `scope` | `string` | No | Optionally restrict to a single scope. Omitted = all scopes pass. |

## Trigger Result

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `triggeredAt` | `string` | Yes | Timestamp when the situation was received \(UTC, RFC3339 format\) |
| `situation` | `object` | Yes | - |
| `tickers` | `array` | Yes | Tickers this situation references |
| `sources` | `array` | No | Source articles/posts behind this situation, with links \(up to 10, freshest first\). Empty array when no linkable sources. |

## Workflow Root Example

```json
{
  "nodes": {
    "root": {
      "type": "situation-fired",
      "payload": {
        "tickers": [],
        "eventTypes": [
          "earnings"
        ],
        "excludeEventTypes": [],
        "minAbsImpact": 4,
        "confidenceTier": "high"
      },
      "children": [
        "log_event"
      ]
    },
    "log_event": {
      "type": "log",
      "payload": {
        "message": "Triggered at {{$trigger.triggeredAt}}"
      },
      "children": []
    }
  }
}
```

**Reference trigger output**

Downstream nodes can use `{{$trigger.triggeredAt}}` and any result fields listed above. Event triggers usually expose the raw source payload under a field such as `event`, `body`, `trade`, or `raw`.