Connections
Integrations
How Strava, recovery wearables, Garmin FIT files, weather, email, and external agents fit together.
Who this is for
Use this when connecting services or diagnosing stale data.
Strava
Strava is the primary activity source. It supplies completed activities, duration, distance, heart rate, power, and raw activity metadata.
The app can sync through webhooks, scheduled jobs, manual sync, and agent-triggered sync. Manual sync should be a fallback, not the only path.
- Run sync if today's activity is uploaded to Strava but not visible in the app.
- Check notifications when sync partially fails; failures should identify the failed stage.
- Completion matching should not treat visible, unselected Gym WODs as completed work.
Recovery wearables
Oura and WHOOP supply recovery, sleep, HRV, resting heart rate, and sleep-detail metrics where available.
Some wearable fields publish later than others. The analytics page should use the latest available row per metric rather than assuming all values share one date.
Garmin FIT files
FIT export is for prescribed endurance sessions. Download the file from the session card and import it into Garmin-compatible tooling.
If a session changes after regeneration, download the new FIT file rather than reusing the old one.
Agent API and OpenClaw
External agents should read current app state before writing anything. The app remains the source of truth.
Ambiguous writes should return confirmation_required and be resolved in chat, not hidden in a long pending queue.
Store agent tokens as secrets. Never paste live tokens into prompts, docs, screenshots, or source control.