Skip to content

Shortcuts & Automation

Courier exposes four actions to the Shortcuts app. They run in-process — same data, same subscribers, same ledger as the app itself.

Prerequisite

The annotation/audio actions dispatch to a note subscriber — configure one first (Desk → Subscribers, kind = Annotation).

Actions

Annotate

Annotate(text?, subscriber?) → outcome

Sends a text annotation. Without parameters it prompts for input; pass a subscriber name to route it when you have several note endpoints.

Example: a "Journal it" shortcut on the Action button — one press, dictate via Siri, done.

Dispatch Now

Dispatch Now(range?) → count of dispatched items

Runs the same pipeline as opening the app: reads new health data, dispatches to all auto-dispatch subscribers, returns how many records went out. Optional date range for backfills.

Example: a morning automation at 08:00 — by the time you sit down with coffee, last night's sleep is already in your notes.

Read Data

Read Data(date, kind) → JSON

Returns the canonical JSON for a day's workouts or sleep without dispatching anything — build your own charts, feed another app, or archive to Files.

Audio Thought

Audio Thought(audio) → outcome

Takes an audio file, transcribes it (using your configured transcription method) and dispatches the text as an annotation.

Example: record a voice memo on Apple Watch, share it to this shortcut.

Notes

  • Actions return proper Shortcuts output values, so you can chain them (e.g. Read DataGet Dictionary Value → notification).
  • Dispatch results from Shortcuts appear in the same dispatch history and respect the same idempotency keys — automations can't create duplicates.

Printed at home · © 2026 Xheldon