Get more from your Garmin
Montis Wellness shows what is in your Intervals.icu account. Garmin's own link to Intervals.icu sends only part of your daily wellness data. A free, open-source tool, the Garmin → Intervals.icu Bridge, can copy the rest into your own Intervals.icu account. Montis Wellness then shows it, marked Beta.
What you'll see
Today, under "Last night"
Sleep stages, training readiness, average heart rate asleep, breathing rate, SpO₂, sleep stress, skin temperature change, your watch's 7-day HRV average, and yesterday's recovery time.
Trends, under "Your history"
All-day stress, recovery time, Body Battery charged and drained, floors, intensity minutes, active calories, endurance and hill scores, cycling VO₂ max with race predictions and fitness age, body fat, water intake, and food calories against calories burned.
Before you start
- The bridge is an independent hobby project. It is not made or supported by Montis, Garmin or Intervals.icu.
- It signs in to Garmin Connect with your own login. Garmin's Terms of Use don't allow automated access, and Garmin could suspend your Garmin account. Using it is your decision and your risk.
- It runs on your own computer. Your Garmin password is used once to sign in and is not stored, and Montis never sees it. The data goes only into your own Intervals.icu account.
- Its folder keeps your Garmin sign-in (not your password), your Intervals.icu key and a copy of your Garmin data. Keep it private, and don't share or sync it. About once a year it will ask you to sign in again.
- Keep its default pace. Don't speed it up.
What you need
- A computer that is on most of the day (Windows, Mac or Linux), or a home server that runs Docker.
- Python 3.12 or newer.
- Your Intervals.icu API key: Intervals.icu → Settings → Developer Settings.
- Your Garmin Connect email and password, and the two-step code if you use one. You need them once.
Set it up (about 10 minutes)
On Windows, follow the bridge's step-by-step Windows guide. In short:
-
Install the bridge.
py -m pip install garmin-intervals-bridge tzdataOn a Mac or Linux, use pipx:pipx install garmin-intervals-bridge. Get pipx withbrew install pipx(Mac) orsudo apt install pipx(Linux), runpipx ensurepath, then open a new terminal. -
Add your Intervals.icu key. Make a folder for the bridge. In it, make a file named
.envwith this line:INTERVALS_API_KEY=your-keyOutside Central Europe, add your time zone on a second line, for exampleBRIDGE_TIMEZONE=Europe/London. -
Sign in to Garmin once, from that folder:
garmin-intervals-bridge login -
Fill the last six weeks (Montis Wellness shows 42 days). First see what it would write, then write it. Replace YYYY-MM-DD with the date six weeks ago. The list after
--endpointsadds the scores, VO₂ max, race predictions and fitness age to the usual daily values.garmin-intervals-bridge backfill --scope wellness --from YYYY-MM-DD --endpoints stats,sleep,hrv,respiration,spo2,hydration,body_composition,nutrition,intensity_minutes,stress,body_battery,training_readiness,endurance_score,hill_score,max_metrics,race_predictions,fitness_agegarmin-intervals-bridge backfill --scope wellness --from YYYY-MM-DD --endpoints stats,sleep,hrv,respiration,spo2,hydration,body_composition,nutrition,intensity_minutes,stress,body_battery,training_readiness,endurance_score,hill_score,max_metrics,race_predictions,fitness_age --pause 3 --apply -
Keep it running. The Windows guide shows how to start it with Windows.
garmin-intervals-bridge run --apply
By default the bridge also adds back Garmin data that is missing from your activities. If you have custom activity streams in Intervals.icu (such as Stamina), writing them permanently marks that activity's intervals as edited. Its README explains that part.
When the data shows up
- Last night's values (sleep, HRV, training readiness) usually arrive within about 10 minutes of your watch syncing in the morning. Refresh Montis Wellness to see them.
- Recovery time and the day totals (floors, intensity minutes, active calories, all-day stress, Body Battery charged and drained, scores) arrive the next day, once the day is over.
- Each new item shows only for days that have it, so gaps are normal.
More from the bridge
- README: what it does, its limits and how it treats your data.
- Windows guide: every step, including starting it automatically.
- Field list: which Garmin value goes into which Intervals.icu field.
- Questions about the bridge go to its authors, not Montis.