What this integration does
Wahoo produces some of the most popular cycling hardware in the world - the ELEMNT series of GPS bike computers and the KICKR series of indoor smart trainers. Most Wahoo users already sync their rides to Strava, which means Baseline already sees that data through the Strava integration. But a native Wahoo integration will add what Strava's relay doesn't carry: indoor trainer session detail (ERG mode targets, resistance changes, simulated grade), full sensor data streams from the ELEMNT head unit, and Wahoo SYSTM structured workout metadata. For cyclists who use Wahoo hardware as their primary recording device, a direct integration provides richer data than the Strava relay alone.
How it works
-
Authorise the connection. Go to Settings → Integrations → Wahoo → Connect. You'll authorise Baseline to read your Wahoo Cloud account data, including rides recorded on ELEMNT devices and indoor sessions from KICKR trainers.
-
Backfill historical rides. Once authorised, Baseline will import your past Wahoo rides with full detail - GPS tracks, power data streams, heart rate, cadence, and indoor trainer ERG mode data. Rides that already exist in Strava will be matched to avoid duplication.
-
Automatic syncing of new rides. New rides recorded on Wahoo hardware will sync to Baseline automatically when they reach the Wahoo Cloud. Rides that you also push to Strava will appear in both places - Baseline deduplicates by matching against your Strava activity feed so you never see double entries.
What data we import
- Cycling workouts: all outdoor and indoor rides recorded on ELEMNT computers or KICKR trainers, including ride type classification and route names
- Power data: per-second power output, Normalised Power (NP), Intensity Factor (IF), Training Stress Score (TSS), pedalling smoothness, and torque effectiveness
- GPS tracks: full-resolution route data from every outdoor ride, mapped on Baseline's interactive heatmap with road surface classification where available
- Heart rate: per-second heart rate streams from ANT+/Bluetooth HR sensors paired to your Wahoo device
- Cadence: pedal cadence data throughout each ride, with efficiency analysis and cadence-to-power ratio trends
- Indoor trainer data: ERG mode target power, resistance levels, simulated grade, and virtual ride data from KICKR direct-connect sessions
What we don't store or send
Wahoo workout data will be stored encrypted at rest in your private Firestore document tree. We will never share, sell, or use your Wahoo data for any purpose beyond your personal dashboard. Baseline requests read-only access through the Wahoo Cloud API - we cannot modify your Wahoo device settings, upload workouts to your Wahoo account, or post on your behalf. You can disconnect at any time, and all Wahoo-imported data is deletable in one click.
FAQ
How soon will my Wahoo data appear in Baseline?
New rides will sync as soon as they appear in the Wahoo Cloud, which typically happens within minutes of finishing a ride and saving it from your ELEMNT device. Rides that also sync to Strava may appear via the Strava integration faster than the direct Wahoo integration - Baseline shows whichever arrives first.
What date range of data will you import?
The initial backfill will import all available ride history from your Wahoo Cloud account. This includes every ride you've recorded and saved through the Wahoo ecosystem, potentially spanning years of training - centuries, gran fondos, indoor training blocks, and everything in between.
How do I disconnect Wahoo from Baseline?
Navigate to Settings → Integrations → Wahoo → Disconnect to revoke Baseline's API access. You can also revoke access through your Wahoo Cloud account settings under Connected Applications. No future data will sync after disconnection.
How do I delete my Wahoo data from Baseline?
From Settings → Data, select Wahoo and click "Delete all imported data." The data enters a 30-day soft-delete window for recovery and full JSON export, after which it is permanently deleted from Firestore and all backup systems. Disconnecting the integration stops new data but does not delete what has already been imported.