Skip to content

Syncing NOOP to Apple Health and Health Connect

NoopApp edited this page Jun 19, 2026 · 1 revision

Syncing NOOP to Apple Health and Health Connect

This page explains how to get your strap data out of NOOP and into Apple Health (so apps like Bevel can read it) and how the Health Connect side works on Android — plus how to pull phone/health data back into NOOP for backfill.

The short version: on iOS, the supported path is Shortcuts Export (a tiny file + a Siri Shortcut that logs it into Health). On Android, NOOP reads and writes Health Connect directly. On macOS there is no Apple Health at all — the Mac is import-only.

First, the honest part. A sideloaded iOS build (free Apple ID via AltStore/SideStore) cannot write to Apple Health directly, and we can't ship an App-Store-signed build either. The Shortcuts Export path below exists precisely to work around that — it needs no Apple entitlement at all.


Why the sideloaded iOS app can't write to Apple Health directly

Talking to Apple Health (HealthKit) requires the com.apple.developer.healthkit entitlement. That entitlement is only granted by:

  • an App Store build, or
  • a build you sign yourself in Xcode with your own Apple Developer account.

NOOP is an anonymous project, so there is no App Store listing and the pre-built .ipa is unsigned — your sideloader (AltStore / SideStore / Sideloadly) re-signs it on-device with your free Apple ID. A free re-sign strips the HealthKit capability. The result:

  • The HealthKit framework is still linked, so the app looks like it should work…
  • …but requestAuthorization is a dead end, no permission sheet appears, and NOOP never shows up under Settings › Health › Data Access & Devices.

NOOP detects this case and, instead of giving you impossible Settings instructions, points you at the two honest paths below: Shortcuts Export (out → Health) and a Health export .zip import (in → NOOP).

Building from source? If you build NOOP in Xcode with your own Apple ID (free or paid), or ever install an App-Store-signed build, the entitlement is present and the app reads and writes Apple Health directly — no Shortcut needed. See Installation for the build-from-source route. Everything below is for the common sideloaded case.


iOS: Shortcuts Export (strap data → Apple Health)

This is a small text file that NOOP keeps up to date, plus a one-time Siri Shortcut that logs that file into Apple Health. No entitlement required, so it works on a plain sideloaded install.

What flows out

When enabled, NOOP writes one line per 15-minute window, read straight from your strap (not from any imported source — so logged values never round-trip back in):

  • Heart rate — the mean bpm over the window
  • HRV — RMSSD over the window's R-R intervals
  • Steps — for straps that report a step counter

Each line is HR,HRV,Steps,yyyy-MM-dd HH:mm in your device's local time. Empty fields keep their commas, so a window with only HR still lines up. NOOP only ever exports windows that have at least one value, and it covers up to the last 7 days of strap data.

