Microsoft Teams¶
Setup¶
1. Create webhook in Teams channel¶
Teams → channel → … (More) → Connectors → Configure Incoming Webhook.
Name: „Vesana Alerts". Optional: upload icon.
Create returns a webhook URL like https://outlook.office.com/webhook/....
2. Configure in Vesana¶
/notification-channels → New channel → type Teams:
| Field | Value |
|---|---|
| Name | „Teams #monitoring" |
| Webhook URL | from step 1 |
| Severity filter | as usual |
| Recovery notifications | as usual |
Format¶
Adaptive Card with:
- Severity color (theme: Attention / Warning / Good)
- Host + service as title
- Plugin output as body
- Action buttons („Open host")
┌─ Adaptive Card ────────────────────────┐
│ 🔴 CRITICAL │
│ web01.acme.local — Disk /var │
│ │
│ Disk usage 96.4% (Threshold 95%) │
│ │
│ Tenant: Acme · Profile: Linux Web │
│ │
│ [Open host] │
└────────────────────────────────────────┘
Interactive actions¶
Teams adaptive cards can have buttons with Action.Http — Ack from Teams could work this way. Currently not implemented (different auth headers than Slack), on the roadmap.
Workaround: Open host leads to the service detail page where ACK is one click away.
Throttle¶
Teams webhooks have rate limits (~1 req/s per channel). Alert storms can hit 429 — Vesana retries with backoff. If needed:
- Throttle per channel in Vesana to 2 s
- Enable grouping in alert rules
Multiple tenants¶
For MSP setups: a channel per customer tenant. In the channel modal: filter tenant → only alerts of this tenant go to the channel.
Next¶
- Notification channels
- Slack — analogous setup