Integrations
Connect your watches, bands, and apps. TrainStack syncs from Apple Health today, with 16 more providers on the roadmap.
TrainStack is designed to connect to every device and service you use. Today, Apple Health is the live sync path -- every workout, heart rate sample, sleep session, and health metric from your Apple Watch and iPhone flows into TrainStack automatically. More providers are coming.
Multi-source architecture
The data model is built for multi-source from day one. Every activity stores its source, original provider type, and raw data. When additional providers come online, deduplication and source priorities will handle conflicts automatically -- no migration needed.
Live
Apple Health
The primary sync path for iPhone and Apple Watch users. Reads activities, heart rate, sleep, HRV, and daily metrics via HealthKit. Background sync keeps data up to date automatically.
Coming Soon
These integrations are on the roadmap. The data model already supports them -- each provider needs an OAuth flow, API adapter, and field mapping.
Garmin
Sync activities, sleep, body metrics, and training status from Garmin watches and the Garmin Connect ecosystem.
Strava
Import activities with GPS, power, and segment data. TrainStack can serve as your data layer while you keep using Strava socially.
Whoop
Recovery scores, strain, sleep staging, and HRV from WHOOP bands. Daily coaching data syncs automatically.
Oura
Sleep analysis, readiness scores, daily activity, and HRV from Oura Ring. Detailed sleep staging included.
Polar
Sync training sessions, recovery data, and sleep tracking from Polar watches and sensors.
COROS
Activities, training load, and performance metrics from COROS watches.
Suunto
Outdoor activities with detailed GPS and sensor data from Suunto watches.
Fitbit
Activities, sleep, heart rate, and daily metrics from Fitbit devices and the Fitbit app.
Samsung Health
Sync activities and health data from Samsung Galaxy watches and Samsung Health.
Google Health Connect
Android's unified health data layer. Aggregates data from multiple Android health and fitness apps.
Zwift
Indoor cycling and running activities with power, cadence, and virtual course data from Zwift.
TrainingPeaks
Structured workouts, planned training, and completed activities with TSS, IF, and performance metrics.
TrainerRoad
Structured indoor cycling workouts with power-based intervals and adaptive training plans.
Peloton
Cycling, running, strength, and yoga classes with detailed per-class metrics.
Adidas Running
Running activities from the Adidas Running (formerly Runtastic) app.
Komoot
Outdoor tours with detailed routing, surface types, and elevation data.
How Multi-Source Sync Will Work
The multi-source sync engine is designed and the schema supports it today. When additional providers come online, here's how it will work.
Deduplication
Activities will be matched on start time (+/- 2 minutes), activity type, and duration (+/- 10%). When a match is found, both records are linked rather than creating a duplicate.
Source Priorities
You'll configure a priority order for your connected providers. For example:
- Apple Health -- direct device data, highest fidelity
- Garmin -- native sensor data
- Strava -- re-processed, may lose detail
The higher-priority source becomes the primary display record. Lower-priority versions are preserved and accessible -- you can switch primary source at any time.
Keep the Richer Record
When priorities are equal, TrainStack will prefer the source with more data: more populated fields, more time-series samples, more statistics. The raw data from every source is always preserved.
Lossless data preservation
The raw response from each provider is stored verbatim and never modified after ingest. TrainStack normalizes it into a consistent format for display (same units, same field names), but the original is always there.