Step 1 — Turn on Shortcuts Export in NOOP

  1. Open NOOP and go to the menu/settings list.
  2. Under the Data section, tap Shortcuts Export.
  3. Turn on "Export for Shortcuts (Apple Health)". (It's off by default — every automation in NOOP is opt-in.)

From now on, NOOP rewrites the export file every time you leave the app (background it). There's nothing to tap each time — just open and close NOOP normally and the file stays fresh.

Step 2 — Find the file

The file lives at:

On My iPhone › NOOP › noop_sync.txt

You can browse to it in the Files app to confirm it exists. You don't need to open it — the Shortcut reads it for you.

Step 3 — Add the Siri Shortcut

The pre-built Shortcut reads noop_sync.txt and logs each row into Apple Health. Get it (and the latest setup notes) from:

Add the Shortcut to your Shortcuts app, then run it once. It will ask for permission to write Heart Rate, HRV, and Steps to Apple Health — allow it. After that:

  • Run it manually whenever you want to push the latest file, or
  • Automate it — in the Shortcuts app, add an Automation (e.g. "When I close NOOP" / on a schedule) that runs the Shortcut, so logging happens hands-free.

Why a fresh file each time? The Shortcut has no de-duplication, so NOOP writes only the new windows since the last successful export and truncates the file the rest of the time. That keeps Apple Health from getting the same readings logged twice. The trade-off: if a window is written but the Shortcut never runs before the next export, those rows are skipped. To re-emit the full 7-day window (e.g. after you rebuild the Shortcut or clear its Health entries), toggle Shortcuts Export off and on again.

Once it's in Apple Health

The readings appear in Apple Health under Heart Rate, Heart Rate Variability, and Steps, attributed to the Shortcut. From there, any app that reads Apple Health — Bevel, Gentler Streak, Athlytic, etc. — can pick them up. NOOP doesn't talk to those apps; Apple Health is the shared hub.


iOS & macOS: importing health data into NOOP (backfill)

This is the other direction — getting your existing history into NOOP. It works on both iOS and macOS, sideloaded or not, because it reads a static file (no entitlement needed).

  1. Export your data from the Health app: Profile → Export All Health Data. You get an export.zip (sometimes export.xml).
  2. In NOOP, open Data Sources and choose the Apple Health card → Choose export.zip….
  3. Select the file. NOOP streams and de-duplicates it on-device.

What comes in: heart rate, HRV, sleep stages, blood oxygen, respiratory rate, body temperature, steps, active/basal energy, VO₂ Max, weight and body composition, and third-party workouts. Recovery and strain are not in an Apple Health export (those are WHOOP-specific), so they won't appear from this import. Full walkthrough: Tutorial Importing Your History.

macOS is import-only. The Mac has no HealthKit, so there is no live two-way sync and no Shortcuts Export on macOS — it consumes an Apple Health export .zip one way and that's it.


Android: Health Connect

On Android there's no entitlement wall — NOOP reads and (optionally) writes Health Connect directly. Health Connect is Android's shared health hub that Google Fit, Samsung Health, Fitbit, Oura and others read and write.

Reading from Health Connect (into NOOP)

  1. Make sure Health Connect is installed (it's built into newer Android; otherwise install it from Google Play — NOOP will tell you if it's missing).
  2. In NOOP, open Data Sources → the Health Connect card → Import from Health Connect.
  3. Grant read permission for steps, heart rate, HRV, sleep, SpO₂, weight and workouts.

NOOP pulls that data in and stores a local copy. It never overwrites richer strap data with it. There's also an optional auto-sync toggle (off by default) that re-pulls new Health Connect data — e.g. Samsung Health → Health Connect → NOOP — when you open the app, if it's been a while.

Phone steps for step calibration

This is a quiet but important one. A WHOOP 4.0 doesn't send a step count over Bluetooth, so NOOP estimates your steps from the strap's daily motion volume — and it calibrates that estimate against your phone's real step count, which it reads from Health Connect.

So on the days your phone also counted steps, NOOP learns how your strap's motion maps to actual steps and tightens the estimate. Connecting Health Connect (so your phone's steps are visible to NOOP) is what makes the WHOOP 4.0 step estimate accurate. You can review the fit and override it under Settings → Profile → Steps estimate.

Writing back to Health Connect (NOOP → other apps)

If you want NOOP's computed scores in Health Connect for other apps to read, open the Health Connect card and turn on "Share back to Health Connect" (off by default). NOOP then writes its computed resting HR, HRV, SpO₂ and respiratory rate into Health Connect. Leave it off unless you specifically want other apps to see NOOP's numbers.

Android can also import an Apple Health .zip. If you moved an export.zip / export.xml from an iPhone onto your Android phone, the Apple Health card in Data Sources will ingest it just like macOS does.


What does not sync (and why)

  • WHOOP-style recovery / strain / sleep scores are not in any Apple Health or Health Connect export — they're WHOOP-proprietary. NOOP computes its own versions locally; on iOS (entitled builds) and Android you can optionally write those computed metrics back out.
  • A blood-oxygen percentage and the deep on-device WHOOP 5/MG scores are not derivable yet — the WHOOP 5/MG encrypts that data on the band. Live HR and history work on the 5/MG, but there's no SpO₂ percentage or on-device recovery/strain/sleep score to export from it. See WHOOP 5 and MG Support for the full picture.
  • Nothing leaves your device automatically. Every path here is opt-in and local — the file/Shortcut route, the imports, and the write-backs are all on-device. NOOP has no servers and no cloud sync.

Still stuck?

  • Confirm the file exists at On My iPhone › NOOP › noop_sync.txt in the Files app — if it's empty, leave the app and reopen it to trigger a write, and check Shortcuts Export is on.
  • If Apple Health shows nothing after running the Shortcut, make sure you granted it write permission for Heart Rate, HRV and Steps in the Shortcuts app's permission prompt.
  • For the WHOOP 4.0 step estimate, make sure Health Connect is connected so NOOP can see your phone's real steps.

If it still won't behave, open an Issue at https://noop.fans/NoopApp/noop and attach a strap log (see Troubleshooting for how to capture one) plus your platform and how you installed NOOP (sideloaded vs built-from-source). That tells us instantly whether it's the entitlement wall or something fixable.


See also

Clone this wiki locally