Skip to main content

Alerts & Notifications

Sentro's alerting system has two parts: channels (where to send notifications) and rules (when to send them). For advanced on-call scenarios, escalation policies let you define ordered notification sequences.

Alert channels​

A channel is a destination for notifications. You configure the channel once, then attach it to one or more alert rules.

Supported channels​

ChannelConfigurationPlan
EmailList of recipient email addresses.All plans
WebhookURL and optional signing secret.All plans
SlackIncoming webhook URL.All plans
DiscordDiscord channel webhook URL.Starter+
Microsoft TeamsTeams incoming webhook URL.Pro+
TelegramBot token and chat ID.Pro+
Google ChatGoogle Chat space webhook URL.Pro+
MattermostMattermost incoming webhook URL.Pro+
PagerDutyEvents API v2 integration key.Max
OpsGenieOpsGenie API key.Max

Channel credentials are encrypted at rest (AES-256-GCM) and are never exposed in API responses.


Setting up a Slack channel​

Slack notifications use Incoming Webhooks — no OAuth app install is required.

Step 1 — Create an Incoming Webhook in Slack

  1. Go to api.slack.com/apps and click Create New App → From scratch.
  2. Give the app a name (e.g. "Sentro Alerts") and select your workspace.
  3. In the left sidebar, click Incoming Webhooks, then toggle Activate Incoming Webhooks on.
  4. Click Add New Webhook to Workspace, choose the channel to post to (e.g. #alerts), and click Allow.
  5. Copy the webhook URL — it looks like https://hooks.slack.com/services/T.../B.../....

Step 2 — Add the channel in Sentro

  1. Open Alerts in the dashboard and click Add Channel.
  2. Set Type to Slack and give it a name (e.g. "Ops Slack").
  3. Paste the webhook URL and click Create Channel.

Step 3 — Attach an alert rule

Create a rule that targets your new Slack channel. Set the trigger (DOWN, UP, etc.), optionally scope it to a specific monitor, and configure consecutive failures and cooldown to your preference.

Sentro posts a color-coded Block Kit message to the channel on each alert, including the monitor name, status, timestamps, duration, and failure cause.


Setting up Discord​

Discord uses the same Incoming Webhooks mechanism as Slack. In Discord, go to Channel Settings → Integrations → Create Webhook, copy the URL, and add a Discord channel in Sentro using that URL. Alerts appear as rich embeds with color-coded status.


Setting up Microsoft Teams​

  1. In your Teams channel, click ⋯ → Connectors → Incoming Webhook.
  2. Give it a name, optionally upload an icon, and click Create.
  3. Copy the webhook URL and add a Teams channel in Sentro.

Alerts appear as MessageCard notifications in the channel.


Setting up Telegram​

  1. Create a bot via @BotFather — run /newbot and follow the prompts. Copy the bot token.
  2. Add the bot to your group or channel, then get the chat ID (you can use @userinfobot or the Telegram API).
  3. Add a Telegram channel in Sentro, entering the bot token and chat ID.

Setting up PagerDuty​

  1. In PagerDuty, go to Services → Add Service (or select an existing one) → Integrations → Add an Integration → choose Events API v2.
  2. Copy the Integration Key.
  3. Add a PagerDuty channel in Sentro with that key.

Sentro automatically triggers a PagerDuty incident on DOWN/DEGRADED and resolves it on UP using the monitor ID as the deduplication key — no duplicate incidents.


Setting up OpsGenie​

  1. In OpsGenie, go to Settings → API key management and create a key with Write access.
  2. Add an OpsGenie channel in Sentro with the API key.

Sentro creates a P1 alert on DOWN and automatically closes it on UP.


Alert rules​

An alert rule connects a trigger condition to a channel. When the condition is met, a notification is sent through the channel.

Trigger types​

TriggerFires when
DOWNA monitor check fails.
UPA monitor recovers after being down.
DEGRADEDResponse time exceeds the monitor's degraded threshold.
SSL_EXPIRINGAn SSL certificate is expiring within the configured window.
DOMAIN_EXPIRINGA domain registration is expiring soon.
HEARTBEAT_MISSEDA heartbeat monitor has not received a ping within its expected interval.

Rule configuration​

Alert rules decide who is told and when. Whether something counts as an outage at all is decided first, by the monitor's confirmations setting -- so a rule set to fire after one failure fires as soon as the outage is confirmed, not on an isolated failed check.

SettingDescriptionDefault
ChannelWhich alert channel to notify.Required
TriggerWhich condition fires this rule.Required
MonitorScope the rule to a specific monitor, or leave empty for all monitors in the organization.All monitors
Consecutive failuresHow many checks in a row must have failed before this channel is told. Lets one channel be notified straight away and another only once an outage has proved itself.1
CooldownMinutes to wait between repeat notifications for the same condition.5 minutes
EnabledToggle the rule on or off without deleting it.Enabled

Common setups​

Basic alerting: Create a DOWN rule and a UP rule on the same email channel. You get notified when things break and when they recover.

Escalation: Create a DOWN rule on Slack with consecutive failures set to 1 (fires as soon as the outage is confirmed). Create another DOWN rule on a webhook channel with consecutive failures set to 5 (fires only if the outage is still going several checks later). Each channel is told at most once per incident.

SSL monitoring: Create an SSL_EXPIRING rule with a long cooldown (1440 minutes = once per day) to get a daily reminder as certificate expiry approaches.

Catch-all rule: Leave the monitor field empty to create an organization-wide rule. Every monitor triggers alerts through this channel. Useful for a shared ops Slack channel.


Alert history​

The dashboard shows a log of all dispatched alerts with:

  • Status -- Whether the alert was sent successfully, failed, or was skipped (e.g., during cooldown).
  • Channel -- Which channel the alert was sent through.
  • Timestamp -- When the alert was dispatched.
  • Error details -- If a delivery failed, the reason is captured.

Escalation policies​

note

Escalation policies are available on Pro and Max plans.

An escalation policy defines an ordered sequence of notification steps that fire automatically when an incident opens on a monitor that uses the policy.

How it works​

StepBehavior
Step 0Fires immediately when the incident is created.
Step 1, 2, …Fires after the configured delay (minutes) if the incident is still open.
ResolutionAll pending steps are cancelled when the incident resolves.

Each step can target multiple channels. For example:

  • Step 0 (0 min): Slack #incidents
  • Step 1 (5 min): Email to on-call
  • Step 2 (15 min): PagerDuty

Creating a policy​

  1. Go to Settings → Escalation Policies and click New Policy.
  2. Give the policy a name (e.g. "Production On-Call").
  3. Add steps. For each step, set the delay (Step 0 is always 0 minutes) and pick the channels to notify.
  4. Save the policy.

Linking a policy to a monitor​

Open the monitor's settings and select the escalation policy from the Escalation Policy dropdown. When the policy is active, alert rules attached to the monitor are bypassed in favour of the policy sequence.


Circuit breaker​

Sentro uses a circuit breaker pattern for alert delivery. If a channel fails 5 times in a row, it is temporarily disabled (circuit open) for 60 seconds. After the cooldown, a single test delivery is attempted (half-open). If it succeeds, the circuit closes and normal delivery resumes. This prevents a broken channel from slowing down alerts to other channels.