Slack¶
Vesana sends alerts to Slack through an incoming webhook. No Slack app with a callback is needed — the messages are notifications only; acknowledging happens in Vesana.
Setup¶
1. Create a Slack app¶
api.slack.com/apps → Create New App → From scratch, e.g. "Vesana Alerts".
2. Enable incoming webhooks¶
In the app → Incoming Webhooks → switch on "Activate Incoming Webhooks".
3. Generate the webhook URL¶
Add New Webhook to Workspace → pick a channel → Allow. Slack shows a URL like https://hooks.slack.com/services/T…/B…/….
4. Store it in Vesana¶
Alerting → Channels → New Channel → type Slack:
| Field | Value |
|---|---|
| Name | e.g. "Slack #alerts" (required) |
| Tenant | only selectable when creating |
| Webhook URL | from step 3 (required; must start with https://hooks.slack.com/) |
| Channel Override | optional, e.g. #alerts |
| Bot Name | display name (default Vesana) |
| Bot Icon | emoji (default :warning:) |
Then Send test on the channel row. Which statuses and whether recoveries go through the channel is set in the alert rule, not on the channel.
Format¶
A Block Kit message:
- header with status emoji (🔴 CRITICAL, 🟡 WARNING, 🟠 NO_DATA, ⚪ UNKNOWN, ✅ OK) and the headline
- below it the check message
- facts in two columns: host (with IP), check, status, since when, duration, tenant
- the list of suppressed dependent devices, if any
- an Open in Vesana button (link to the check)
Slack's mobile notification shows the headline and the message.
🔴 Alert: Disk /var on web01.acme.local is CRITICAL
Disk usage 96.4%
Host web01.acme.local (10.0.0.12) Check Disk /var
Status WARNING → CRITICAL Since 2026-10-29 20:13 CET (12 min ago)
Tenant Acme
[Open in Vesana]
If grouping is enabled in the alert rule, a combined message arrives ("Alert: 3 problems on web01") with one line per check.
Device and check texts are escaped for Slack; a device name cannot smuggle a clickable link into the message.
Multiple channels¶
Create one channel per Slack target (or reuse one webhook with a channel override) and pick the matching channel per level in the alert rules — e.g. CRITICAL to #alerts-critical, WARNING to #alerts-warn.
Next¶
- Notification channels
- Teams — similar setup