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?) → outcomeSends 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 itemsRuns 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) → JSONReturns 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) → outcomeTakes 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 Data→ Get Dictionary Value → notification). - Dispatch results from Shortcuts appear in the same dispatch history and respect the same idempotency keys — automations can't create duplicates.