Telemetry off
Documentation

Documentation

4. Notifications, Triggered Log & Managing Alerts

Created
Jun 12, 2026
Updated
Sep 5, 2026

This page covers what happens when an alert fires — how often, through which channels, where the history lives — and how to manage a growing set of alerts.

Trigger frequency

A condition can stay true for many bars, so each alert chooses how often a true condition may notify you:

  • Once only — fire a single time, then stop. (The alert moves to a triggered state and can be restarted.)
  • Once per bar — at most one notification per bar while the condition holds.
  • Once per bar close — only when a bar closes with the condition true, never on the still-forming bar. See Realtime vs Delayed Data for forming vs confirmed bars.
  • Once per minute — at most one notification per minute.
  • Every time — every qualifying update, with a minimum re-trigger interval to avoid floods.

"A bar" means a bar on the alert's timeframe. For a condition that compares against an indicator, that's the Interval you choose in the dialog — e.g. an alert using a 5-minute VWAP counts 5-minute bars, so Once per bar fires at most once per 5-minute bar. A plain price condition (such as price crossing a level) has no interval, so it runs on a fine 1-minute timeframe and fires promptly when price crosses, regardless of the chart you're viewing — choose Every time if you want every tick.

Expiration

An alert can stop watching on its own: Open-ended (never expires), End of day, 1 week, 1 month, or a custom date and time. An expired alert stops evaluating and is marked accordingly.

Notification channels

Choose any combination of:

  • Toast — an in-app notification in the top-right corner. Toasts stack, auto-dismiss after a few seconds, and can be swiped away or closed with the ✕. When two or more are showing, a Dismiss all pill appears beside the stack and clears every toast — alerts and paper-trading notifications alike — in one click.
  • Browser notification — a system notification. The browser asks permission the first time; if you decline, alerts fall back to a toast.
  • Sound — an audible cue when the alert fires. Because browsers block audio until you have interacted with the page, the cue becomes available after your first click or keypress in the app.
  • Webhook — sends a credential-free CORS POST with Content-Type: application/json to a syntactically valid HTTPS URL. Delivery happens from your browser, so the endpoint must allow cross-origin requests from https://fractalchart.com with an appropriate Access-Control-Allow-Origin header. The JSON body contains alertId, alertName, optional message, instrument, condition, price, and firedAt; the destination URL is never included in the body. Delivery times out after eight seconds and retries once for network/CORS failures, HTTP 408 or 429, and 5xx responses. Other 4xx responses are not retried, and any delivery failure remains best-effort—it never interrupts alert evaluation.

You can also restrict an alert to the regular session only, so equities alerts ignore pre/post-market activity.

The triggered log

Every time an alert fires, an entry is recorded in the Log tab of the Alerts sidebar, newest first. Each entry captures what fired — the alert's name, a summary of the condition, the price, and the time — so the history stays readable even if you later edit or delete the alert. A badge shows how many alerts have triggered. To tidy it up, hover a row and click the trash icon to remove a single entry, or use Clear in the Log toolbar to empty the whole log.

Managing a set of alerts

From the Alerts tab you can search by name, sort the list, and act on any row (pause/resume, snooze, stop/restart, clone, edit, delete — see Creating & Editing Alerts). Each row shows the alert's status and key details at a glance.

When alerts are temporarily unavailable

If coordinated alert storage or authority startup fails, Fractal Chart disables alert evaluation and alert changes instead of starting a second evaluator. Charts, watchlists, paper trading, and other workspace tools remain available. The alert notice and Alerts sidebar offer Reload; if reloading does not recover alerts, close other Fractal Chart tabs and reload again. The notice stays visible until alerts recover or the page reloads, so an unsafe alert state cannot be dismissed while startup retries continue automatically with bounded backoff.

Storage, limits, and backups

Alerts and the triggered log are saved in your browser's local storage on one device:

  • They persist across sessions but are not synced across devices or browsers, and are removed if you clear site data.
  • If the saved alert record is corrupt or was written by a newer app version, Fractal Chart preserves those bytes instead of silently repairing or overwriting them. Alert changes may not persist until that incompatible record is removed; clearing site data removes it but also discards the local alerts it contains.
  • Coordinated deletion history is bounded. After exceptionally high lifetime delete churn, a delete may be refused rather than forgetting an older deletion and allowing it to reappear. Creates and edits continue; only a delete that would exceed the safe history boundary is blocked. Export anything you need, then clear site data to reset that local history.
  • Alerts are evaluated in your browser, so they run only while a Fractal Chart tab is open.
  • You can keep a large number of alerts (up to 500); the triggered log retains the most recent entries (about 200) and rolls off the oldest.
  • Export your alerts to a file and import them in another browser to move or back them up. (Presets and the triggered log are not part of the export.)

This local-first model matches the rest of the workspace — see how watchlists and other data are stored, and the storage note in the FAQ & Troubleshooting.

Next steps

That completes the Alerts guide. Head back to the start to explore other features.

Next: Introduction