Custom Alerts
Built-in reminders for the basics — hydration, nutrition, stretch, heart-rate ceilings — plus Formula Alerts that let you fire a toast and sound whenever any expression you write evaluates true. Same formula language as Custom Widgets, so if you can read it on a widget, you can alert on it.
><>=<===!=if(c, a, b)min()max()+ − * /Six categories of alert
Five built-in reminders cover the rituals everyone forgets mid-ride. Formula Alerts cover everything else.
Hydration reminders
Configurable interval (default every 15 min). Plays a soft drop chime and shows a toast — easy to ignore mid-effort, hard to forget on long rides.
Nutrition reminders
Separate interval (default every 45 min) for fuel — gels, bars, real food. Different cue from hydration so you know what it’s asking for.
Stretch / posture
Periodic posture cue (default every 30 min): sit tall, drop the shoulders, unwind the death-grip on the bars. Great for trainer hours.
Heart rate ceiling
Sticky warning the entire time you’re above your configured HR cap. The live bpm is shown in the toast, dismissed automatically once you come back down.
Heart rate floor
Mirror of the ceiling — useful for Zone 2 enforcement or for catching dropped HR readings during anaerobic efforts.
Formula alerts
Build any alert you can imagine from the same formula language that powers Custom Widgets. Fires whenever your expression evaluates non-zero.
Sticky or pop — your choice per alert
Every alert chooses how it wants to live on screen. Pick the behavior that matches what the condition really means.
Stays while the condition holds
Best for state-like conditions you want to see at a glance the whole time they’re true.
- Plays the sound once when the alert begins.
- Toast stays pinned until the formula returns false.
- Auto-dismisses when the condition clears.
- Good for: HR ceiling, low cadence, W′ depleted.
Quick toast with a cooldown
Best for event-like conditions where you just want a heads-up and then to be left alone.
- Toast appears, plays sound, fades after ~12 seconds.
- Won’t re-fire until the configured cooldown elapses.
- Cooldown resets every time the condition goes false.
- Good for: power surges, dropouts, grade transitions.
Building a formula alert
Six fields, no scripting. The editor lives-validates your formula and lets you preview the sound and toast before you save.
Open Settings → Alerts
In the player or main app, open Settings and switch to the Alerts tab. Built-in reminders live above; Formula Alerts has its own card.
Click "+ Add formula alert"
Give the alert a name (e.g. "Over threshold") and write a formula. Comparison operators like > < >= <= == != are first-class, and the editor live-validates as you type.
Write a toast message
This is what shows on-screen when the alert fires. Short and actionable wins — "Back off, above FTP" beats "Power exceeded 250W".
Pick sticky or pop
Sticky stays visible the entire time the condition is true (best for state-like alerts: HR ceiling, low cadence). Pop fires briefly with a cooldown (best for events: surges, dropouts).
Tune sustain & cooldown
Sustain (seconds) prevents single-tick noise — the condition must hold this long before firing. Cooldown (for non-sticky) is the minimum gap between consecutive fires while the condition stays true.
Preview & save
Hit "Preview sound" to hear the cue, or "Preview" on the saved alert to see what the toast looks like mid-ride. Save, ride, iterate.
Real alerts to copy
Drop any of these formulas into the editor verbatim. Tweak the threshold for your fitness, swap the message, pick your sound.
Power > FTPSticky warning the entire time you’re above FTP. Pairs well with a long sustain (8–10s) so brief bursts don’t trip it.
Power / Weight > 5Ephemeral pop when you crack 5 W/kg. Use a 30s cooldown to avoid spam during a hill.
Cadence < 70Sticky reminder for long descents or coasting. Sustain of 5s avoids tripping on a single skipped pedal stroke.
Heart Rate > 175Sticky warning while heart rate sits in your top zone. Swap 175 for whatever your personal red-line is.
(Power > 200) * (Cadence < 80)Logical AND via multiplication: only fires when both conditions are true at the same time. Useful for mashing low-cadence climbs.
Grade > 8Route-aware — fires once you hit grades over 8%. Pairs with a long cooldown so rollers don’t spam.
wbal < 25Visible the entire time your anaerobic reserves are depleted. Pair with a low sustain (2s) for responsive warning.
if(Elapsed > 60, Power == 0, 0)Wrapped in if() so the alert won’t trigger before the ride has actually started. Sustain of 5s confirms it’s a real dropout, not a coast.
Common questions
Where do alerts live and what triggers them?
Alerts are evaluated client-side every tick of the trainer or track session — about 10 times per second. There’s no backend involved, no latency, and no data leaves your device for evaluation. They work fully offline.
What does "non-zero" mean for a formula?
A formula like Power > FTP evaluates to 1 (true) or 0 (false). The alert fires whenever the result is non-zero. So you can also write things like Power - FTP (fires whenever power isn’t exactly FTP) or Cadence (fires while you’re pedaling). Most users want explicit comparisons.
What about null values — like before HR locks on?
If any field in the formula is unknown (sensor not connected, profile field missing), the result is null. Null is treated as "don’t fire" — the alert stays quiet rather than guessing. Use if(condition, ...) if you want explicit fallback behavior.
Can two alerts share the same sound or message?
Yes. Toasts dedupe by message so you’ll only see one bubble for identical messages, but sounds are independent — each alert plays its own cue when it fires. Pick distinct messages to keep things readable.
Do alerts work in track rides and group rides?
Yes — anywhere the in-ride toast system is active. Some computed fields (Normalized Power, TSS, Intensity Factor, peak power) require the structured-workout engine and won’t resolve in track mode, but raw fields (Power, Heart Rate, Cadence, Speed, Grade, W′ Balance) work everywhere.
Can I export or share my alerts?
Not yet — alerts are tied to your Ride Cave account and sync across devices via your profile. Export/import is on the roadmap. In the meantime the recipes above are easy to copy-paste from the editor.
Will alerts drain my battery?
No more than the existing widgets. Each formula compiles once when saved and evaluates as a small AST per tick — orders of magnitude cheaper than rendering the widget itself.
What if I edit an alert mid-ride?
The new config takes effect immediately. If the alert was currently firing (sticky toast on screen), the toast is dismissed and re-pushed with the new message on the next evaluation — no need to wait for the condition to clear.
Ready to build your first alert?
Open Settings → Alerts and start with one of the recipes above. Tune it once, then just ride.
