ENDURE DocsSign in
Overview

Getting Started

  • What Is ENDURE
  • Getting Started

Daily Training

  • The Dashboard (Today)
  • Readiness Scoring
  • Training Calendar
  • Training Plans
  • Workouts
  • Activities
  • Activity Analysis

Performance & Goals

  • Performance Tracking (Trends)
  • Goals and Events
  • Nutrition
  • Strength Training

Connect & Sync

  • Integrations (Device Sync)
  • Athlete Connections

Intelligence

  • AI Coach Intelligence
  • Messaging

Settings & Admin

  • Settings
  • Billing and Subscriptions
  • For Coaches
  • Public API
  • Admin Dashboard

Reference

  • Keyboard Shortcuts

Appendices

  • A. Glossary
  • B. Zone Models Quick Reference
  • C. Activity Types
  • D. Data Retention and Privacy
Changelog
Docs/Connect & Sync/Integrations (Device Sync)

Integrations (Device Sync)

Connect Strava, Garmin, Wahoo, WHOOP, and more platforms.

5 min read
10 platformsOAuth setupAuto-syncWhat syncs from eachTroubleshooting

On this page

  • Supported Platforms
  • Getting Planned Workouts onto Your Device
  • Connecting a Platform
  • Sync Behavior
  • What Gets Synced
  • Deduplication
  • Token Refresh
  • Connection Settings
  • Sync Status

ENDURE connects to the platforms where your training data lives. Manage integrations at Settings > Integrations.

Supported Platforms

Platforms are organized into three categories:

Activity Sources — Import completed workouts:

Platform What It Syncs Auth Type Status
Strava Activities (rides, runs, swims, etc.) OAuth Full sync
Garmin Connect Activities, daily health (HRV, resting HR, sleep, steps, stress) OAuth (PKCE) Full sync
Wahoo Activities OAuth Full sync
Intervals.icu Activities, streams, power curves, athlete profile (FTP, LTHR, max HR, weight) API Key Full sync
TrainingPeaks Activities OAuth Full sync

Workout Push — Send planned workouts to devices:

Platform Push Support Status
Intervals.icu Structured planned workouts go to your intervals.icu calendar; intervals.icu uploads them to Garmin, Wahoo, Zwift, Suunto and COROS Live
Garmin Through intervals.icu (above). Endure's own Garmin connection does not send workouts. Via intervals.icu
Wahoo Through intervals.icu (above). Via intervals.icu

Getting Planned Workouts onto Your Device

When you (or your coach, or David) save, move, copy, skip or delete a planned workout that has structured steps, Endure updates your intervals.icu calendar a few seconds later. intervals.icu then uploads the next 7 days of planned workouts to each service you switched on. To set it up:

  1. Connect Intervals.icu in Settings > Integrations (API key).
  2. In intervals.icu, open Settings > Connections and tick Upload planned workouts for Garmin, Wahoo and Suunto, or press Connect for Zwift (workouts appear under Workouts > Custom > Intervals.icu). For COROS you may also need to add the "Intervals.icu Training Plan" in the COROS app.
  3. In intervals.icu, set the thresholds your targets use for each sport: FTP for power targets, max heart rate or heart-rate zones for heart-rate targets, threshold pace for pace zones. Without them intervals.icu sends the steps with no target.

The workout drawer shows where each planned workout stands: sent to intervals.icu, not sent (with the reason), or waiting to be sent, with Try again / Send again when something needs fixing. Some things are not sent: drafts until they're published, skipped workouts, past workouts, workouts planned in TrainingPeaks (TrainingPeaks already sends those), and workouts intervals.icu can't represent exactly, such as heart-rate targets in bpm, a mix of power and heart-rate targets in one workout, repeats inside repeats, or lap-button steps. Endure checks how intervals.icu read each workout and removes it again if the steps don't match.

Health and Recovery — Import wellness data:

Platform What It Syncs Auth Type Status
WHOOP Recovery scores, HRV, sleep, strain OAuth Full sync
Oura Sleep, HRV, readiness, activity OAuth Full sync
Polar Activities, health data OAuth Sync available
Suunto Activities OAuth Auth connected
Note: Hammerhead Karoo has OAuth connection support but no direct activity sync (no public API). Karoo activities come to ENDURE via Strava.

Connecting a Platform

  1. Go to Settings > Integrations.
  2. Click Connect on the platform card.
  3. You'll be redirected to the platform's authorization page (e.g., Strava's "Authorize ENDURE" screen).
  4. Grant access and you'll be redirected back to ENDURE.
  5. ENDURE immediately syncs the last 14 days of data.

For Intervals.icu, you enter your API key directly (no OAuth redirect).

Sync Behavior

  • Automatic daily sync — ENDURE runs a cron job every day at 6:00 AM UTC. All connected platforms are synced in parallel with a 7-day lookback window.
  • Manual sync — Click the sync button on any integration card to trigger an immediate sync.
  • On-demand sync — When you open the app, a sync can be triggered for connected platforms.

What Gets Synced

From Strava: Activity name, type, duration, distance, power (if available), heart rate, cadence, elevation, GPS route, speed, temperature.

From Garmin: All activity data plus daily wellness summaries (resting HR, HRV, stress level, steps, sleep duration, sleep stages, sleep score).

From WHOOP: Recovery score, HRV, resting HR, sleep duration, sleep stages, strain score.

From Intervals.icu: Activities, streams (power, HR, cadence), power curves, athlete profile (FTP, LTHR, max HR, weight).

Deduplication

If you save the same activity on multiple platforms (e.g., your ride goes to both Strava and Garmin), ENDURE deduplicates using the source ID. The same activity won't appear twice.

Token Refresh

OAuth tokens expire. ENDURE automatically refreshes tokens when they expire. If a refresh fails (e.g., you revoked access on the platform), the integration status changes to Needs Reauth and you'll see a prompt to reconnect.

Connection Settings

For each connected platform, you can configure:

  • Auto-sync — On/off
  • Sync activities — Import completed activities
  • Sync health data — Import HRV, sleep, recovery

Sync Status

Each integration card shows:

  • Current status: Connected, Disconnected, Error, or Needs Reauth
  • Last sync time
  • Error message (if applicable)

Previous
Strength Training
Next
Athlete Connections
Endure Labs documentation
PrivacyTerms