Celiq
v0.12Open app โ†—
Docs/Collaboration/Alerts

Alerts

Describe a condition in plain English and Celiq turns it into a governed daily check that notifies you in-app or over Slack when it triggers.

TracerWeaverLuminaryUpdated June 2026 ยท 7 min read
โœฆ
In this section
Part of Celiq's semantic layer platform. Connect your warehouse, model your data once, query it everywhere.
๐Ÿ’ก
Tip
What it is: Natural-language alerts โ€” describe a condition like "notify me when CAC exceeds $50" and Celiq parses it into a structured threshold attached to a governed reveal, then checks it daily.
When to use it: When you want to be told the moment a metric crosses a line, without filling in a form or watching a dashboard.
Where to find it: The Alerts pill in the navigation (bell-plus icon) opens the Alerts page at /alerts; you can also open the Set an Alert drawer from an Orion answer.
Who can use it: Tracer, Weaver, and Luminary.

Alerts let you describe, in plain English, a condition you want Celiq to watch. Orion reads your sentence, matches it to a governed reveal and metric, and turns it into a structured check. Once a day Celiq re-runs that reveal, compares the value to your threshold, and โ€” if the condition is met โ€” raises the alert: it adds an item to your Action Center and, if you've pointed it at Slack, sends a message there too.

Overview

A natural-language alert is built from one sentence. You type the condition the way you'd say it to a colleague, Celiq parses it with Orion, and you confirm the structured result before anything is saved. From then on the alert runs unattended on a daily schedule.

Every alert resolves to four things:

  • Metric โ€” the human-readable measure you care about (e.g. CAC, Return rate).
  • Reveal โ€” the governed reveal that backs the metric. Alert values come from reveals only, never raw SQL.
  • Condition โ€” one of exceeds, drops_below, or changes_by.
  • Threshold โ€” the number to compare against, with a unit (dollars, percent, count, or ratio).

Because evaluation runs through your governed reveal, an alert always uses your canonical metric definition and respects your row- and column-level security โ€” it can't fire on an approximation, and a restricted owner's alert can't broadcast a value computed over rows they aren't allowed to see.

When to use it

Use an alert when you want a metric watched continuously and don't want to remember to look:

  • "Tell me if customer acquisition cost climbs past my target."
  • "Let me know the day return rate slips below an acceptable level."
  • "Ping me if revenue swings by more than 15% week over week."

If instead you want Celiq to surface unexpected movements you didn't think to watch for โ€” spikes and dips it detects on its own โ€” that's a different feature. See Signals.

Alerts vs Signals

Alerts (this page)Signals
What it watchesA specific metric against a threshold you defineAnomalies Celiq detects automatically
How you set it upType a sentence in plain EnglishCeliq scans your metrics; no per-metric setup
What triggers itYour condition (exceeds / drops_below / changes_by) is metA statistical anomaly in a metric
Best for"Tell me when X crosses this line""Tell me about anything unusual"

Set an Alert when you already know the line you care about. Watch Signals when you want Celiq to find the surprises for you.

Concepts

TermWhat it means
ConditionThe comparison Celiq makes. exceeds fires when the value goes above the threshold; drops_below fires when it falls under; changes_by fires when the absolute percent change reaches the threshold.
ThresholdThe number the metric is compared against, plus a unit โ€” dollars, percent, count, or ratio.
Check scheduleHow often the alert runs. Today the only supported schedule is daily.
Statusactive (checked daily), paused (kept but not checked), or archived. Only active alerts run.
Notify channelWhere a trigger is delivered: in_app (the Action Center, the default) or slack (a channel or DM).
RevealThe governed metric definition the alert runs against. Required โ€” an ungoverned metric can't be alerted on.

Getting started

Prerequisites:

  • A governed reveal that exposes the metric you want to watch. If the metric has no reveal, build one in Forge first.
  • A workspace Anthropic API key so Orion can parse your sentence. If none is configured, parsing returns a hint to add one in Lumen โ†’ AI settings.
  • A role of Tracer or above (Tracer, Weaver, Luminary).

To open the Alerts page, click the Alerts pill in the navigation โ€” the bell-plus icon, distinct from the Action Center. The page lists every alert in your workspace with an Active Alerts (N) count, and a Create Alert button to add one.

Step-by-step

There are two ways to start: from scratch on the Alerts page, or directly from an Orion answer that already has the metric in context. Both open the same Set an Alert drawer.

1

Open the Set an Alert drawer

On the Alerts page, click Create Alert (or + Create Alert in the empty state). Alternatively, from an Orion answer that includes a metric, choose to set an alert on it โ€” the drawer opens pre-filled with your sentence.

2

Describe the alert in plain English

In the Describe your alert in plain English field, type the condition, e.g. "notify me when CAC exceeds $50". Then click Parse Alert โ†’ (or press Cmd/Ctrl+Enter).

3

Review what Orion parsed

