Apple Shortcuts
Built-inFire a Tempo event from any Apple Shortcut. Mail rules, Focus changes, geofences: anything Shortcuts can trigger lands on your timeline.
A score is a small declarative file that teaches Tempo how to read events from one source: which fields mean what, how to set severity, how to group, and which one-click actions to attach. Drop one in, and the source is wired up. Why we call them scores →
Every score here ships built into Tempo — there's nothing to download. They're seeded into ~/Library/Application Support/Tempo/Scores/ on first launch; you enable the ones you want from Manage Sources (only the generic Scripts source auto-installs). Apple Calendar and Reminders are sources too, surfaced via the EventKit integration.
The tempo-scores repository on GitHub is a second source, not the primary one. Use it to re-install a score you removed (removing a built-in score also drops it from the bundled set — the repo is the safety net) and to read the open-source helper code. You never need it for a fresh install.
Score enabled but nothing lands in the feed? Nine times out of ten it's networking — see Troubleshooting.
Fire a Tempo event from any Apple Shortcut. Mail rules, Focus changes, geofences: anything Shortcuts can trigger lands on your timeline.
Get Beszel alerts on your Mac. CPU, memory, disk, and temperature thresholds land on your timeline, so a struggling host surfaces at a glance.
Put your Fastmail (CalDAV) calendar on your Mac timeline, next to your homelab events. Experimental.
Send GitHub Actions results to your Mac. Every workflow run lands on your timeline as pass or fail, with a one-click action to open the run.
Watch your Hazel rules on your Mac. Each file Hazel moves, renames, or sorts lands on your Tempo timeline, so your automations are visible, not silent.
Send Home Assistant events to your Mac. Point an HA automation or webhook at Tempo, and devices, sensors, and alerts land on one live timeline with one-click actions.
Send Jellyfin events to your Mac. Playback, library scans, and server status land on one timeline with a one-click action to open the dashboard.
Send Jellyseerr events to your Mac. New requests and approvals land on one timeline with a one-click action to open the request.
See your Kopia backups on your Mac. Each snapshot run lands on your timeline as success or failure, so a failed backup can't slip by unnoticed.
Send Pi-hole events to your Mac. Status and updates land on one timeline with a one-click action to open the admin console, next to the rest of your homelab.
Send Prowlarr events to your Mac. Indexer health and sync errors land on one timeline, so a dead indexer surfaces before it breaks your grabs.
Send Radarr events to your Mac. Grabs, imports, and download failures land on one timeline with a one-click action to open the queue.
Point any script or cron job at Tempo and watch its completion, exit status, and output land on your Mac timeline. The generic webhook for anything you wire up.
Send Sonarr events to your Mac. Grabs, imports, and download failures land on one timeline with a one-click action to open the queue.
Get Synology DSM alerts on your Mac. Storage, backups, and system events land on one timeline, with a one-click action to open DSM.
Bring Todoist onto your Mac timeline. Due and completed tasks land next to your homelab events: one place for everything that needs attention.
Get UniFi Network and Protect events on your Mac. Your controller's alarms land on one timeline, with one-click actions to open the controller or a camera.
Send Uptime Kuma alerts to your Mac. Kuma's built-in Webhook posts to Tempo, so every monitor becomes one live row on your timeline, with one-click host actions.
Send Vaultwarden events to your Mac. Logins, admin actions, and org changes land on one timeline, so you can watch your password vault at a glance.
Most sources reach Tempo on their own — a native webhook, a notification action, or your own script POSTing to the LAN. A handful have no way to push events out, so they use a small open-source companion helper you run next to the source. Tempo never runs it for you, and the code is open for inspection.
| Score | Helper | Why it's needed | What it sends | Code |
|---|---|---|---|---|
| Beszel | API poller | Beszel's hub exposes no outbound webhook | Triggered hub alerts | view |
| GitHub Actions | Webhook relay | GitHub posts from the public internet — the relay verifies the HMAC signature and forwards to your LAN | Workflow run results | view |
| Pi-hole | API poller | Pi-hole has no push webhook | Blocking state, reachability, updates, gravity, load | view |
| Prowlarr | Custom Script | *arr apps run a script per event instead of posting a webhook | Health & update events | view |
| Radarr | Custom Script | *arr apps run a script per event instead of posting a webhook | Grab, download, import & health events | view |
| Sonarr | Custom Script | *arr apps run a script per event instead of posting a webhook | Grab, download, import & health events | view |
| Todoist | API poller | Todoist is a cloud API, not a LAN webhook source | Due & updated tasks | view |
| Vaultwarden | Log watcher | Vaultwarden has no outbound webhook | Auth events from the log, plus /alive reachability | view |
Helper code is published with the catalog at launch. Each score's page has the full setup, and the files are reachable in-app from the score's Source tab in the Score Editor.