Skip to content

Getting Started

From install to your first successful dispatch in about ten minutes.

1. Install and grant Health access

On first launch Courier asks for read-only access to workouts and sleep. Grant the categories you want it to see.

iOS hides the answer

Apple does not let apps query whether read access was granted or denied — a denial just looks like "no data". If Courier stays on Awaiting print, check Health app → your profile → Privacy → Apps → Courier and make sure the categories are enabled. Courier's Desk → Data Source page links there directly.

2. Browse today's issue

The Today tab shows the current issue: last night's sleep (stages, duration, score, vitals) and yesterday's workouts (map, heart rate, pace, elevation). If your iPhone just synced from an Apple Watch, pull to refresh.

3. Add your first subscriber

A subscriber is an endpoint that receives your data. For a first test you don't need a server:

  1. Open webhook.site on any computer and copy your unique URL.
  2. In Courier: Desk → Subscribers → Add.
  3. Name it (say, Test), paste the URL, keep method POST.
  4. Choose the kind of data this subscriber receives: Workout, Sleep, Annotation or Weather. Pick Workout or Sleep — whichever you have data for.
  5. Save. Auth can stay None for webhook.site.

One subscriber receives exactly one kind of data. To send workouts and sleep, add two subscribers (they can share the same URL).

4. Dispatch something

Use the Test button in the subscriber editor to send a sample immediately — the HTTP response is shown in-app. Then check webhook.site: the canonical JSON record is there. That JSON shape is documented in JavaScript Transform — it is exactly what your server receives when no transform script is set.

For real data, open Desk → Batch Dispatch, pick a date range and dispatch manually — or just wait: with auto dispatch enabled (the default), the next workout or night of sleep is delivered on its own.

5. Let it run

  • Background delivery: when Apple Health receives new data, iOS wakes Courier briefly and it dispatches automatically. Timing is throttled by the system — minutes to about an hour, worst case the next time you open the app. This is an iOS constraint, and Courier is honest about it.
  • Notifications: Desk → Notifications lets you choose always notify or failures only.
  • Failures: anything that can't be delivered lands in needs attention with a reason, waiting for a manual retry — nothing is silently dropped, and nothing is retried behind your back.

6. Optional niceties

Printed at home · © 2026 Xheldon