When automations run
An automation sends on your cadence as often as iOS lets Marrow run in the background. Marrow uses every way Apple gives an app to wake up. Apple decides the exact moment, and no app can read Apple Health while your phone is locked.
All Marrow guides: MCP · Self-hosted mirror · Automations · Files · Support
What Marrow does
- Wakes on new health data. Marrow asks Apple Health to wake it in the background when new data arrives, for every data type it syncs: steps, heart rate, sleep, workouts and the rest. A new reading from your watch or from another app can wake it.
- Keeps a background refresh booked. When Marrow goes to the background it asks iOS for a refresh about an hour later, and every refresh books the next one, so one is always waiting.
- Catches up when you open it. Opening Marrow reads anything new and sends every automation that is due.
- Sends everything due on each wake. Every time it wakes, Marrow reads the new data into its own store, then sends each automation whose cadence has passed.
- Covers the gaps. With Since last run, a run sends everything since the last successful one, plus the two days before it. A run that comes late still sends every day it missed.
- Records every run. The Activity log keeps the last 30 runs with their time and result.
What Apple decides
These rules come from iOS and apply to every app that exports Apple Health data in the background. No setting in Marrow can change them.
- No fixed times. iOS does not let an app run in the background at a time it chooses. An app can ask to be woken, and iOS picks the moment based on battery, network, how often you use the app and what else the phone is doing. Your cadence is the shortest gap between runs, not a timetable. Every hour means at most once an hour.
- Nothing while locked. Apple Health data is encrypted while your phone is locked, and no app can read it until you unlock. Runs pause while the phone is locked and catch up after you next unlock it.
- Short windows. A background wake lasts seconds, often under 30. A large payload or a slow receiver may not finish in that time.
- Low Power Mode holds background refresh back until it is off.
- Background App Refresh has to be on for Marrow, or iOS skips its scheduled refreshes.
- Swiped away. After you swipe Marrow away in the app switcher, iOS may not wake it in the background until you open it again.
- Watch data comes in batches. Apple Watch passes its data to your phone every so often, not reading by reading, so new data, and the wake it triggers, can lag behind the moment it was measured.
What to expect
- Phone in use through the day: runs follow your cadence loosely. Some come on time, some later, and an hour can be skipped.
- Phone locked for hours, such as overnight: no runs, then a run after you unlock that sends everything since.
- An hourly cadence will not give exactly 24 runs a day. The gaps come from how iOS schedules apps, and the next run fills them in.
Getting the most regular runs
- Turn on Background App Refresh for Marrow: Settings, General, Background App Refresh.
- Keep Low Power Mode off when runs matter.
- Leave Marrow in the app switcher instead of swiping it away.
- Choose Since last run, or a range longer than the longest gap you expect, so a late run still covers every day. Keep the latest value per metric and day on your side and the repeats are harmless.
- Keep each payload small so it finishes inside a background window: Daily totals instead of Raw samples, a shorter range, one automation per kind of data.
- Have your receiver answer right away and do its work after. Writing a receiver has the details.
- Need a run now? Open Marrow, or tap Run now on the automation.
Checking what happened
- Activity log (on the automation, under More options): the last 30 runs. A failed run shows its error, and the troubleshooting table says what each one means.
- No entry when you expected one: iOS did not wake Marrow then, or the phone was locked.
- Settings, Apple Health access, Reading from Apple Health: when Marrow last read each data type. Recent times there mean Marrow is being woken.
- Notify when run (More options): a notification for every run while you are checking.
Still seeing long gaps while your phone is in use? Write to support with a screenshot of the Activity log and the times your receiver saw, and we will look into it.