Alerts · thresholds and notifications
Set the line. Hear about it.
Set a threshold on any index, for any field, for the window that matters. When a clear pass crosses the line, AgroReports notifies your dashboard, email, webhook, WhatsApp or Telegram. The same rule is available through the API and the MCP server.
NDVI · NDMI · NBR · NDRE · NDWI · dashboard · email · webhook · WhatsApp · Telegram
Alerts are in public beta. WhatsApp and Telegram channels are being onboarded.
Alert rule
ArmedChampagne, France
1 May · 15 Sep · Each clear pass
NDVI below 0.55
Last event. NDVI crossed below 0.55. 0.52
2026-08-16 · method v2026.09
The rule
A rule is four things.
No query language. Pick an index, a direction, a field and a window. Add the channels you want.
-
01
Index
NDVI, NDMI, NBR, NDRE, NDWI
The signal you watch.
-
02
Condition
Below or above a value
The line that matters.
-
03
Area
One field or a portfolio
The polygons you monitor.
-
04
Window
A season, a month, a week
When the rule is armed.
Channels
Five ways to hear about it.
Route the same event to the place where someone will act on it. Use one channel or all five.
-
01
Dashboard
A live list of open events, with the field, the index, the value and the scene.
-
02
Email
An immediate message, or a daily digest for the fields you watch.
-
03
Webhook
A signed POST to your endpoint, with the rule, the scene and the values.
-
04
WhatsApp
A message to the number that owns the field. Useful for growers in the field.
-
05
Telegram
A message to a chat or channel. Useful for a team watching a portfolio.
Evaluation
It waits for a clear pass. It fires once.
An alert should be a signal, not a stream. The rule is evaluated on the same cloud-masked scenes as the report.
- Clear pass
- Sentinel-2 L2A, masked for cloud and shadow. Five-day cadence in most regions.
- Crossing
- The event fires when the value crosses the threshold, not every time it is below it.
- Deduplication
- A cooldown holds the same rule to one open event until it recovers or is acknowledged.
- Quiet hours
- Pause a channel, a rule or a field. Snooze until the next pass or a chosen date.
- Provenance
- Every event carries the field, index, value, scene date, valid-pixel share and method version.
An alert is not a diagnosis. It is a reason to look at the field, with the scene and the value attached.
API + MCP
One rule. Every surface.
Create the rule once. Read the events from the dashboard, the API or an agent. The webhook is signed.
curl -X POST https://api.agroreports.org/v1/alerts \
-H "Authorization: Bearer $AGRO_KEY" \
-H "Content-Type: application/json" \
-d '{
"field": "fld_champagne_07",
"index": "ndvi",
"condition": "below",
"threshold": 0.55,
"window": { "start": "2026-05-01", "end": "2026-09-15" },
"channels": ["dashboard", "email", "webhook", "whatsapp"],
"webhook_url": "https://example.com/agro-alerts"
}' > Alert me when NDVI drops below 0.55 on the
Champagne parcel between 1 May and 15 September.
Send it to WhatsApp and email.
Alert armed. I will check every clear pass from
1 May to 15 September. The first crossing goes to
dashboard, WhatsApp and email. create_alert({
field: "fld_champagne_07",
index: "ndvi",
condition: "below",
threshold: 0.55,
window: { start: "2026-05-01", end: "2026-09-15" },
channels: ["whatsapp", "email"]
}) Response · { "id": "alr_champagne_07", "status": "armed" } · same quota as reports and field queries
Examples
Three rules people actually set.
A canopy check, a fire-risk check and a post-fire check. The same four fields, different thresholds.
-
Canopy stress
NDVI below 0.45
Catch a block losing vigour before the canopy thins.
- Field
- Champagne, France
- Window
- 1 May – 15 Sep
- Channels
- Dashboard · Email
-
Fire risk
NDMI below 0.10
A moisture threshold for the months when a dry pass matters.
- Field
- Alentejo, Portugal
- Window
- 1 Jun – 30 Sep
- Channels
- Webhook · WhatsApp
-
Burn severity
NBR above 0.30
A post-fire check that tells you where to send the field team.
- Field
- Var, France
- Window
- 7 days post-fire
- Channels
- Dashboard · Email
Alert questions
Before you set a rule.
When is a rule evaluated?
On every clear Sentinel-2 pass, using the same cloud mask and seasonal dates as the report. Most fields see a pass every five days.
What counts as a trigger?
A crossing. If the rule is NDVI below 0.55, it fires when the value moves from above to below the line. It does not fire on every pass below it.
Can I use more than one channel?
Yes. Route the same event to the dashboard, email, a webhook, WhatsApp and Telegram. You can pause any channel independently.
Does it work when it is cloudy?
It waits for a clear pass. A cloud-blocked scene does not produce a false alert; the event carries the valid-pixel share when it does fire.
Can I test the webhook?
Yes. Send a test event with the same envelope before arming the rule. The signature and retry behaviour are documented in the API reference.
Is it available on MCP and the API?
Yes. create_alert, list_alerts and get_alert_events are MCP tools; POST /v1/alerts and the events endpoint are the REST equivalent.
Can I pause or snooze?
Yes. Pause a rule, a field or a channel; snooze until the next pass or a chosen date.
Start here
Start with one field. One threshold.
Alerts are part of the field record. Use them in the app, or create the same rule through the API and the MCP server.