Pasting your watch data into ChatGPT? Here is what it misses
Two weeks from one account, the same resting heart rate, and yet one of them was trouble. What tells them apart, and why a chat window has no way to see it.
Two weeks that look identical
Here are two weeks from one anonymised account, worn every night, four weeks apart.
| Weekly average | Week A | Week B |
|---|---|---|
| Resting heart rate | 60.9 | 60.0 |
| Sleep | 7h 03m | 5h 51m |
| Minutes awake during the night | 26 | 97 |
| Sleep score | 65 | 37 |
Take any reference table you like and both weeks pass. A resting heart rate around 60 is described as good to excellent for an adult man. Neither week contains a single value a doctor would circle.
Week B is the one that was trouble.
What separates them
Notice what the resting heart rate does across those two weeks: almost nothing. 60.9 against 60.0. If you had pasted only that number into a chat window, there would have been nothing to say.
Everything else moved at once. Time awake in the night was nearly four times longer, more than an hour of sleep a night was lost, and the sleep score fell by nearly half. On the Sunday of week B the account recorded a self-rating of 2 out of 5 for energy, mood and physical state alike. Two nights that week recorded no REM sleep at all.
The 90 day average for this account sits at 57.4 beats per minute, with a normal range of 54 to 61. Both weeks therefore sat near the top of that range. The resting heart rate was never the story. The story was that a group of signals moved together, in the same direction, against the personal norm, and stayed there for eight days.
That is what reading health data actually means, and it is the part a chat window structurally cannot do.
Why the chat window cannot get there
It does not know your normal. To tell you that 60 is elevated, something has to know that you usually sit at 57.4 and that you are usually awake for 26 minutes, not 97. A one-shot paste carries no past. The best a model can do is compare you to a population average, which flattens exactly the individual differences that make the data worth reading in the first place.
And it forgets you the moment you close the tab. Health is a trajectory, not a snapshot. Has your recovery been sliding for three weeks? Did your resting heart rate creep up for four days before you felt the cold arrive? Is your sleep debt quietly building? None of that survives a fresh conversation.
And when it has no basis, it produces one anyway
A language model does not look your answer up. It predicts the next plausible words. Most of the time the result is reasonable, and that is precisely what makes the failures hard to catch: a wrong answer arrives in the same calm voice as a right one.
This is measured, not anecdotal. When physicians tested four public chatbots on 222 real patient questions, between 22 and 43 percent of answers were problematic and between 5 and 13 percent unsafe, depending on the chatbot (npj Digital Medicine, 2026). Separate work on healthcare queries documented the same pattern of confident fabrication and built benchmarks for it (MedHalu, 2024).
A threshold like "an HRV below 40 means overtraining" reads exactly like a real one. There is no universal number of that kind, because the value depends on the person and on the device that measured it. You will act on the invented one just as readily.
How to get a better answer today
None of this means you should stop. It means the paste needs preparing. Four things make a real difference:
Give it your baseline, not just the week. Work out your own average for the last 60 to 90 days for each value and write it into the prompt. Without it the model has nothing to measure against but a textbook.
Say who you are. Age, sex, roughly how much you train. It changes the reference frame for almost every number.
Give it permission to say it does not know. One sentence: where you are unsure or a value is missing, say so and do not fill in the gap. It works more often than you would expect, and it turns silent invention into a visible admission.
Never let a blank become a zero. Sensors miss nights. If a cell is empty, say so, or the model will read it as a night with no sleep and the whole week will be read wrong.
One thing preparation cannot fix: once you paste months of biometric data into a third-party chatbot, that data sits on someone else's servers, where it may be retained, reviewed or used for training. Health data is the most sensitive category there is. Paste what you need to and no more.
Getting the data out of your watch
Most brands let you download what they hold about you, and in the EU that is your right under the GDPR. The files are built for machines, not for a chat window:
- Garmin: sign in at garmin.com, open Account Management Center and under Data Management choose Request your data. Garmin emails you a link to a ZIP file when it is ready.
- Oura: the Membership Hub on the Oura website offers your data as CSV files.
- Apple Health: in the Health app on iPhone, tap your profile picture and choose Export All Health Data. You get a ZIP of XML files.
A whole export is far more than a chat can take in at once, so you end up pasting a slice, which brings back the week without a baseline from the start of this article. The Garmin ZIP can go to MyBodyAI instead: upload it on a computer as it arrives, without unzipping it, and the app reads up to 90 days back from it and keeps them in your history. Link Garmin directly as well and the new days arrive on their own.
Where this leaves the idea
Using AI to read your health data is the right instinct. The problem is not the AI, it is asking a stranger who meets you for the first time every single morning.
MyBodyAI is what happens when that preparation stops being your job. Your baseline is computed continuously from your own history. Add a device and your history stays, with each device's HRV read against that device's own past nights. (Some connections take their data with them when you disconnect them, as their makers' terms require, and the app says so before you confirm.) The scores themselves come from deterministic code rather than generated text, which is why a value can never be invented. Where something is estimated it says estimated, and where the data is not there it says so instead of producing a reassuring verdict. You can try it for seven days without a card.
References
- Draelos RL et al. Large language models provide unsafe answers to patient-posed medical questions. npj Digital Medicine (2026). doi:10.1038/s41746-026-02428-5.
- Agarwal V et al. MedHalu: Hallucinations in Responses to Healthcare Queries by Large Language Models. arXiv (2024). arXiv:2409.19492.
Frequently asked questions
Can I paste my Garmin or Oura data into ChatGPT?
Yes, and you will get a fluent reading. But unless you give it your own averages, the chat compares you with population tables, it does not remember last month, and it can fill a missing value with a plausible guess. If you do it, add your 60 to 90 day average for each value, mark missing nights as missing and paste only what you need.
Is it safe to share my health data with an AI chatbot?
That is your decision, but know where the data go. Once pasted, they sit on the chatbot provider's servers under its terms, which can include keeping them, human review and, depending on your settings, training. Check the provider's data controls first and paste no more than the question needs.
How do I export my data from Garmin, Oura or Apple Health?
Garmin: sign in at garmin.com, open Account Management Center and under Data Management choose Request your data; Garmin emails a link to a ZIP file. Oura: the Membership Hub on the Oura website offers your data as CSV files. Apple Health: in the Health app, tap your profile picture and choose Export All Health Data, which gives a ZIP of XML files.
Is there an app that reads my wearable data against my own normal?
MyBodyAI does. It connects Polar, Withings, Oura, COROS and Garmin by login, Fitbit and Pixel Watch through Google Health, and anything that writes into Android Health Connect, and turns the data into twelve daily indices read against your own history, computed by deterministic code rather than generated text. It is a wellness app, not a medical device. The 7-day Premium trial needs no card.
Can MyBodyAI read a Garmin data export?
Yes. On a computer, upload the ZIP from Garmin's data export as it arrives, without unzipping it, and MyBodyAI reads up to 90 days back from it. Link Garmin directly as well and the new days arrive on their own.
Found this useful? Share it.