Orion returns a structured summary so you can sanity-check it before saving:

  • Metric โ€” the metric and the reveal it resolved to, e.g. CAC (via cac reveal).
  • Condition โ€” the comparison and threshold, e.g. exceeds $50.
  • Check โ€” the schedule (daily).

If Orion isn't fully sure of the metric match, it shows a confidence note ("Medium confidence โ€” verify the metric is correct" or "Low confidence โ€” double-check the metric match"). Click Back to reword if it got the metric wrong.

4

Create the alert

Click Create Alert. The alert is saved as active and will be checked daily. Celiq also runs an immediate value preview so you can see where the metric stands right now.

5

Confirm it's wired correctly (optional)

On the Alerts page, click Test now on the alert. Celiq evaluates the reveal immediately and shows the current value against the threshold, e.g. Current: $38 (safe) or Current: $62 (triggered) โ€” no waiting for the daily batch and no notifications sent.

๐Ÿ“
Note

If Orion can't confidently match your sentence to a reveal โ€” the metric isn't governed, or the phrasing is ambiguous โ€” it returns a hint instead of saving a broken alert. Reword the condition, or build a reveal for the metric first in Forge.

Examples

Phrases you can type, and how they map to a condition:

You typeConditionThreshold
"notify me when CAC exceeds $50"exceeds50 (dollars)
"alert me if return rate drops below 5%"drops_below5 (percent)
"tell me when revenue changes by more than 15%"changes_by15 (percent)

Once parsed and created, the alert is stored as a structured config. A representative shape:

json
{
  "metric_name": "CAC",
  "reveal_name": "cac",
  "domain_name": "marketing",
  "condition": "exceeds",
  "threshold_value": 50,
  "threshold_unit": "dollars",
  "check_schedule": "daily",
  "confidence": "high"
}

When the daily check finds the condition met, you'll see an Action Center entry titled like CAC exceeds $50 with the line Current value is $62. Triggered alert: "notify me when CAC exceeds $50". If the alert is pointed at Slack, the same trigger posts a message to your chosen channel or DM.

Best practices

  • Threshold first, then watch. Set the line where it genuinely matters to you โ€” an alert that fires every day is noise.
  • Test now after creating. A quick test confirms the alert is wired to the metric you intended and shows where the value sits today.
  • Use changes_by for volatility. When the absolute level matters less than the swing (e.g. week-over-week revenue), changes_by reads the magnitude of movement rather than a fixed level.
  • Govern the metric once. Because alerts run on reveals, defining a metric well in Forge benefits alerts, Orion, and dashboards all at once.
  • Pause instead of delete when you only want a temporary break โ€” a paused alert keeps its history and can be resumed.

Tips

๐Ÿ’ก
Tip

You don't have to start from the Alerts page. After Orion answers a question that includes a metric, set an alert straight from that answer โ€” the metric and reveal are already known, so the drawer opens pre-filled and you just confirm the threshold.

Common mistakes

โš ๏ธ
Warning
Alerting on an ungoverned metric. Alert values come from governed reveals only โ€” never raw SQL. If a metric has no reveal, Orion can't match your sentence and returns a hint. Build the reveal in Forge first.

Expecting hourly checks. Alerts run once a day. There is no hourly or weekly schedule.

Expecting to edit the condition or threshold. An alert's actions are Test now, Pause/Resume, and Delete โ€” there is no edit. To change the metric, condition, or threshold, delete the alert and create a new one.

Skipping the review step. If a sentence could mean more than one metric, Orion may pick the wrong reveal and flag low confidence. Always check the parsed Metric line before clicking Create.

Troubleshooting

SymptomCauseFix
"No AI key configured for this workspace."No Anthropic key is set for the workspace, so Orion can't parse the sentence.Add an Anthropic key in Lumen โ†’ AI settings, then parse again.
"Could not understand that alert."Orion couldn't extract a structured config from the text.Rephrase using a clear pattern, e.g. "notify me when CAC exceeds $50" or "alert me if return rate drops below 5%".
"Unsupported condition. Supported: exceeds, drops below, changes by X%."The phrasing mapped to a condition Celiq doesn't support.Reword to one of the three: exceeds, drops below, or changes by a percent.
"Could not read a threshold number from your alert."No number was found in the sentence.Include a number, e.g. "exceeds $50".
"Couldn't match 'โ€ฆ' to a metric in your workspace."Orion couldn't tie the metric to any governed reveal.Use a metric that has a reveal, or create the reveal in Forge. The hint lists available metrics.
Test now shows an error instead of a valueThe reveal failed to run or returned no numeric value (e.g. it has no metrics).Open the reveal in Forge and confirm it resolves and exposes a numeric metric.
Alert never triggers even when you expect it toIt may be paused, or the daily batch hasn't run since the metric crossed.Confirm the status badge reads Active, then click Test now to evaluate immediately.
Trigger doesn't reach SlackThe alert's notify channel isn't Slack, there's no target, or no Slack bot token is configured.Confirm the alert is set to notify Slack with a valid channel/DM, and that the workspace has a Slack bot token.