Documentation Telegram alerts
Telegram is CronAlive's primary alert channel: direct messages
and group chats, linked via a one-time link — no phone number
shared.
Connecting a direct chat
-
In the dashboard open Integrations → New integration,
pick the Telegram channel and save. The integration card shows
a one-time link like
https://t.me/<bot>?start=<code>
(the same works via the
API: POST /api/v1/integrations).
- Open the link and press Start — Telegram sends the code to the bot for you.
-
The bot replies with a confirmation ("Done! Alerts of the …
integration will arrive in this chat") in the account owner's
language — the integration is now enabled.
[ screenshot: bot chat — the Start button and the link confirmation ]
Connecting a group
An unlinked integration shows two options in the dashboard:
"Direct messages" and "A group chat". For a group the dashboard
displays a ready-made command with a copy button —
nothing to construct by hand.
- Add the bot to the group (step 1 of the "A group chat" block).
-
Copy the command from the dashboard and send it in the group.
Command format:
/start@<bot-name> <link-code>
-
The bot confirms the link in the group, and the integration
card shows "Linked: group name".
The code is one-time: it is invalidated after a successful link.
To connect another chat, create a new integration.
[ screenshot: the linking block — "Direct messages" and "A group chat" options with the ready-made command ]
What alerts arrive
Messages are plain text: a status headline plus details — check name, project, time in your timezone and the reason.
- 🔴 down — the check went down: a ping missed its window, the job reported a failure or returned a non-zero exit code.
- 🟢 up — the check is up again.
- 🟡 late — a ping is late, the grace period is running (not down yet).
- 🔴 reminders — while a check stays down, repeat messages arrive at the configured intervals (e.g. 1, 3 and 24 hours); each interval fires once per incident.
- ⚠ SSL — for HTTPS checks: the certificate expires in N days (7/14/30 threshold set on the check; at most once a day).
Per-integration settings:
- events — any subset of down / up / late;
- tags — alerts only for checks with these tags (empty = all project checks);
- quiet hours — a window (with its own timezone, may cross midnight) during which delivery is postponed until the window ends, never dropped;
- reminders — a list of intervals in hours (1–168) for unresolved downs.
The alert language matches the account owner's language. Delivery
retries 3 times (10 s → 1 min → 5 min); if Telegram stays
unreachable, the alert is duplicated to the account owner's email.
[ screenshot: bot messages — down, up and a reminder ]
If the bot stays silent
- The integration is not linked. Until the code reaches the
bot, the integration stays disabled (the "not linked" badge on
its card). Open the delivery journal — the Journal button
on the integrations page: the error "not linked (no chat_id)"
means linking never finished.
- The bot can't see the command in a group. The bot must be
a group member; with privacy mode enabled (a BotFather setting)
it only sees commands — send
/start <code>, not the code
as a separate message.
- The code wasn't recognized. The command and the code must
be one message:
/start abc…. Use the
code from the link; it no longer works after a successful link.
- Event subscription. If the integration only subscribes to
down, up messages won't arrive; also check the tag filter.
- Quiet hours. Journal shows pending and the alert seems
delayed — delivery is postponed until the quiet window ends.
- Status suppressed in the journal. The service detected an
outage of its own workers and temporarily suppressed down alerts
to avoid false alarms; up alerts keep flowing.
- The bot was removed from the group / the chat changed.
Deliveries will fail (visible in the journal with the Telegram
API error) — create a new integration and link the chat again.