When you need this
A “done” message from your script is useful, but its absence is easy to miss in a chat. Tickwatch watches the deadline and sends an alert when a result is missing, a job fails or service recovers. Your job script does not need a Telegram bot token.
How to connect
- 1
Create a Telegram channel in notification settings and complete the connection through the Tickwatch bot.
- 2
Assign the verified channel to your monitor and check its quiet-hours settings.
- 3
Install the wrapper and trigger a failure in a test job. After a successful run, check the recovery message.
Ready-to-use example
Install Bash, curl and uuidgen on the job server. Save the code as /opt/tickwatch-run.sh, replace the ping URL with your own and use the absolute path to your job. Keep the ping key private. The wrapper preserves the job exit code; a failed monitoring request does not interrupt it.
#!/usr/bin/env bash
# Save as tickwatch-run.sh; run: bash tickwatch-run.sh /path/to/job.sh
if [ "$#" -eq 0 ]; then echo "Usage: $0 command [args...]" >&2; exit 2; fi
PING='https://ping.tickwatch.dev/YOUR_PING_KEY'
RID=$(uuidgen) || exit 1
ping() {
curl -fsS --connect-timeout 3 --max-time 5 --retry 2 --retry-max-time 12 \
-X POST "$PING/$1?rid=$RID" >/dev/null 2>&1 || true
}
finish() {
code=$?
trap - EXIT
if [ "$code" -eq 0 ]; then ping ""; else ping fail; fi
exit "$code"
}
trap finish EXIT
trap 'exit 130' INT
trap 'exit 143' TERM
ping start
"$@"0 3 * * * /usr/bin/bash /opt/tickwatch-run.sh /usr/local/bin/job.shCheck before going live
Check both test-message delivery and that the channel is assigned to the right monitor.
Quiet hours skip notifications to that channel rather than queueing them for morning. The incident remains in the dashboard.
For critical jobs, add email as another channel. Delivery also depends on the external service being available.
Common questions
Are Telegram alerts available on Free?
Yes. Telegram and email are included in Free. Monitor and history-retention limits depend on the plan.
Do I need to build a bot?
No. Connect the channel through the Tickwatch bot. The job only needs its own ping URL.