Alert Types
Whether supports two alert types:- Regime-change alerts: Immediate notifications when thresholds cross and regimes flip
- Weekly digests: Summary of regime activity, score deltas, and transition trends
Configuring Regime-Change Alerts
Regime-change alerts trigger when any of these events occur:| Event Code | Trigger Condition |
|---|---|
regime-change | Regime classification changes (e.g., DEFENSIVE → SCARCITY) |
tightness-upshift | Tightness crosses above 70 threshold |
tightness-downshift | Tightness falls below 70 threshold |
risk-appetite-upshift | Risk appetite crosses above 50 threshold |
risk-appetite-downshift | Risk appetite falls below 50 threshold |
Threshold crossings without regime change still trigger alerts. Example: Tightness moves from 68 → 72 in VOLATILE (no regime flip), but
tightness-upshift alert fires.Alert Cooldown Period
To prevent alert fatigue, Whether enforces a 24-hour cooldown between alerts. A new alert fires only if:- 24+ hours have passed since the last alert, OR
- The regime flipped again (e.g., SCARCITY → DEFENSIVE → SCARCITY)
- Day 1, 9:00 AM: Tightness crosses 70 → Alert fires
- Day 1, 3:00 PM: Risk appetite crosses 50 → Alert suppressed (within 24-hour window)
- Day 2, 10:00 AM: Regime flips DEFENSIVE → SCARCITY → Alert fires (regime change overrides cooldown)
Understanding Reason Codes
Each alert includes reason codes explaining what triggered the notification:Core Reason Codes
| Code | Meaning | Example |
|---|---|---|
regime-change | Regime classification flipped | ”Regime shifted from DEFENSIVE to SCARCITY.” |
tightness-upshift | Tightness crossed above threshold | ”Tightness crossed above 70.” |
tightness-downshift | Tightness dropped below threshold | ”Tightness fell below 70.” |
risk-appetite-upshift | Risk appetite crossed above threshold | ”Risk appetite crossed above 50.” |
risk-appetite-downshift | Risk appetite dropped below threshold | ”Risk appetite fell below 50.” |
base-rate-upshift | Base rate crossed above 5% | “Base rate crossed above 5.0%.” |
base-rate-downshift | Base rate dropped below 5% | “Base rate fell below 5.0%.” |
curve-slope-negative | Yield curve inverted | ”Curve slope turned negative.” |
curve-slope-positive | Yield curve steepened | ”Curve slope turned positive.” |
signals-updated | Data refreshed but no thresholds crossed | ”Signal values updated since the last read.” |
Interpreting Multiple Reason Codes
Alerts may include multiple reason codes when several thresholds cross simultaneously: Example alert payload:- Regime flipped due to risk appetite dropping below 50
- Yield curve inverted in the same update
- This is a compound transition (multiple signals deteriorating)
Role-Based Alert Routing
Route alerts to different teams based on role and decision authority:Define alert roles
Configure roles in your alert settings:
- Executives: Regime-change alerts only (high-level strategy)
- Finance: All tightness/base rate shifts (capital planning)
- Product/Eng: Risk appetite shifts + weekly digests (roadmap timing)
- Operations: Weekly digests only (planning cycles)
Set channel preferences
Choose delivery channels per role:
| Role | Slack | Webhook | |
|---|---|---|---|
| Executives | ✅ | ✅ | ❌ |
| Finance | ✅ | ❌ | ✅ (ERP integration) |
| Product/Eng | ✅ | ❌ | ❌ |
| Operations | ❌ | ✅ | ❌ |
Slack Alerts
Setup
Slack Alert Format
Alerts appear as rich message blocks with inline actions:- View Dashboard: Opens Whether UI to current regime view
- Compare to History: Launches Time Machine with current date pre-selected
- Snooze Alerts: Pauses alerts for 24 hours
Email Alerts
Setup
Choose alert frequency
- Immediate: Send on every regime-change event (default)
- Daily digest: Batch all alerts into a single email sent at 9:00 AM
Email Alert Format
Emails include:- Plain-text summary of regime change
- Reason codes and score deltas
- Link to Whether dashboard
- Attached CSV with full assessment data
Webhook Alerts
Webhooks allow you to integrate regime alerts with custom systems (e.g., PagerDuty, Datadog, internal dashboards).Setup
Configure endpoint
Provide:
- Endpoint URL: Your receiving server
- Secret: Shared secret for HMAC signature verification
- Event filters: Choose which reason codes trigger webhooks
Webhook Payload Structure
Verifying Webhook Signatures
Weekly Digest Setup
Weekly digests summarize regime activity over the past 7 days.Setup
Choose delivery day and time
- Day: Monday (recommended for planning cycles)
- Time: 9:00 AM (team’s local timezone)
Digest Content
Digests include:- Current regime summary: Latest regime + scores as of digest date
- Score deltas: Tightness and risk appetite change over 7 days
- Alert history: All reason codes triggered during the week
- Transition watch: Flag if regime is near threshold boundaries
- Links: Dashboard, Time Machine, and decision validation pages
Alert Delivery Status
Track alert delivery success in the/settings/alerts dashboard:
| Alert ID | Channel | Status | Delivered At | Summary |
|---|---|---|---|---|
alert_001 | Slack | ✅ Sent | 2026-03-03 14:32 | SCARCITY (2026-03-03) · regime-change |
alert_002 | ✅ Sent | 2026-03-03 14:32 | SCARCITY (2026-03-03) · regime-change | |
alert_003 | Webhook | ❌ Failed | — | Connection timeout |
- Slack/Email: 3 retries with exponential backoff
- Webhooks: 5 retries over 24 hours
Alert Best Practices
Effective alert workflows:
- Immediate Slack alerts → CFO, VP Product (regime-change only)
- Daily email digests → Finance team (all tightness/base rate events)
- Weekly digest → Entire product/eng org (Sunday night before planning)
- Webhook integration → PagerDuty (DANGEROUS verdicts + regime-change)
Next Steps
Exporting Briefs
Generate leadership summaries and share regime context with stakeholders
Making Decisions
Use regime alerts to trigger decision re-validation workflows