Coaching
Connect Apple Health, Health Connect, Garmin and other watches
How a client shares steps and sleep from their phone or watch through Apple Health or Health Connect, what each watch brand sends, and where you see the results.
How TrainerStack gets a client's steps and sleep. The client connects Apple Health on iPhone or Health Connect on Android from the client app. There is no direct connection to Garmin, Fitbit, WHOOP, Oura, Polar, Samsung or COROS, so a watch only reaches TrainerStack by sharing its data to Apple Health or Health Connect first. This guide covers the setup for each brand, what does and does not come through, and what to do when nothing arrives.
TrainerStack reads steps and sleep from the health store on the client's phone: Apple Health on iPhone, Health Connect on Android. The client turns it on in their app, because the permission lives on their phone. You cannot connect it for them from the dashboard, and there is no setting for it on your side.
There is no direct Garmin, Fitbit or other watch connection and nothing to log in to. A watch gets to TrainerStack in two hops: its own app shares to Apple Health or Health Connect, then TrainerStack reads from there. Both hops have to be on.
What comes through
- Steps: a total for each day.
- Sleep: total time asleep each night, plus deep, REM, light and awake time when the source reports stages.
- Sleep score: a 0 to 100 estimate TrainerStack works out from those stage times. It is not the score from the watch, so it will not match Garmin, Oura or WHOOP. With no stage detail, it is based on sleep length alone and stops at 85.
Nothing else is read. Heart rate, HRV, calories, body weight, workouts and scores such as Body Battery, Readiness or Recovery do not come through, whatever the watch records. A session recorded on a watch does not mark a TrainerStack workout as done. Nothing is written back either, so workouts logged in TrainerStack do not appear in Apple Health or Health Connect.
What the client does
- In the client app, open the Profile screen and tap Connections. Tapping the Steps or Sleep widget on their dashboard goes to the same place until they are connected.
- Tap Continue.
- On the screen Apple or Android shows next, allow Steps and Sleep.
- The card shows when it last synced. Never synced means nothing has arrived yet.
If they use a watch, they also turn on sharing in the watch's own app, as set out below. The order does not matter.
With no watch
- iPhone: the iPhone counts steps by itself, so steps work straight away. Sleep needs an Apple Watch or another app that records sleep to Apple Health.
- Android 14 or later: Health Connect is built in and can count steps from the phone once an app has permission to read them. Sleep needs a watch or a sleep app.
- Android 9 to 13: the client installs Health Connect from Google Play first. It does not count steps from the phone on these versions, so steps and sleep both need a watch or another app that records them to Health Connect. Android 8 cannot use it.
Connect a Garmin
Garmin on iPhone
- In Garmin Connect, go to More → Settings → Connected Apps → Apple Health, then tap Connect with Apple Health.
- Select Steps and Sleep Analysis, then tap Allow. To change this later: open the Apple Health app, tap Summary, tap the profile picture, and under Privacy tap Apps, then Connect.
- Connect TrainerStack as above.
- From then on, open Garmin Connect and let it sync before opening TrainerStack. Garmin says its app must be open on screen to send data to Apple Health, and the transfer waits until it is. This is the most common reason Garmin data looks late.
Apple Health picks up to two weeks of past Garmin data when sharing is first turned on. Garmin Connect will not appear in Apple Health if the only device on the account is an Edge cycling computer.
Garmin on Android
Garmin only shares to Health Connect on Android 14 or later. On Android 13 or lower Garmin does not share to it, so Garmin steps and sleep will not reach TrainerStack.
- Update Garmin Connect to the latest version.
- Open Health Connect: phone Settings, search for "Health Connect". Tap App permissions, then Garmin Connect, and turn on Steps and Sleep. Garmin says these screens vary by phone. If Garmin Connect is not listed after updating and opening it, that is one for Garmin support.
- Connect TrainerStack as above.
Garmin sends data to Health Connect after each successful watch sync.
Garmin's published lists include steps for both phones, Sleep Analysis for Apple Health and Sleep Stages for Health Connect. Garmin's sleep score, Body Battery and HRV are not on either list.
Connect other watches and rings
These were checked against each maker's own help pages in November 2026. Watch makers change what they share, so if something does not arrive, use the test under If it is not working.
Apple Watch
It writes to Apple Health by itself, so there is nothing to set up beyond TrainerStack. For sleep, the client turns on Track Sleep with Apple Watch in the Sleep setup and wears the watch for at least an hour overnight.
Fitbit
The Fitbit app is now Google Health, and Fitbit devices work with it.
- iPhone (iOS 16.4 or later): in Google Health, tap Connections → Apps and services → Apple Health, then Get started, Agree, choose the categories and tap Allow. Reports put this at Google Health version 5.05, released in August 2026, so older versions will not have it.
- Android 9 or later: in Google Health, tap Connections → Partner apps → Sync your favorite health apps → Set up, choose the data and allow it.
Google lists steps, sleep sessions and sleep stages for both. Sleep score and readiness are not shared.
WHOOP
- iPhone: in WHOOP, go to More → App Settings → Integrations → Apple Health → Connect, choose the categories and tap Allow. WHOOP says steps are sent to Apple Health only if turned on in its settings.
- Android: in WHOOP, go to More → Integrations → Health Connect → Set Up, and grant the categories.
WHOOP lists both steps and sleep as shared. It is the least certain brand here: members report sleep stages not showing in Apple Health and steps not reliably reaching Health Connect. Expect total sleep at least, and check what arrives before promising a client more. Recovery and Strain scores do not come through.
Oura
Needs a Gen2 ring, or Gen3 or later with an active membership. In the Oura app, tap the menu → Settings, then under Data sharing tap one of these:
- Apple Health, and turn on Connect to Health.
- Health Connect, and use the toggles to pick the data.
Oura lists steps and sleep with stages for both. Readiness does not come through. If steps look wrong on an iPhone, see the priority fix below.
Polar
- iPhone: in Polar Flow, go to More → General settings, turn on Apple Health, choose the categories and tap Allow. Polar sends steps and sleep length and times. Stages are not on its Apple Health list.
- Android: in the Flow app, go to General settings, turn on Health Connect, choose the data and tap Allow. Polar sends daily steps and sleep with stages.
Samsung Galaxy Watch
Android only. The watch syncs to Samsung Health, and Samsung Health shares to Health Connect.
- In Samsung Health, go to Settings → Health Connect → App permissions → Samsung Health, and turn on steps and sleep.
- Go to Settings → Sync with Samsung account and tap Sync now.
Samsung sets how often the watch syncs to the phone to save battery, so some delay is normal.
COROS
- iPhone: in the COROS app, go to Profile → Setting → 3rd Party Apps → Data Sync → Apple Health, and choose Steps and Sleep Analysis.
- Android: COROS mentions Health Connect but does not list what it sends, so check it with the test below before relying on it.
Any other watch
Look in the watch's app for Apple Health or Health Connect sharing. If it writes steps and sleep there, TrainerStack can read them. If it does not, TrainerStack cannot get them, because there is no other route.
When it syncs
It syncs when the client uses the app. There is no background sync, so nothing reaches you while the app stays closed.
- Straight after connecting.
- Each time they open or return to their dashboard.
- When they open the Steps or Sleep detail screen.
- When they tap Sync now on Connections.
Each sync reads the last 7 days of steps and the last 30 nights of sleep, so a gap fills itself in next time they open the app. Steps older than 7 days are not picked up, so a client who stays away for longer loses the older days.
To stop, the client taps Disconnect on Connections. New data stops and what already synced stays. The permission itself is removed in their phone's Health or Health Connect settings.
Where you see it
Steps and sleep are on the web dashboard only. The trainer app does not show them.
- The client's Profile tab: the Progress section has Daily Steps and Sleep cards covering the last 30 days. The line under each title gives the status: Apple Health · synced 2h ago, Apple Health · connected (connected, but nothing has arrived yet), Health Connect · sync error, or No wearable connected.
- Daily Steps also shows a 7-day average. Set a daily step goal adds a goal line to the chart and sets the ring on the client's Steps widget.
- Sleep shows the stages, the score and the averages.
- Check-in review: the same two cards for that check-in's week.
The client sees Steps and Sleep on their dashboard, a detail screen when they tap either one, and weekly averages in the review after they submit a check-in.
A daily task such as "10,000 steps" is still ticked by the client. Synced steps do not tick it for them.
If it is not working
First, the test. Ask the client to open the Apple Health or Health Connect app and look for steps and sleep from their watch. If the data is not there, the problem is between the watch's app and the health store, so go back to the brand's steps above. If it is there, the problem is TrainerStack's permission.
- Connections shows Update required. The app cannot reach the health store. The client updates TrainerStack. On Android 13 or lower they also install or update Health Connect from Google Play, then reopen the screen. The message on screen only mentions updating the app.
- An Android client declined. The screen says health access is off and shows Open Settings. In phone Settings, they search for "Health Connect", tap App permissions, then TrainerStack, and turn on Steps and Sleep. Then they go back and tap Continue.
- An iPhone client shows as connected but nothing arrives. Your card says Apple Health · connected and their Connections screen says Never synced. Apple does not tell apps what was allowed, so TrainerStack shows as connected even if they said no. In the Apple Health app, tap Summary, tap the profile picture, and under Privacy tap Apps, then TrainerStack. They turn on Steps and Sleep, then tap Sync now.
- Steps arrive but sleep does not. On a phone with no watch this is expected. Otherwise check that Sleep was allowed, for both the watch's app and TrainerStack.
- The numbers are old. The client has not opened the app. Synced 3d ago on your card means exactly that. Garmin on iPhone also needs Garmin Connect opened first.
- Steps do not match the watch. The phone may be taking priority over the watch. On iPhone: in the Health app, tap Browse → Activity → Steps → Data Sources & Access → Edit, and drag the watch's app to the top. On Android: in Health Connect, go to Manage data → Data sources and priority, and move the watch's app up.
- Sleep looks far too long. Two apps are probably recording the same night, such as a watch and a ring. TrainerStack adds up all the sleep it finds rather than choosing one source. The client turns off sleep sharing in one of the apps, and new nights then read correctly.
- Sleep shows a total but no stages. The source only reported total time. The app says so on the Sleep screen. The score is then based on length alone.
- The sleep score does not match the watch. It is TrainerStack's own estimate, because the watch's score is not shared.
- Your card says sync error. The client opens Connections and taps Try again. Automatic syncing does not resume until a sync succeeds. If it fails again, they check the permissions above.
Still stuck? Use Help → Report a problem in the dashboard, or email support@trainerstack.pro.