Training data
Connect intervals.icu
Enduragent reads your training from intervals.icu, using an API key you create yourself. It does not connect to Garmin, Wahoo or Strava directly. One free intervals.icu account and one key is the whole setup.
Why intervals.icu
Every head unit vendor has its own API, its own approval process and its own rate limits. intervals.icu already sits downstream of all of them and normalises the result into one shape.
It also holds the things a coach needs and most watch apps bury: resting heart rate, HRV, sleep, weight, your FTP and your zones. Reading one well-shaped source is why Enduragent can answer a question about your last six months rather than your last ride.
.fit, .tcx
and .gpx files from your own machine. intervals.icu is the route that keeps itself
current without you doing anything.
Four steps
- Create an intervals.icu account Go to intervals.icu and sign up. It is free. You can use Strava, Garmin or a plain email address. Signing in with Strava or Garmin also completes step 2.
- Connect the service your rides land in In intervals.icu open Settings and link the account your rides already arrive in. Strava, Garmin Connect, Wahoo, Polar, SUUNTO and COROS are listed there. Indoor platforms such as Zwift usually arrive through Strava or Garmin rather than directly. Give it a few minutes: intervals.icu backfills your history, not just new rides. This is the step people skip, and an empty intervals.icu means an empty coach.
- Copy your API key Still in Settings, scroll to Developer Settings. Your API key is there. Copy it.
-
Paste it into Enduragent
In the Mac app, paste it into the intervals.icu field during setup. For the command-line
version, set
INTERVALS_API_KEYandINTERVALS_ATHLETE_ID— the athlete id looks likei12345. The first sync pulls your history.
What Enduragent reads
| Reads | What for |
|---|---|
| Profile and FTP | So targets are prescribed in your watts rather than generic ones. |
| Zones | Your zone boundaries. Enduragent computes zones, plan skeletons and feasibility locally, without a model call. |
| Activities | Duration, power, heart rate and the streams behind them. |
| Wellness | HRV, resting heart rate, sleep and weight — whether you absorbed last week. |
| Curves | Power and heart-rate curves, for what you can actually hold. |
What Enduragent writes
Structured workouts, with targets in watts derived from your FTP, and strength workouts. They go to your own intervals.icu calendar. Nothing is written until you ask for it.
intervals.icu then syncs them onward to Garmin, Wahoo, Hammerhead, COROS, Suunto and Zwift. Enduragent never touches those accounts. The only credential it holds is your intervals.icu key.
After a session it can compare what was prescribed against what you actually did, and adjust the plan with you in conversation.
The key stays with you
- Revoke it whenever you like. Same Developer Settings page. The key stops working immediately and Enduragent is cut off.
- The Mac app encrypts it. Keys go into macOS secure storage, the Keychain.
- There is no Enduragent account and no server holding your training history. The key is used to call intervals.icu and nothing else.
If something looks wrong
- Nothing imported. Almost always step 2. Open intervals.icu in a browser. If you see no rides there, Enduragent cannot see them either.
- Only recent rides. The backfill is still running, or the upstream service shared a limited window. Check intervals.icu first, then Enduragent.
- Key rejected. Copy it again — a trailing space is the usual cause. If it still fails, regenerate it in Developer Settings and paste the new one.