A notification when a cron job or a script finishes or fails
One line at the end of the job. Plain text becomes the title; JSON sets the priority, a link and a few fields. Failures go high, repeats become one card.
1 · Get a key
Sign in at youlmk.com or in the app, create a source of type script (name it after the job, backup.sh), and copy its key. One source per job is the idea: each gets its own Reach, its own quiet-hours rule and its own history. See Your first source.
2 · At the end of the job
Finished and failed, in one cron line, with the failure at high priority so it pins to the top of the inbox for an hour:
A body that starts with { is read as JSON, so no content-type header is needed. Add a line of context and a link to the log:
In a shell script, the exit code decides:
Tools that can only make a GET use the same key with query parameters: youlmk.com/k/k_7hq2nk3f9qd8w4?title=backup%20finished&priority=low.
3 · Make it quiet where it should be
low never sounds and groups, for the routine "finished". high pins for an hour, for a failure. critical can break through quiet hours if the source's switch and the global one are on.Every rule is set once on the source, in the app or on the web, and the script never changes. Details in Reach, Quiet hours and Grouping.
If the job never ran
A job that dies before its last line sends nothing. For those, a schedule watch reminds you at the time the job should have finished ("remind me at 04:30 to check the backup"), and an endpoint watch can check a page the job writes ("tell me when example.com/backups/latest stops returning 200").
Idempotency-Key header and a retried request within 24 hours answers with the first result, so a flaky network never doubles a notification. The limits are 60 sends a minute per key and 8 KB a body; the codes are in the HTTP API.Next
When an endpoint goes down: A notification when an endpoint stops returning 200, checked every minute, from one sentence. No agent to install, nothing to host. · HTTP API · Payload reference · Reach